三维模型
小于 1 分钟
三维模型
1. 加载三维模型
- 引入加载器
- 实例化加载器对象
- 加载模型
// 引入glb加载器
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'
// 实例化一个加载器
const loader = new GLTFLoader();
// 加载三维模型
let mesh = null
loader.load('./models/工厂.glb', (gltf) => {
console.log('gltf:', gltf);
mesh = gltf.scene;
scene.add(mesh);
})
2. 递归遍历层级模型
// 加载三维模型
let mesh = null
loader.load('./models/工厂.glb', (gltf) => { // 记载的三维模型一般是MeshStandardMaterial或者MeshPhysicalMaterial材质
mesh = gltf.scene
scene.add(mesh)
// 递归遍历模型对象
mesh.traverse((node) => {
// 判断当前子元素是否为网格模型
if (node.isMesh) {
// 设置网格模型材质
node.material = new THREE.MeshLambertMaterial({
color: 0xffffff,
transparent: true,
opacity: 0.5
})
}
})
})
Loading...
