我使用envmap创建动画。 一切都按预期工作,但不是在CubeTexture中使用6个图像,我想使用6个动画纹理。
我认为这很明显,但我现在已经好几个小时了,我在任何地方都搜索了很多,但是就像地球上的任何人都没有使用动画纹理作为envMap ...
我发现了一些有关基于单个纹理的SphericalMappingReflection的有趣帖子 - 正是我想要的 - 但是无法找到任何使用示例......
我还检查了Three.js着色器源代码,以了解envMap是如何完成的,我发现了这些行
#elseENVMAP_TYPE_EQUIREC
float flipNormal = 1.0;
#endif
#ifdef ENVMAP_TYPE_CUBE
vec4 envColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );
#elif defined( )
vec2 sampleUV;
sampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );
sampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;
vec4 envColor = texture2D( envMap, sampleUV );
#elif defined( ENVMAP_TYPE_SPHERE )
vec3 reflectView = flipNormal * normalize((viewMatrix * vec4( reflectVec, 0.0 )).xyz + vec3(0.0,0.0,1.0));
vec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );
#endif
然后看起来可以使用texture2D而不是textureCube来创建一个envMap,但我没有找到关于如何定义" ENVMAP_TYPE_EQUIREC"的任何提示。或" ENVMAP_TYPE_SPHERE"
你能帮帮我吗? 我对自己的问题感到有些沮丧,并且真的不知道该怎么做。谢谢!
(请原谅我的英语不完美,不是我的母语)