《Unity开发实战》——3.8节通过GUI实时组合纹理

简介:

本节书摘来自华章社区《Unity开发实战》一书中的第3章,第3.8节通过GUI实时组合纹理,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.8 通过GUI实时组合纹理
avatar的自定义往往包括选择一个或多个纹理来定义外观。本节中将实现一个GUI,此GUI通过组合两个纹理通道让玩家创建自己的avatar。

3.8.1 准备工作
本节需要的3D对象和图片文件在0423_03_07 文件夹的selectTexture 包中。

3.8.2 操作步骤
请按照下面的步骤叠加纹理:
1)把为名selectTexture 的包导入到项目中。
2)打开名为 selTextScene的场景。
3)创建基础纹理:在Project 视图中,用下拉菜单创建一个材质,命名为selectable-Material。
4)把selectableMaterial材质的Shader 选项修改成 Decal。然后把名为 face1 和prop1的纹理贴图作为 Decal 的贴图,如下图所示:


6455ad464eef711435fba1b4ce2f02e5e2fb2654


a473e52c6b51e5bea2376c8417695ad21e6e44de

8)保存脚本,并附加到Avatar 游戏对象上。
9)在Inspector 视图中,把 Faces 和 Props的Size 值都修改成 2。
10)把Faces的 Element 0 和 Element 1 分别修改成face1 和 face2。Props的Element 0 和 Element 1 也做同样的操作 (修改成prop1和prop2):


7d79bacb7c31e98c02e99b9762647aeaec32f6d3

11)播放场景,可以通过点击按钮选择组合的纹理:

3.8.3 实现原理
脚本让用户创建两组纹理:一个作为基础纹理(名为Faces),另一个作为Decal Map(贴图)(名为Props)。当场景播放时,纹理显示在GUI的按钮中,此按钮通过调用ChangeMaterial函数修改Avatar材质中的纹理。ChangeMaterial函数的参数接收分类(Face 或 Prop)和图片的索引,然后把相应的纹理贴图指定到纹理通道。

3.8.4 更多内容
本节简单地修改了不同的材质着色器的参数。可以查看Unity在线文档学习更多关于其他纹理的知识: http://unity3d.com/support/documentation/ScriptReference/Material.Set-Texture.html。另外,如果想学习shaders,可以查看文档: http://unity3d.com/support/resources/ assets/built-in-shaders。

相关文章
|
5月前
|
缓存 图形学
Unity3D学习笔记12——渲染纹理
Unity3D学习笔记12——渲染纹理
52 2
|
5月前
|
API C# 图形学
Unity3D学习笔记9——加载纹理
Unity3D学习笔记9——加载纹理
60 2
|
4月前
|
图形学 开发者
【独家揭秘】Unity游戏开发秘籍:从基础到进阶,掌握材质与纹理的艺术,打造超现实游戏视效的全过程剖析——案例教你如何让每一面墙都会“说话”
【8月更文挑战第31天】Unity 是全球领先的跨平台游戏开发引擎,以其高效性能和丰富的工具集著称,尤其在提升游戏视觉效果方面表现突出。本文通过具体案例分析,介绍如何利用 Unity 中的材质与纹理技术打造逼真且具艺术感的游戏世界。材质定义物体表面属性,如颜色、光滑度等;纹理则用于模拟真实细节。结合使用两者可显著增强场景真实感。以 FPS 游戏为例,通过调整材质参数和编写脚本动态改变属性,可实现自然视觉效果。此外,Unity 还提供了多种高级技术和优化方法供开发者探索。
72 0
|
5月前
|
测试技术 C# 图形学
Unity3D学习笔记10——纹理数组
Unity3D学习笔记10——纹理数组
65 0
|
5月前
|
存储 算法 C#
Unity3D学习笔记2——绘制一个带纹理的面
Unity3D学习笔记2——绘制一个带纹理的面
38 0
|
7月前
|
存储 图形学
【unity小技巧】unity中导入下载的3D模型及albedo/baseColor、normal 、AO/Occlus、metallic、roughness贴图纹理设置
【unity小技巧】unity中导入下载的3D模型及albedo/baseColor、normal 、AO/Occlus、metallic、roughness贴图纹理设置
206 0
|
8月前
|
数据可视化 C# 图形学
【Unity 3D】图形界面GUI的讲解及在C#中实现用户登录界面的实战(附源码)
【Unity 3D】图形界面GUI的讲解及在C#中实现用户登录界面的实战(附源码)
266 0
|
API 图形学
【unity专题篇】—GUI(IMGUI)思维导图详解
【unity专题篇】—GUI(IMGUI)思维导图详解
317 0
|
图形学
【Unity3D Shader】学习笔记-纹理采样②
前言 上一篇对同一纹理进行多次采样混合,本篇则是通过不同的纹理采样进行混合产生一些效果。 一、简单贴花 贴花简单来说就是在原贴图上面贴上细节贴图,就像墙面上的喷绘一样。下面这个只是最简单的例子,也就是只能在一张图(一个模型)上面贴其他细节。
300 0
【Unity3D Shader】学习笔记-纹理采样②
|
图形学
【Unity3D Shader】学习笔记-纹理采样①
前言 纹理采样属于在片段着色器中进行,通过提供的贴图和uv坐标使用tex2D进行采样。本篇主要介绍对同一纹理多次采样然后进行混合来获得不同的效果。 [声明:本笔记系列文章的图片资源都源自百度图片搜索,如有问题联系我] 一、简单重影 对同一纹理进行两次采样,采样时的UV两次坐标不一样,然后将采样的结果进行取平均得到最终的结果。
586 0
【Unity3D Shader】学习笔记-纹理采样①

热门文章

最新文章