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都是白色时,会保持贴图的原有颜色,若调整为其他颜色则机器人就会改变颜色。

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

相关推荐
高升说10 小时前
手眼 3D 相机选型:先定工作距离,再谈精度,最后定安装
人工智能·数码相机·3d
不吃凉粉12 小时前
Unity与AS通信
unity·游戏引擎
利刃大大12 小时前
我用 GPT-6 给江南大学建了个 3D 沙盘
gpt·3d·ai·blender·江南大学
不要生病了21 小时前
从脑电到彩色三维点云:Neuro-3D 精读与证据边界
3d
两水先木示1 天前
【Unity】探索小地图迷雾散开Shader效果(基础版)
unity·游戏引擎
时空节拍AI数字人1 天前
AI 数字人为什么需要“3D”?2D 不够用吗
人工智能·网络协议·tcp/ip·3d·信息可视化
Zldaisy3d1 天前
以光束整形3D打印,探索陶瓷-铜功能件的一体化制造
3d·制造
LeapMay1 天前
中国科学院深圳先进技术研究院-深圳职业技术大学联合培养博士后招聘(具身智能/多模态感知/视觉检测方向)
人工智能·计算机视觉·3d·机器人
WarrenMondeville1 天前
AI复刻街头霸王到 Unity
unity·游戏引擎
tsqtsqtsq03091 天前
3DGS 端侧重建:基于 Spatial Recon Kit 的全面实践指南
3d