《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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值