【发布时间】:2013-10-24 10:19:58
【问题描述】:
我查看了文档以及许多示例,但无法找到将材料分配给 Collada .dae 或 OBJLoader .obj 文件的正确语法。
在创建 Mesh 并将加载器作为几何体并将材料作为设置材料时,Json 文件似乎可以正常工作。
这样的代码可以工作
var loader = new THREE.JSONLoader();
loader.load( "modelPath.js", function(geometry){
var material = new THREE.MeshLambertMaterial({color: 0x666666});
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
});
这不起作用
var loader = new THREE.ColladaLoader();
loader.load( "modelPath.dae", function(geometry){
var material = new THREE.MeshLambertMaterial({color: 0x666666});
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
});
这不起作用
var loader = new THREE.OBJLoader();
loader.load( "modelPath.obj", function(geometry){
var material = new THREE.MeshLambertMaterial({color: 0x666666});
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
});
我也在function(geometry) 中尝试了geometry.material = new THREE.MeshLambertMaterial({ color: 0xff0000});,但没有成功。
.Dae 格式似乎直接保留了来自 3D 程序(如 Cinema)的材质颜色。如何正确为这些装载机设置材料?如果这是可能的。
【问题讨论】:
标签: javascript 3d three.js