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

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

相关推荐
在路上看风景11 小时前
4.5 顶点和片元
unity
在路上看风景1 天前
31. Unity 异步加载的底层细节
unity
天人合一peng1 天前
Unity中做表头时像work中整个调整宽窄
unity
多恩Stone1 天前
【3D AICG 系列-6】OmniPart 训练流程梳理
人工智能·pytorch·算法·3d·aigc
小李也疯狂2 天前
Unity 中的立方体贴图(Cubemaps)
unity·游戏引擎·贴图·cubemap
牛掰是怎么形成的2 天前
Unity材质贴图引用陷阱:包体暴涨真相
unity·材质·贴图
呆呆敲代码的小Y2 天前
【Unity工具篇】| 超实用工具LuBan,快速上手使用
游戏·unity·游戏引擎·unity插件·luban·免费游戏·游戏配置表
EQ-雪梨蛋花汤2 天前
【Unity优化】Unity多场景加载优化与资源释放完整指南:解决Additive加载卡顿、预热、卸载与内存释放问题
unity·游戏引擎
我的offer在哪里2 天前
用 Unity 从 0 做一个「可以玩的」游戏,需要哪些步骤和流程
游戏·unity·游戏引擎
泡泡茶壶ᐇ2 天前
Unity游戏开发入门指南:从零开始理解游戏引擎核心概念
unity·游戏引擎