You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shader Graph中旋转材质?URP升级后材质轴异常求助

材质轴方向异常排查与Shader Graph旋转方案

一、轴方向异常的原因分析

从你描述的效果来看,升级前内置管线材质的色彩沿XZ平面(地形平面)分布,而Shader Graph重建后色彩沿XY平面显示,核心原因是采样空间不匹配:

  • Sebastian的地形程序化教程默认基于世界空间XZ平面构建,内置管线材质通常直接使用世界空间的X、Z分量作为采样基准。
  • 你当前的Shader Graph直接使用Mesh UV输出到颜色节点,而模型UV可能基于XY平面烘焙,或是误将对象空间的Y轴当作高度轴,导致轴向错位。
  • 从你的材质图来看,缺少空间坐标转换节点,直接用原始UV驱动颜色输出,自然和原教程的空间采样逻辑不匹配。

二、修复轴方向异常的步骤

  1. 替换采样源:在Shader Graph中移除Mesh UV节点,添加World Space Position节点。
  2. 分离空间分量:用Split节点拆分World Space Position的XYZ分量,提取X和Z作为新的UV输入(对应原教程的地形平面)。
  3. 适配范围:若X/Z数值范围过大,可添加Multiply节点乘以一个缩放系数(比如0.1),让色彩分布和原效果匹配。
  4. 将处理后的X/Z分量连接到颜色节点的输入,即可恢复正确的轴向分布。

三、Shader Graph中旋转材质的两种方法

方法1:UV层面旋转(适用于纹理/颜色UV采样)

  1. 添加UV节点(选择UV0通道),连接到Rotate节点(路径:Math > Transform > Rotate)的In端口。
  2. 为Rotate节点的Angle参数创建可暴露的材质属性(右键参数 > Expose),方便在Inspector中实时调整旋转角度。
  3. 旋转中心Center默认设为(0.5, 0.5)(UV中心),可根据需求修改。
  4. 将Rotate节点的输出连接到颜色/纹理采样节点的UV输入,完成UV旋转。

方法2:空间坐标旋转(适用于程序化地形类材质)

  1. 添加World Space Position节点,连接到Rotate About Axis节点(路径:Math > Transform > Rotate About Axis)的In端口。
  2. 设置旋转轴为Y轴(地形通常绕Y轴旋转),为Angle参数创建暴露属性。
  3. 将旋转后的空间坐标连接到后续的采样/颜色计算节点,实现整个材质的空间旋转。

内容的提问来源于stack exchange,提问作者Drunkiel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 02:06:29