如何使用 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
问题解决了!
在 this example 中,我们有一个 THREE.PlaneBufferGeometry 带有 WaterShader 和 Water Normals 纹理。如果您尝试删除第 119 行的旋转,平面会按预期旋转,但着色器和法线不再正常工作,而是扭曲了。
如何旋转不变形?是否需要在 WaterShader.js 文件中进行更改?
我设法解决了我的问题。我认为 WaterShader.js 文件中有一些内容需要更改。在 vertexShader(第 24 行),您需要将第 34 行从 :
更改为worldPosition = mirrorCoord.xyz
至
worldPosition = mirrorCoord.xzy
问题解决了!