javascript - 在 Three.js 中转换基本几何图形

标签 javascript graphics 3d three.js

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

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

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 中旋转、平移和缩放基本几何图形?

最佳答案

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

THREE.Geometry 有一个 rotateY 方法。可以看到here in the documentationhere in the file .

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

关于javascript - 在 Three.js 中转换基本几何图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35352959/

相关文章:

javascript - 导轨 3 : Omniauth-Facebook: Won't load in a popup

javascript - 如何使用 javascript 更改 javascript 文件中的 url 自动化测试

haskell - Haskell 中的并行图形处理

c# - Graphics.DrawImage 是异步的吗?

javascript - 使用 ABCpdf 渲染 pdf 时显示 google 图表

Javascript 更改 window.location 并运行异步 ajax get

android - 意外的android系统调用使滚动图形卡顿的流畅显示

3d - 如何计算光线行进中一定距离处的视锥半径(即像素的大小)?

javascript - Javascript 中的 d3 词云 - 无法使用更新功能

vb.net - Visual Basic .Net 3D 引擎