2017-09-25 1 views
0

上の図のように二面体の各面を分割したいと思います。誰かが私に関連する例やそれを動作させることについての任意のアイデアを指すことができます。私の二十面体の例では、各面は材料として異なるイメージテクスチャを持っていますので、私はShadermaterialを使用できません。三面図形の各面を3つの空白で区切ります.js

image

おかげ

+0

おそらくhttps://threejs.org/examples/?q=mod#webgl_modifier_tessellation – Radio

+0

おかげで、画像テクスチャ電話材タイプのテッセレーション作業は、メッシュのでしょうか? –

+0

これを手伝ってもらえますか? @WestLangley –

答えて

2

あなたは、いわゆる「三角形のスープ」にあなたのジオメトリを変換するためにExplodeModifierを使用して、あなたが望むように、頂点を翻訳することができます。

var geometry = new THREE.IcosahedronGeometry(4, 2); 

var modifier = new THREE.ExplodeModifier(); 
modifier.modify(geometry); 

var normal = new THREE.Vector3(); 

for (var i = 0, l = geometry.faces.length; i < l; i ++) { 

    var face = geometry.faces[ i ]; 

    normal.copy(face.normal).multiplyScalar(1); 

    geometry.vertices[ face.a ].add(normal); 
    geometry.vertices[ face.b ].add(normal); 
    geometry.vertices[ face.c ].add(normal); 

}; 

examples/js/modifiers/ExplodeModifier.jsをプロジェクトに明示的に含める必要があります。

three.js r.87

+0

Thansk.It worked.canあなたは基本的なものを学ぶための参考書やサイトをお勧めします。 –

+0

https://stackoverflow.com/questions/11966779/learning-webgl-and-three-js/11970687#11970687 – WestLangley