Manipulate vertices on the go in AFrame?(在AFrame中随时随地操作顶点?)
问题描述
我有一架定制飞机:
JS:
HTML:
现在如何操作动画循环中的顶点位置?
让我们说第一点:
我知道我可以通过以下方式访问网格:
并更改其位置,例如:
但平面网格的几何体上没有顶点:
如何操作该几何图形的顶点?
编辑:
我发现您可以这样更新顶点的位置:
我想在tick()函数中执行所有操作,因为我真正想要的是用一条线连接两个对象。
现在平面的顶点如下所示:
由于平面有4个点,我预计会有4*3=12个元素,但我们得到了18个元素。除了XYZ,剩下的是什么?
推荐答案
顶点可用作对象几何体的属性:
您只需更改您想要的任何内容,并使用以下命令确认更新:
最大的复杂性在于索引和非索引几何图形之间的差异。简而言之:
- 非索引几何图形包含网格中任何三角形的所有顶点。一个平面包含两个三角形,因此有2个三角形*3个顶点*3个坐标=18个条目。这可以在这个例子中得到说明,在这个例子中,我操纵一个顶点,但只有一个三角形受到影响:
- 索引几何图形不喜欢将相同的顶点重复两次,因此它存储唯一的顶点,并提供引用任何存储的顶点的索引。现在操纵顶点看起来完全不同了:
代码看起来相同,但a帧版本不同-更改几何图形(geometry.toNonIndexed())时应该得到相同的结果
这篇关于在AFrame中随时随地操作顶点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!