立方体面的不同几何形状

时间:2013-02-26 05:12:55

标签: three.js

如何为CubeGeometry中的一个特定面设置不同的几何Three.ShapeGeometry?

我试过这个

    var rectLength = 120, rectWidth = 40;

            var rectShape = new THREE.Shape();
            rectShape.moveTo( 0,0 );
            rectShape.lineTo( 0, rectWidth );
            rectShape.lineTo( rectLength, rectWidth );
            rectShape.lineTo( rectLength, 0 );
            rectShape.lineTo( 0, 0 );

var geom = new THREE.ShapeGeometry( rectShape );
var geometry = new THREE.CubeGeometry( 256, 100, 256 );
geometry.faces[0] = geom;
geometry.faces[0].needsUpdate = true;

1 个答案:

答案 0 :(得分:1)

面不是几何体,您无法为其指定几何体,因为它是一种完全不同类型的对象和概念。

面是一系列顶点,而不是形状,由索引号引用。您创建顶点然后告诉面部构成面的顶点的索引号。 Face3将有3个索引并形成一个三角形,Face4将有4个索引并形成一个4边多边形。

如果您查看我在下面提供的链接,我的回答应该更清楚。

Look here

BTW - 出于一个明显的原因,你无法将形状用作面部。形状具有任意数量的顶点,这些顶点很容易超出面(3或4)的范围,这意味着您可以拥有2个点的形状或100个点的形状。