在加载Collada(dae)模型时如何在THREE.js中设置材料?
我有以下代码:
new THREE.ColladaLoader().load('models/cylinder.dae',
function(collada) {
var model = collada.scene;
model.scale.set(10.0, 10.0, 10.0);
// attempt to set a material - doesn't work...
collada.dae.materials[0] = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
scene.add(model);
});
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
var loader = new THREE.ColladaLoader();
loader.options.convertUpAxis = true;
loader.load( './models/cylinder.dae',function colladaReady( collada ) {
model = collada.scene;
model_geometry = collada.scene.children[ 0 ].geometry;
model_material = collada.scene.children[ 0 ].material;
model.scale.set(10.0, 10.0, 10.0);
model.updateMatrix();
});
Run Code Online (Sandbox Code Playgroud)
如果你将model_material作为'undefined',那么看看collada对象
console.log(collada);
Run Code Online (Sandbox Code Playgroud)
有时孩子里面有孩子,所以你可能不得不这样做:
model_material = collada.scene.children[ 0 ].children[ 0 ].material;
Run Code Online (Sandbox Code Playgroud)
看看collada模型,然后相应地修改.
| 归档时间: |
|
| 查看次数: |
8558 次 |
| 最近记录: |