Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js 可以是倾斜平面';s坐标系可以改变吗?_Three.js_Coordinate Systems - Fatal编程技术网

Three.js 可以是倾斜平面';s坐标系可以改变吗?

Three.js 可以是倾斜平面';s坐标系可以改变吗?,three.js,coordinate-systems,Three.js,Coordinate Systems,我向场景中添加了一个新的THREE.PlaneGeometry(),它在XY平面中垂直显示在[0,0,0],其法线朝向+Z轴。然后,我发出plane.rotation.x=-Math.PI/2来放下平面,使其法线现在朝上 我遇到的问题是,现在平面的+Y轴沿全局-Z轴定向 由于该平面表示地形,因此我希望能够调整顶点的高度以模拟海平面以上的高度(高度)。因此,我希望能够在代码中编写如下内容: plane.geometry.vertices[i].y = 3; …但这样做只是沿Z轴移动顶点-3个单位

我向场景中添加了一个新的THREE.PlaneGeometry(),它在XY平面中垂直显示在[0,0,0],其法线朝向+Z轴。然后,我发出plane.rotation.x=-Math.PI/2来放下平面,使其法线现在朝上

我遇到的问题是,现在平面的+Y轴沿全局-Z轴定向

由于该平面表示地形,因此我希望能够调整顶点的高度以模拟海平面以上的高度(高度)。因此,我希望能够在代码中编写如下内容:

plane.geometry.vertices[i].y = 3;
…但这样做只是沿Z轴移动顶点-3个单位,使平面像大头钉一样平

我可以为自己编写一个抽象函数来映射坐标,但我不希望这样做,因为它会添加代码并妨碍对数据结构的直接访问(这在实验中很好)

是否有某种方法可以永久更改平面的坐标系,使其与全局坐标系匹配?这样plane.geometry.Vertexs[i].y++实际上会在地形中产生凹凸吗


干杯。

在创建网格之前,不要旋转网格,而是对几何体本身进行旋转

geometry.applyMatrix( new THREE.Matrix4().makeRotationX( - Math.PI / 2 ) );
3.js r.58