問題:設(shè)置了環(huán)境貼圖,加載模型案训,發(fā)現(xiàn)模型是黑色的。
理想加載出模型形狀
image.png
實(shí)際加載出模型形狀
image.png
我們可以通過如下步驟去檢測
1.使用Three.js提供的 editor打開模型文件
image.png
2. 使用editor加載模型文件
image.png
3. 查看模型有差異顏色的材料粪糙,發(fā)現(xiàn)emissive是黑色强霎,map無。
image.png
4. 使用3D軟件或windows電腦自帶的 畫圖3D對模型文件進(jìn)行格式重新導(dǎo)出蓉冈,可以直接導(dǎo)出城舞,不做修改轩触。
image.png
image.png
5. 使用EDITOR打開新的模型
image.png
6. 場景增加環(huán)境光
image.png
7. 設(shè)置環(huán)境光顏色
image.png
8. 這樣的模型顯示就是我們需要的顏色。新模型材料的屬性與老模型材料的屬性存在差異家夺。
image.png
9. 模型在EDITOR中能正確顯示了脱柱,但在代碼中加載模型還需要如下設(shè)置
gltfLoader.load("./model/cityScene3.glb", (glb: any) => {
glb.scene.traverse(function (child: any) {
if (child.isMesh) {
// 寫法1
child.material.emissive = child.material.color;
child.material.emissiveMap = child.material.map ;
// 寫法2
// child.material = new THREE.MeshStandardMaterial({
// emissive: child.material.color,
// emissiveMap: child.material.map,
// });
}
});
scene.add(glb.scene)
})
參考資料
https://blog.csdn.net/u014291990/article/details/91461333/