呜辣辣辣 发表于 2023-4-3 14:51:55

转载:创建透明的材质

a.Unity 创建并配置材质
在 Project 视图里,创建一个材质,并命名为 TransMaterial,选中它然后在 Inspector 视图里修改 Shader 属性为 Transparent/Diffuse,如图所示:!(data/attachment/forum/202304/03/145109pqrbmis8ivlshcbz.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "1.png")

b.Unity 制作有透明效果的纹理
选择一张有趣的图片,本小节将在 PhotoShop 里处理这张图片,简单来说就是为此图片添加透明度的信息。示例图片如下:!(data/attachment/forum/202304/03/145114bfwwpuzhj9ijiyj4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "2.png")

(1)在通道窗口中,新建一个通道,使用默认的名称 Alpha 1。

(2)选中 RGB 通道,然后使用 PhotoShop 中的魔棒工具,圈选出图片的背景区域。再选中 Alpha 1 通道,此时背景的轮廓线在此通道下依然可见。使用油漆桶工具为背景轮廓填充黑色,如图所示:!(data/attachment/forum/202304/03/145122o81unm4oj4abvarv.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "3.png")

记录的透明度信息是:动画角色完全不透明、其余完全透明。

(3)存储此文件,并导入 Unity 以供接下来的使用。

c. 创建透明的材质的效果展示
选中 Project 视图里的 TransMaterial,然后在 Inspector 视图里修改 Base(RGB)Trans(A) 属性为上一小节导入的纹理。接着在游戏场景中新建一个立方体,将 TransMaterial 材质拖动到此立方体对象上,在场景中就可以看出效果,如图所示,与一个没有使用透明材质的球体做了对比:!(data/attachment/forum/202304/03/145150ldrktv6j0nxjukjw.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "34eac530a24d4ad0869e6737c624ae9e.png")

9、考虑把关卡保存为 XML,而非 scene
这是一种很奇妙的技术:

它可以让你不必每个场景都设置一遍;
他可以加载的更快(如果大多数对象都是在场景之间共享的)。
它让场景的版本合并变的简单(就算是 Unity 的新的文本格式的 Scene,也由于数据太多,而让版本合并变的不切实际)。
它可以使得在关卡之间保持数据更简便。
你仍就可以使用 Unity 作为关卡编辑器(尽管你用不着了)。你需要写一些你的数据的序列化和反序列化的代码,并实现在编辑器和游戏运行时加载关卡、在编辑器中保存关卡。你可能需要模仿 Unity 的 ID 系统来维护对象之间的引用关系。

10、使用 cookie 类型的纹理模拟云层的移动
现实生活中,当阳光直射大地,而天空中又有很多云时,云层的影子总是会投射在大地上,风吹着云层移动,影子也跟着运动,如图所示:

而在游戏中,模拟与之类似的大气现象时,就需要使用 cookie 类型的纹理
————————————————
版权声明:本文为CSDN博主「YF云飞」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/flyTie/article/details/125953187
页: [1]
查看完整版本: 转载:创建透明的材质