1
我查看了文檔以及許多示例,但無法找到將材質分配給Collada .dae或OBJLoader .obj文件的正確語法。如何分配材料到ColladaLoader或OBJLoader
當創建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);
});
我也曾嘗試geometry.material = new THREE.MeshLambertMaterial({ color: 0xff0000});
內function(geometry)
沒有成功。
.Dae格式似乎直接從Cinema等3D程序中保留材質顏色。我如何正確設置這些裝載機的材料?如果這甚至是可能的。
我得到的錯誤,'類型錯誤:collada.traverse不是function' 'collada.traverse(函數(子){' – MCSharp
到網參考在我的代碼中是不正確的,你的答案是一個工作解決方案。 – MCSharp