我试图改变顶点的位置在一个顶点的着色器,以形成一个正弦曲线沿形状的表面。
如页面这里的中间所示,使用简单的模式z = sin(u_time + y);可以产生沿z轴垂直移动的正弦波。对于每一个新的Y pos,向内/向外增加Z pos,形成一条正弦路径。
由于某些原因,结果在我的顶点着色器是不同的。形状的表面在变化,但它总是保持平坦,而不是服从正弦曲线。参见此处示例中的顶点着色器:https://jsfiddle.net/35w7fsqo/1/,即行
p.z += sin((time + position.y) / duration) * amplitude;这是一张图表,展示了我的意思:

我需要做些什么才能使这个曲面符合正弦曲线?
发布于 2022-05-07 23:18:27
这个着色器运行的BoxGeometry没有足够的顶点沿面,它只有一个在每个角落。我在构造函数中添加了更多的构造函数,比如var geometry = new THREE.BoxGeometry(200, 200, 200, 1, 10, 1);,现在可以看到正弦曲线:https://jsfiddle.net/35w7fsqo/2/
https://stackoverflow.com/questions/72156802
复制相似问题