更换standard shader模式
来源:互联网 发布:淘宝店关闭了还能开吗 编辑:程序博客网 时间:2024/04/29 15:40
这仅仅是改了选项,实际渲染序列并没有发生变化:
using UnityEngine;using System.Collections;public class test : MonoBehaviour{// Use this for initializationvoid Start (){}// Update is called once per framevoid Update (){if (Input.GetMouseButtonDown (0)) {StartCoroutine ("ChangeColor");}}IEnumerator ChangeColor (){gameObject.GetComponent<Renderer> ().material.SetFloat ("_Mode", 3);yield return null;Color color = Color.red;gameObject.GetComponent<Renderer> ().material.color = new Color (color.r, color.g, color.b, 0.5f);}}
正确的方式:
switch (blendMode) { case BlendMode.Opaque: material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero); material.SetInt("_ZWrite", 1); material.DisableKeyword("_ALPHATEST_ON"); material.DisableKeyword("_ALPHABLEND_ON"); material.DisableKeyword("_ALPHAPREMULTIPLY_ON"); material.renderQueue = -1; break; case BlendMode.Cutout: material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero); material.SetInt("_ZWrite", 1); material.EnableKeyword("_ALPHATEST_ON"); material.DisableKeyword("_ALPHABLEND_ON"); material.DisableKeyword("_ALPHAPREMULTIPLY_ON"); material.renderQueue = 2450; break; case BlendMode.Fade: material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha); material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha); material.SetInt("_ZWrite", 0); material.DisableKeyword("_ALPHATEST_ON"); material.EnableKeyword("_ALPHABLEND_ON"); material.DisableKeyword("_ALPHAPREMULTIPLY_ON"); material.renderQueue = 3000; break; case BlendMode.Transparent: material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha); material.SetInt("_ZWrite", 0); material.DisableKeyword("_ALPHATEST_ON"); material.DisableKeyword("_ALPHABLEND_ON"); material.EnableKeyword("_ALPHAPREMULTIPLY_ON"); material.renderQueue = 3000; break; }
0 0
- 更换standard shader模式
- Standard shader 和 Standard (Specular setup) Shader
- unity standard shader 源码
- Standard Shader各种参数的意义
- 运行时修改Standard shader的Mode
- Unity Shader 学习笔记(32) Unity中的Standard Shader
- android standard加载模式
- unity修改材质属性和更换shader
- 【UE4 shader】溶解后更换材质
- 【Unity Shader】概述以及Diffuse shader和unity5新功能Standard shader
- Unity5 新功能解析--物理渲染与standard shader
- Unity5 新功能解析--物理渲染与standard shader
- 【Reading Notes】CP1-Create a basic Standard Shader
- Unity3D change standard shader rendering mode in runtime
- Unity标准着色器(Standard Shader)参数讲解(一)
- Unity标准着色器(Standard Shader)参数讲解(二)
- Unity标准着色器(Standard Shader)参数讲解(三)
- Unity通过代码修改Standard shader的rendering mode
- 数据结构和二级指针
- Obiee 11g部署echarts
- PHP实现排序算法----堆排序(Heap Sort)
- BroadcastReceiver简介和注册方式
- Javascript基础_08DOM初级应用
- 更换standard shader模式
- 解决ScrollView嵌套recycleView高度不匹配的问题
- 疯狂H5讲义 - 大小、定位、轮廓相关属性
- C#50课的主要内容
- poj3007 Organize Your Train part II(字典树)
- Redis-Redis实战(字符串类型)
- 78万数据搬家 搬到另一张表中 用时66秒
- 微服务架构之RPC-client序列化细节
- java设计原则 第五篇----开闭原则【Open Close Principle 】