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

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

相关推荐
Godspeed Zhao5 小时前
3D打印的造物革命5
3d
CG_MAGIC6 小时前
SketchUp室内布局:户型建模与家具组件高效摆放
3d·贴图·建模教程·渲云渲染
love530love7 小时前
ComfyUI-3D-Pack:Windows 下手动编译 mesh_inpaint_processor C++ 加速模块
c++·人工智能·windows·python·3d·hunyuan3d·comfyui-3d-pack
努力长头发的程序猿9 小时前
在Unity2d中,根据Y轴决定渲染顺序(URP项目适用)
unity
yeflx10 小时前
激光雷达点云处理项目:从零搭建 3D 视觉检测系统
人工智能·3d·视觉检测
出门吃三碗饭10 小时前
3DGS如何提升面向仿真的三维高斯重建质量
3d·机器人
DaLiangChen20 小时前
Unity 精准 Mesh 点击检测:穿透遮挡 + 单击双击识别
unity·游戏引擎
twe775825821 小时前
动态揭示CCP-RIE技术中的缺陷形成:从微观机理到3D动画演示
科技·3d·制造·动画
迪普阳光开朗很健康1 天前
Unity中new() 和实例化有什么区别?
unity·游戏引擎
mxwin1 天前
Unity Shader 极坐标特效 从数学原理到实战案例
unity·游戏引擎·shader·uv