Unity Shader Graph 3D 实例 - 基础的模型贴图渲染


目录

[创建一个Shader Graph文件](#创建一个Shader Graph文件)

[在Shader Graph文件中的节点构造](#在Shader Graph文件中的节点构造)

在贴图的基础上加颜色变化


前言

在Unity Shader Graph中,贴图渲染是实现丰富材质效果的关键。通过使用不同类型的贴图,可以为3D模型添加细致的表面细节,使其看起来更具真实感和层次感。本篇博客将介绍如何在Shader Graph中应用贴图,展示如何通过节点系统轻松控制贴图的显示和效果,帮助开发者掌握贴图渲染的基础,为更复杂的材质制作打下坚实的基础。


创建一个Shader Graph文件

在Project视图里点击鼠标右键,选择Shader Graph/URP/Lit Shader Graph,创建第一个Shader Graph文件,命名为CharacterTexture。

对应创建两个材质球,一个命名为M_CharacterTexture,另一个命名为M_CharacterTexture_Eye。因为我们用到的测试模型有身体和眼睛两部分,因此需要分别创建两个材质球。


在Shader Graph文件中的节点构造

创建一个Texture 2D的变量,用来从外部传入贴图数据供Shader Graph使用,将其命名为MainTex。

将MainTex变量拖拽到 Shader Graph的节点视图里,并新建一个Sample Texture 2D的节点,因为贴图的数据是不能直接在Shader Graph的节点视图里进行使用的,我们需要将其做采样处理,转化为可以使用的RBGA值,将MainTex变量的数据输出到Sample Texture 2D节点的 Texture输入中,即可获得该贴图的数据,然后将贴图采样的数据RGBA值连接到Fragment节点的Base Color上,也就是输出的颜色。

分别给身体和眼睛的材质球加一个贴图,并把对应的材质球给到机器人的模型上即可获得如下效果。
身体贴图材质球
眼睛贴图材质球

当把材质球给到模型后,模型就会由空白的变成色彩丰富立体的模型了。


在贴图的基础上加颜色变化

新建一个Color的颜色变量,将Color颜色变量拖拽到节点视图中,然后将Color与贴图的RGBA数据使用Multiply节点进行相乘,这样就可以通过Color去对贴图的颜色做一些基础的改变操作。

在材质球的面板会增加一个Color的属性,用来做颜色调整,当机器人身体和眼睛的材质球的Color都是白色时,会保持贴图的原有颜色,若调整为其他颜色则机器人就会改变颜色。

最终改变颜色的效果如下。
基于贴图改变身体颜色
基于贴图改变眼睛颜色

相关推荐
zstar-_4 小时前
使用postshot实现了更好的3D高斯泼溅效果
3d
Minecraft红客7 小时前
HTMLminecraft版本
游戏·3d·html·娱乐
zl_vslam9 小时前
SLAM中的非线性优-3D图优化之相对位姿Between Factor(七)
人工智能·算法·计算机视觉·3d
AllBlue9 小时前
unity嵌入安卓界面,如何显示状态
android·unity·游戏引擎
tealcwu10 小时前
【Unity技巧】实现在Play时自动保存当前场景
java·unity·游戏引擎
tealcwu11 小时前
【Unity基础】实现Scroll View跟随动态内容滚动
java·unity·游戏引擎
CG_MAGIC12 小时前
3ds Max渲染核心:高光追(Embree)与光线追踪(Ray Trace)
3d·3dmax·建模教程·渲云渲染·3d软件
科研面壁者12 小时前
SPSS——绘制三维条形图(3D条形图)
3d·信息可视化·spss·数据处理·科研绘图
Hali_Botebie12 小时前
CVPR2024: UniMODE: Unified Monocular 3D Object Detection
人工智能·目标检测·3d