0
はここに私の問題だ:私はThree.jsでOBJメッシュの子供に特定の材料を適用したいはメッシュTHREE.OBJの特定の子にマテリアルを適用
。
しかし材料は子供のものではなく親のメッシュに適用されているようです...私はさまざまなことを試みましたが、最後に適用された材料が親に設定されるたびに...間違っていますか?たぶん私は正しい方法、アイデアを使用しないでしょうか?
/* material */
material = new THREE.MeshLambertMaterial({
color: 0x9B9B9B,
emissive: 0x050505,
emissiveIntensity: 0.1
});
firstChildMaterial = new THREE.MeshLambertMaterial({
color: 0x9693057,
emissive: 0x050505,
emissiveIntensity: 0.1
});
/* Model */
loader = function (url) {
scene.remove(object);
var objLoader = new THREE.OBJLoader();
objLoader.load(url, function (obj) {
object = obj;
object.traverse(function (child) {
if (child instanceof THREE.Mesh) {
child.material = material;
// How can I apply firstChildMaterial to the first child ?…
}
});
scene.add(object);
});
};
最終メッシュのスクリーンショットは、子供
であるが助けてくれてありがとう! :-)
おかげで多くのことを、私は今、これをしようとします! :-D –
それは完璧に動作します!どうもありがとうございました ! –
'String.includes'メソッドはかなり新しく、すべてのブラウザで利用できるとは限りません。 '(obj.name.indexOf( 'mesh 1')!== -1)'はおそらく読みにくいが、よりよくサポートされている。 –