三维模型

时游小于 1 分钟

三维模型

1. 加载三维模型

  1. 引入加载器
  2. 实例化加载器对象
  3. 加载模型
// 引入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
			})
		}
	})
})
上次编辑于:
贡献者: 15327360835chenlulu
Loading...