我正在尝试重新创建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中旋转,平移和缩放基本几何?
答案 0 :(得分:1)
THREE.PlaneGeometry
的原型建立在THREE.Geometry
原型之上。你可以看到here。这意味着THREE.Geometry
的所有方法也可以在THREE.PlaneGeometry
实例中使用。
THREE.Geometry
有rotateY
方法。您可以看到here in the documentation和here in the file。
所以回答你的问题:你可以使用THREE.Geometry
中的所有方法来旋转,平移和缩放基本几何。