我的问题是试图让天空在它的 z 轴上旋转。例如,如果我将天空旋转 180 度,太阳光的阴影应该显示在相反的方向。
代码沙箱:https ://codesandbox.io/s/friendly-cloud-c00zr?file=/src/main.js :
这是我在main.js
文件中创建天空的地方:
const createSky = () => {
const sky = new Sky();
sky.scale.setScalar(1000);
sky.castShadow = true;
return sky;
};
我已经尝试过rotateZ
,sky.rotation
但无济于事。
文件中的代码sky.js
:
https://codesandbox.io/s/little-microservice-7nh53?file=/src/sky.js
是原始three.js sky-sun-shader的修改迭代:
https://threejs.org/examples/webgl_shaders_sky.html
我改变的只是up
天空的位置和它的几何形状从boxBuffer
到sphereBuffer
。
我会在这里发布代码,但它有超过 200 行代码。
我想知道是否有一种特殊的方式来旋转ShaderMaterial
它sky.js
?