我有以下代码片段加载Xbot.glb模型(从three.js示例中复制)。当我加载并渲染该模型时,它的颜色似乎是红色的。我的目标是仅更改材料。所以我在下面尝试了以下代码。
var loader = new GLTFLoader();
loader.load('/models/Xbot.glb', function (gltf) {
gltf.scene.scale.set(150, 150, 150);
gltf.scene.traverse(function (child) {
if (child.isMesh) {
log('Apply model material');
child.castShadow = true;
child.material = floorMaterial; // Commenting this line works. The model is red.
}
});
scene.add(gltf.scene);
地板材料:
floorMaterial = new THREE.MeshPhongMaterial({ color: 0xeeeeee, specular: 0x111111, shininess: 40 });
不幸的是,现在该模型没有出现。请注意,floorMaterial已保存,并用于将浅灰色材料应用于地板(PlaneGeometry)。
我需要做什么才能将材料应用于已加载的GLB模型。请注意,香港专业教育学院在S.O上也看到过类似的帖子。其中一些似乎与我看到的问题相同。但是所有这些解决方案似乎都不起作用。