Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
Javascript Three.js-编辑面_Javascript_Three.js - Fatal编程技术网

Javascript Three.js-编辑面

Javascript Three.js-编辑面,javascript,three.js,Javascript,Three.js,我想我会在这里问这个问题,因为我在任何地方都找不到任何信息(SO或three.js文档)-如何获得特定面的平均x、y、z坐标?或者至少,有没有办法得到组成一个面的三个顶点的x,y,z坐标?然后用这些来计算平均值 到目前为止我有 var fLength = plane.geometry.faces.length; for (var i = 0; i < fLength; i++) { var f = plane.geometry.faces[i]; //How do I ge

我想我会在这里问这个问题,因为我在任何地方都找不到任何信息(SO或three.js文档)-如何获得特定面的平均x、y、z坐标?或者至少,有没有办法得到组成一个面的三个顶点的x,y,z坐标?然后用这些来计算平均值

到目前为止我有

var fLength = plane.geometry.faces.length;
for (var i = 0; i < fLength; i++) {
    var f = plane.geometry.faces[i];
    //How do I get the x,y,z of the current/i face?
    //Is there a way to move this face? 
    //Is there a way to extrude this face? Or do -anything- with it for that matter?
}
var fLength=plane.geometry.faces.length;
对于(变量i=0;i
此外,除了移动顶点外,还有其他方法可以移动面吗?挤出面呢?我意识到这是一个相当多的问题,但所有这一切的过程似乎有点不清楚我

每三个.js都包含属性
a
b
c
。这些是指向同一几何体对象的顶点数组的索引。例如,使用

v1 = plane.geometry.vertices[f.a];
获取表示面中第一个顶点位置的

Three.js没有为修改现有对象的几何体提供太多方便的方法。与底层图形API一样,它的重点是快速合成和显示大部分静态对象的场景(顶点着色器操作除外)

如果修改有效地修改了边,则必须手动调整组成面的各个垂直面(并设置正确的脏标志),甚至重新生成面。根据您的使用情况,使用顶点着色器执行的操作可能更简单

关键是,构建和修改几何体的主题很快就会变得非常棘手。如果您需要任何帮助,请确保提出特定问题,概述您在几何体上所需的操作

每三个.js都包含属性
a
b
c
。这些是指向同一几何体对象的顶点数组的索引。例如,使用

v1 = plane.geometry.vertices[f.a];
获取表示面中第一个顶点位置的

Three.js没有为修改现有对象的几何体提供太多方便的方法。与底层图形API一样,它的重点是快速合成和显示大部分静态对象的场景(顶点着色器操作除外)

如果修改有效地修改了边,则必须手动调整组成面的各个垂直面(并设置正确的脏标志),甚至重新生成面。根据您的使用情况,使用顶点着色器执行的操作可能更简单


关键是,构建和修改几何体的主题很快就会变得非常棘手。如果您需要任何帮助,请确保提出特定问题,概述您在几何体上所需的操作

非常感谢!我没有意识到three.js主要用于静态对象——我想我假设你可以像在典型的3d建模程序中那样修改几何体。我还没有在3.js中探索动画。。。我假设如果不从blender或其他类似程序中导出几何体,就无法轻松地设置几何体的动画?这取决于几何体动画的含义。如果您想要传统的基于关键帧/骨架的动画,则3d建模器将始终是您的首选工具(请参见)。如果需要程序动画,可以通过修改顶点()和/或顶点着色器()来完成很多工作。最好的方法完全取决于你想做什么。非常感谢!我没有意识到three.js主要用于静态对象——我想我假设你可以像在典型的3d建模程序中那样修改几何体。我还没有在3.js中探索动画。。。我假设如果不从blender或其他类似程序中导出几何体,就无法轻松地设置几何体的动画?这取决于几何体动画的含义。如果您想要传统的基于关键帧/骨架的动画,则3d建模器将始终是您的首选工具(请参见)。如果需要程序动画,可以通过修改顶点()和/或顶点着色器()来完成很多工作。最好的方法完全取决于你想做什么。