在three.js中变换基本几何体

时间:2016-02-12 00:53:53

标签: javascript graphics 3d three.js

我正在尝试重新创建this Three.js example。它从一组预定义的块面生成地形几何。但是,只是简单地复制代码开始,我遇到了一个问题。

以下是示例中一个块面的代码:

var pxGeometry = new THREE.PlaneGeometry( 100, 100 );

pxGeometry.faces[ 0 ].vertexColors = [ light, shadow, light ];
pxGeometry.faces[ 1 ].vertexColors = [ shadow, shadow, light ];
pxGeometry.faceVertexUvs[ 0 ][ 0 ][ 0 ].y = 0.5;
pxGeometry.faceVertexUvs[ 0 ][ 0 ][ 2 ].y = 0.5;
pxGeometry.faceVertexUvs[ 0 ][ 1 ][ 2 ].y = 0.5;
pxGeometry.rotateY( Math.PI / 2 );
pxGeometry.translate( 50, 0, 0 );

这会引发pxGeometry.rotateY is not a function

据我所知,默认情况下,PlaneGeometry无法使用旋转和翻译功能。但是,如果是这种情况,我无法看到示例中添加这些内容的位置。

如何在Three.js中旋转,平移和缩放基本几何?

1 个答案:

答案 0 :(得分:1)

THREE.PlaneGeometry的原型建立在THREE.Geometry原型之上。你可以看到here。这意味着THREE.Geometry的所有方法也可以在THREE.PlaneGeometry实例中使用。

THREE.GeometryrotateY方法。您可以看到here in the documentationhere in the file

所以回答你的问题:你可以使用THREE.Geometry中的所有方法来旋转,平移和缩放基本几何。