Bug fixes
This commit is contained in:
@@ -178,7 +178,12 @@ Shader "Soullies/DTM_RandomGridTube"
|
||||
float u = angle * _TubeRadius;
|
||||
|
||||
// V is driven by World Z to maintain seamless tiling
|
||||
float v = input.positionWS.z;
|
||||
// 1. 获取管道局部Z轴在世界空间中的单位方向向量
|
||||
float3 tubeForwardWS = TransformObjectToWorldDir(float3(0, 0, 1));
|
||||
|
||||
// 2. 将世界坐标投影到管道的正前方,替代原本写死的 World Z
|
||||
// 这样无论管道怎么旋转,V轴永远沿着管道的长度方向进行世界坐标级别的无缝平铺
|
||||
float v = dot(input.positionWS, tubeForwardWS);
|
||||
|
||||
float2 cylindricalUV = float2(u, v);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user