固定管线shader以及unity旋转四元数

来源:互联网 发布:专业排版设计软件 编辑:程序博客网 时间:2024/06/05 05:13
Shader "Custom/fg" {    Properties {        _Color("Main Color", Color) = (1,1,1,1)        _Ambient("Ambient",Color) = (1,1,1,1)        _Specular("Specular",Color) = (1,1,1,1)        _emmision("Emission",Color)=(1,1,1,1)        _constanColor("ConstantColor",Color)=(1,1,1,0.3)        _MainTex("Main Tex",2D)=""        _SecondTex("Second Tex",2D)=""    }    SubShader {        Tags{"Queue" = "Transparent"}        pass        {            //当前alpha与1-alpha值相混合            Blend SrcAlpha OneMinusSrcAlpha            Material            {                diffuse[_Color]                Ambient[_Ambient]                specular[_Specular]                Emission[_emmision]            }            Lighting on            separatespecular on            SetTexture[_MainTex]            {               //combine叠加 纹理以及原来顶点计算效果               //2倍光照double 4倍quad               //一个SetTexture只带一个参数               Combine texture *primary double            }            //叠加纹理不能直接用primary 需要用之前计算过的结果使用 previous            //显卡会限制混合纹理个数            SetTexture[_SecondTex]            {               //ConstantColor与当前alpha想乘               ConstantColor[_constanColor]               Combine texture *previous double,texture*constant            }        }    } }
using UnityEngine;using System.Collections;public class rotationTest : MonoBehaviour {    float speed = 0.1f;    private Quaternion end = new Quaternion(0.7f, 0, 0, 0.7f);    float time;    // Use this for initialization    void Start () {    }    // Update is called once per frame    void Update () {        if (Input.GetKey(KeyCode.A))        {            transform.rotation = Quaternion.Lerp(transform.rotation, end, Time.time * speed);        }    }}
0 0
原创粉丝点击