我对three.js是新手,它的文档对我来说简直是一团糟。我找到了一个漂亮的水滴动画的例子,但无法将其改写为新版本的three.js。给你https://codepen.io/aaroniker/pen/yoqnrb
let update = () => {
let time = performance.now() * 0.00001 * speedSlider.val() * Math.pow(processingSlider.val(), 3),
spikes = spikesSlider.val() * processingSlider.val();
for(let i = 0; i < sphere.geometry.vertices.length; i++) {
let p = sphere.geometry.vertices[i];
p.normalize().multiplyScalar(1 + 0.3 * simplex.noise3D(p.x * spikes, p.y * spikes, p.z * spikes + time));
}
sphere.geometry.computeVertexNormals();
sphere.geometry.normalsNeedUpdate = true;
sphere.geometry.verticesNeedUpdate = true;
}
问题是,循环中的sphere.geometry.vertices.length未定义,并且示例不适用于最新版本的three.js。我知道我可以使用示例中的版本,但我想稍微了解一下。我的不和-波马韦卡#0530
1条答案
按热度按时间bqjvbblv1#
试着这样做:
以前的几何体格式已从核心中删除,并使用
r125
. 你现在必须和我一起工作BufferGeometry
. 更多信息,请访问three.js论坛的以下帖子。https://discourse.threejs.org/t/three-geometry-will-be-removed-from-core-with-r125/22401