簡體   English   中英

如何使用帶有THREE.js的javascript(無框/立方體幾何)構造3D立方體?

[英]How to construct a 3D cube using javascript with THREE.js (without box/cube geometry)?

這就是我所擁有的。 多維數據集的幾何。 我搞砸了進入的面孔。 我的項目是JSFiddle上的Bizzare牆 還有什么是執行輪換的好方法? 我在項目中使用的是由於旋轉而使牆破裂。 感謝您的幫助。

function initGeom(){
/**TODO: optimize, to keep it simple in my mind I 
pictured divided the cube into six squares but
I duplicated some of the vertices.
*/

var cubeGeom = new THREE.Geometry();
var verts = [//front
            new THREE.Vector3(0,0,0),//0
            new THREE.Vector3(cubeSize,0,0),//1
            new THREE.Vector3(cubeSize,cubeSize,0),//2
            new THREE.Vector3(0,cubeSize,0),//3
            //back
            new THREE.Vector3(0,0,cubeSize),//4
            new THREE.Vector3(cubeSize,0,cubeSize),//5
            new THREE.Vector3(cubeSize,cubeSize,cubeSize),//6
            new THREE.Vector3(0,cubeSize,cubeSize)//7
            ];//15


var faces = [//===Face1===(front)WORKS!
            new THREE.Face3( 0, 3, 2),//Top Left Tri 2,3,0
            new THREE.Face3( 2, 1, 0),//Bottom Right Tri 0,1,2
            //===Face2===(right)// WORKS!
            new THREE.Face3( 5, 1, 2),//Top Left Tri 2,1,5
            new THREE.Face3( 2, 6, 5),//Bottom Right Tri 5,2,6
            //===Face5(Left)===WORKS!
            new THREE.Face3(0, 4, 7),//Top Right Tri 7,4,0
            new THREE.Face3(7, 3, 0),//Top Right Tri 0,3,7
            //===Face3===(top)//WORKS!
            new THREE.Face3( 2, 3, 7),//Top Left Tri 7, 3, 2
            new THREE.Face3( 7, 6, 2),//Bottom Right Tri 2,6,7
            //===Face 6(bottom)===(optimized) go back to
            new THREE.Face3(1, 0, 4),//Left tri 0,3,6
            new THREE.Face3(6, 4, 0),//Right tri 6,4,0
            //===Face4(back)===//some how is the front?
            new THREE.Face3(4, 5, 6),//bottomLeft Tri 6,5,4
            new THREE.Face3(6,7, 4), //Top Right Tri  4,7,6
            ];


cubeGeom.vertices = verts;
cubeGeom.faces = faces;

//scene.add(cubeMesh);
return cubeGeom;

}

有什么理由不希望使用現有的THREE.BoxGeometry嗎? 旋轉對象的最簡單方法是使用網格物體的rotateOnAxis方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM