Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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/9/three.js/2.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_Textures_Procedural - Fatal编程技术网

Javascript 在Three.js中设置程序海的动画

Javascript 在Three.js中设置程序海的动画,javascript,three.js,textures,procedural,Javascript,Three.js,Textures,Procedural,我正在用Three.js做我的第一个项目,现在我遇到了麻烦 我想知道在Three.js中制作动画(低多边形)海洋的最佳方法是什么,我从昨天开始就在尝试使用置换贴图,但我一直在阅读置换贴图不能被设置动画?(这是真的吗?) 更新中 displacementPos++; face1.material.displacementMap.offset = new THREE.Vector2(displacementPos,displacementPos); face1.material.needsUpd

我正在用Three.js做我的第一个项目,现在我遇到了麻烦

我想知道在Three.js中制作动画(低多边形)海洋的最佳方法是什么,我从昨天开始就在尝试使用置换贴图,但我一直在阅读置换贴图不能被设置动画?(这是真的吗?)

更新中

displacementPos++;

face1.material.displacementMap.offset = new THREE.Vector2(displacementPos,displacementPos);

face1.material.needsUpdate = true;
face1.material.displacementMap.needsUpdate = true;
这将是最简单的方法,但如果这是不可能的,我不知道我的其他选择是什么

谢谢你的帮助。
业余爱好者和爱好者

以下是水(在本例中称为海洋)着色器的一些很好的示例:


另一个好的起点是。

这些都是很好的例子,但它们不是我想要完成的。我希望平面的顶点像海洋一样移动,但它都是非常低的多边形,看起来一点都不真实。(另外,我不知道如何构建这些自定义着色器,我确实是Three.js的初学者)但不管怎样,还是要感谢你的回答。试着看看柏林噪声。虽然它用于程序地形生成,但经过一些调整,它可以生成奇妙的低多边形波
displacementPos++;

face1.material.displacementMap.offset = new THREE.Vector2(displacementPos,displacementPos);

face1.material.needsUpdate = true;
face1.material.displacementMap.needsUpdate = true;