gpt4 book ai didi

javascript - Three.js - 更新的几何体不呈现变化

转载 作者:行者123 更新时间:2023-11-29 18:25:52 26 4
gpt4 key购买 nike

我这里有个小问题。我有一个 THREE.Line 对象,包含 Material 和几何图形。 init 方法将 2 个顶点推送到几何体,将线添加到场景中,线渲染得很好。

但我有一个事件监听器... Canvas 中的每次单击都会添加另一个顶点。但是渲染场景时,只渲染了原来的2个顶点。我输出了 scene.children 的转储,我确定场景中有线,并且几何形状已更改。

在文档中它说了一些关于应用的内容:

geometry.dynamic = true
geometry.verticesNeedUpdate = true

但是这些也没用。

最佳答案

参见 three.js Wiki:https://github.com/mrdoob/three.js/wiki/Updates

You can only update content of buffers, you cannot resize buffers (this is very costly, basically equivalent to creating new geometry).

You can emulate resizing by pre-allocating larger buffer and then keeping unneeded vertices collapsed / hidden.

几何体是通过具有固定大小的顶点缓冲区对象指定的。您可以创建和删除缓冲区,但不能调整它们的大小。

作为解决方法,您可以创建一个带有额外顶点的几何体,并将不需要的顶点折叠成一个点。

three.js r.52


编辑:Drawing a line with three.js dynamically 中描述了一种较新的方法.

关于javascript - Three.js - 更新的几何体不呈现变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13271367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com