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

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

相关推荐
HahaGiver6662 小时前
Unity Shader Graph 3D 实例 - 一个简单的3D打印效果
3d·unity·游戏引擎
小一亿4 小时前
【3ds Max动画】烟花:超级喷射粒子,荧光粒子效果
学习·3d·图形渲染·3dsmax·动画
zstar-_4 小时前
3D高斯泼溅的后处理方式
3d
酷柚易汛智推官6 小时前
UE5.7:3D 内容生产的新范式
3d·ue5·酷柚易汛
胖胖求游戏6 小时前
Unity热更新——AB包和Lua
unity·游戏引擎·lua
为你写首诗ge8 小时前
【Unity知识分享】Unity中获取Pico设备的序列号(SN码)
unity
B0URNE10 小时前
什么是虚拟现实(VR)?
unity·ue5·vr
B0URNE19 小时前
【Unity基础详解】Unity3D全程学习路线
学习·unity·游戏引擎
二川bro1 天前
第33节:程序化生成与无限地形算法
前端·算法·3d·threejs