zoukankan      html  css  js  c++  java
  • 嘴部动画替换贴图

    手机上此shader不支持

    Shader "Unlit/MouthAnimUnlit"
    {
    Properties
    {
    _DefaultTex("Texture", 2D) = "white" {}
    _AnimType("AnimType",Int) = 0
    _Index("Index",Int) = 0
    _SpeakTex_0("Texture", 2D) = "white" {}
    _SpeakTex_1("Texture", 2D) = "white" {}
    _SpeakTex_2("Texture", 2D) = "white" {}
    _SpeakTex_3("Texture", 2D) = "white" {}
    _SmileTex_0("Texture", 2D) = "white" {}
    _SmileTex_1("Texture", 2D) = "white" {}
    }
    SubShader
    {
    Tags { "RenderType"="Opaque" }
    LOD 100

    Pass
    {
    CGPROGRAM
    #pragma enable_d3d11_debug_symbols
    #pragma vertex vert
    #pragma fragment frag

    #include "UnityCG.cginc"

    struct appdata
    {
    float4 vertex : POSITION;
    float2 uv : TEXCOORD0;
    };

    struct v2f
    {
    float2 uv : TEXCOORD0;
    float4 vertex : SV_POSITION;
    };

    sampler2D _DefaultTex;
    sampler2D _SpeakTex_0;
    sampler2D _SpeakTex_1;
    sampler2D _SpeakTex_2;
    sampler2D _SpeakTex_3;
    sampler2D _SmileTex_0;
    sampler2D _SmileTex_1;

    int _Index;
    int _AnimType;

    v2f vert (appdata v)
    {
    v2f o;
    // 模型坐标转换到摄像机的剪裁空间
    o.vertex = UnityObjectToClipPos(v.vertex);

    o.uv = v.uv;


    return o;
    }

    fixed4 frag (v2f i) : SV_Target
    {
    if (_AnimType == 0) {
    if (_Index == 0) {
    return tex2D(_SpeakTex_0, i.uv);
    }
    else if (_Index == 1) {
    return tex2D(_SpeakTex_1, i.uv);
    }
    else if (_Index == 2) {
    return tex2D(_SpeakTex_2, i.uv);
    }
    else if (_Index == 3) {
    return tex2D(_SpeakTex_3, i.uv);
    }
    }
    else if (_AnimType == 1) {
    if (_Index == 0) {
    return tex2D(_SmileTex_0, i.uv);
    }
    else if (_Index == 1) {
    return tex2D(_SmileTex_1, i.uv);
    }
    }
    // sample the texture

    fixed4 col = tex2D(_DefaultTex, i.uv);
    return col;
    }
    ENDCG
    }
    }
    }

  • 相关阅读:
    js获取元素位置和style的兼容性写法
    javascript正则表达式---正向预查
    Typescript学习笔记(五) 模块机制
    Typescript学习笔记(四)class 类
    Typescript学习笔记(三)变量声明及作用域
    Typescript学习笔记(二)枚举
    Typescript学习笔记(一)基础类型
    tar命令
    linux的nohup命令的用法。
    vue.js移动端app实战1
  • 原文地址:https://www.cnblogs.com/alps/p/8024874.html
Copyright © 2011-2022 走看看