请提供一个完整的示例,展示如何使用 Three.js 加载 GLTF 格式的 3D 模型并将其显示在场景中。
请提供一个完整的示例,展示如何使用 Three.js 加载 GLTF 格式的 3D 模型并将其显示在场景中。
要在Three.js中加载并显示一个GLTF模型,你需要使用THREE.GLTFLoader
。下面是一个完整的示例代码,展示了如何加载并显示一个GLTF模型。
首先,确保你已经包含了Three.js库和GLTFLoader库。你可以通过npm安装它们,或者直接从CDN引入。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Three.js GLTF Model Example</title>
<style>
body { margin: 0; }
canvas { display: block; }
</style>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/three@0.128.0/examples/js/loaders/GLTFLoader.js"></script>
<script>
// 创建场景、相机和渲染器
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// 添加光源
var light = new THREE.DirectionalLight(0xffffff, 1);
light.position.set(5, 5, 5).normalize();
scene.add(light);
// 创建GLTF加载器
var loader = new THREE.GLTFLoader();
// 加载GLTF模型
loader.load(
'path/to/your/model.gltf', // 这里替换为你的模型路径
function (gltf) {
scene.add(gltf.scene); // 将模型添加到场景中
},
undefined,
function (error) {
console.error(error);
}
);
// 设置相机的位置
camera.position.z = 5;
// 渲染循环
function animate() {
requestAnimationFrame(animate);
renderer.render(scene, camera);
}
animate();
// 窗口大小改变时更新渲染器和相机
window.addEventListener('resize', function () {
var width = window.innerWidth;
var height = window.innerHeight;
renderer.setSize(width, height);
camera.aspect = width / height;
camera.updateProjectionMatrix();
});
</script>
</body>
</html>
GLTFLoader
实例来加载模型。loader.load()
方法加载模型文件,并将加载的场景添加到主场景中。确保替换'path/to/your/model.gltf'
为你实际的模型文件路径。这个示例假设你的模型是GLTF格式(.gltf
或.glb
)。