如何使用 THREE.WaterShader 和 MirrorMesh 旋转 THREE.PlaneBufferGeometry

How to rotate a THREE.PlaneBufferGeometry with THREE.WaterShader and MirrorMesh

this example 中,我们有一个 THREE.PlaneBufferGeometry 带有 WaterShader 和 Water Normals 纹理。如果您尝试删除第 119 行的旋转,平面会按预期旋转,但着色器和法线不再正常工作,而是扭曲了。

如何旋转不变形?是否需要在 WaterShader.js 文件中进行更改?

我设法解决了我的问题。我认为 WaterShader.js 文件中有一些内容需要更改。在 vertexShader(第 24 行),您需要将第 34 行从 :

更改为
worldPosition = mirrorCoord.xyz 

worldPosition = mirrorCoord.xzy 

问题解决了!