《Unity开发实战》——3.11节禁用材质剔除

简介:

本节书摘来自华章社区《Unity开发实战》一书中的第3章,第3.11节禁用材质剔除,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.11 禁用材质剔除
当创建一个透明或半透明对象的时候,可能想看它的内部表面。但是默认情况下Unity的透明着色器让其不可见。本节将编辑Unity中的内置透明着色器以让其对用户可见。

3.11.1 准备工作
请从网址 http://unity3d.com/unity/download/archive下载Unity的内置shaders的源码以便完成本节的学习, 还需要一个带有透明通道的纹理,在文件夹0423_03_10中可以找到名为grid.tga的图片。

3.11.2 操作步骤
请按照下面的步骤禁止材质剔除:
1)打开带有Unity内置shaders源码的压缩包,解压DefaultResources文件夹中名为AlphaTest-BumpSpec.shader的文件到桌面上。
2)复制AlphaTest-BumpSpec.shader 重命名为 AlphaTest-DoubleSided. Shader,并打开。
3)把第一行修改成: Shader "Transparent/Cutout/DoubleSided" {。
4)添加下面的代码:


6648ddc1ebe7b3735149b7d0c799c90648da1509


23b16a9ba8b9e1e896726f42d854d3d33dd3825d

3.11.3 实现原理
Cull Off 命令让Unity渲染物体的前后表面,虽然对于Cutout shader来说用着还行,但用透明着色器的其他类型可能导致不可预料的结果。

3.11.4 更多内容
这里有一些附加的资源和解决方案:

  1. 学习更多关于shaders的知识
    Unity的文档中有几篇关于shader编程的文章,链接为http://docs.unity3d.com/Documentation/ Components/ SL-Reference.html。
  2. 通过编辑对象的geometry解决问题
    可以通过复制3D模型的表面得到类似的结果,然后翻转新几何体的法线。
相关文章
|
1月前
|
图形学 开发者
【独家揭秘】Unity游戏开发秘籍:从基础到进阶,掌握材质与纹理的艺术,打造超现实游戏视效的全过程剖析——案例教你如何让每一面墙都会“说话”
【8月更文挑战第31天】Unity 是全球领先的跨平台游戏开发引擎,以其高效性能和丰富的工具集著称,尤其在提升游戏视觉效果方面表现突出。本文通过具体案例分析,介绍如何利用 Unity 中的材质与纹理技术打造逼真且具艺术感的游戏世界。材质定义物体表面属性,如颜色、光滑度等;纹理则用于模拟真实细节。结合使用两者可显著增强场景真实感。以 FPS 游戏为例,通过调整材质参数和编写脚本动态改变属性,可实现自然视觉效果。此外,Unity 还提供了多种高级技术和优化方法供开发者探索。
41 0
|
2月前
|
图形学
小功能⭐️Unity中利用材质自发光实现物体闪烁效果
小功能⭐️Unity中利用材质自发光实现物体闪烁效果
|
5月前
|
图形学
【Unity Shader#自定义材质面板_第一篇】
【Unity Shader#自定义材质面板_第一篇】
|
存储 编译器 图形学
使用Unity在材质球上实现绘画:详细解释每一行Shader代码!
使用Unity在材质球上实现绘画:详细解释每一行Shader代码!
168 0
|
存储 编译器 图形学
使用Unity在材质球上实现绘画:详细解释每一行Shader代码!
使用Unity在材质球上实现绘画:详细解释每一行Shader代码!
165 0
|
图形学 机器人
带你读《Unity游戏开发(原书第3版)》之三:模型、材质和纹理
本书主要介绍Unity2018的使用和游戏开发流程中涉及的各种知识。每一章的结构特别清晰,先综述该章要介绍的内容,然后一步步深入讲解,中间穿插着很多动手做的实践操作,可以让读者加深对某个概念、方法的理解,每章的最后还有一个小测验和一个稍微大一点的实践练习,用于巩固该章的学习内容。
下一篇
无影云桌面