3DGameKit 다양한 효과 설명: Trail 효과

11172 단어 Unity3DGameKit

개요


다음은 3D게임키트가 사용하는 다양한 효과와 시각적 효과에 대해 설명한다.
길기 때문에 기사를 몇 개로 나눈다.

공격 클로즈업 효과


엘렌 공격의 트릴 효과를 봐.유니티에서 궤적의 효과는 트레일 랜더가 있는데 엘렌의 효과는 서로 다른 방법으로 이루어진다.
3DGameKit의 학습.플레이어의 공격 효과#unity #3DGamekit pic.twitter.com/9JEuMf5ZQ2 — unagi (@UnagiHuman) 2018년 5월 10일

Ellen의 효과는 면도기로 반원의 고리 모양을 애니메이션하여 더욱 비슷하게 보이는 것이다br/>
다음 gif 애니메이션은 궤적 음영선 Unlit/Swish에서 Texture의 Offset 매개 변수가 변동한 후 애니메이션화된 그림입니다p>


상술한 애니메이션의 소재는 다음과 같은 고리 모양의 모델이다


이 모델은 애니메이션에서 다음 텍스쳐를 참조합니다.br/>


Unlit/Swish에서 볼 수 있듯이 디트로이트를 어떻게 참조하는지,


정점 그림자에서 빨간색 무늬 성분을 보는 애니메이션 모형 정점의 법선 방향
세그먼트 섀도우에서 텍스쳐의 rgb를 참조하여 Trile과 같은 애니메이션을 표현합니다.p>

Shader "Unlit/Swish"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
        [HDR]_Color ("Color", Color) = (1,1,1,1)
    }
    SubShader
    {

        Tags {"Queue" = "Transparent"  "RenderType"="Transparent" }
        ZWrite Off
          Cull Off
          Blend SrcAlpha One


        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            // make fog work
            #pragma multi_compile_fog

            #include "UnityCG.cginc"

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

            struct v2f
            {
                float2 uv : TEXCOORD0;
                float4 uv2 : TEXCOORD2;
                UNITY_FOG_COORDS(1)
                float4 vertex : SV_POSITION;
            };

            sampler2D _MainTex;
            float4 _MainTex_ST;
            float4 _Color;

            v2f vert (appdata v)
            {
                v2f o;

                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = TRANSFORM_TEX(v.uv, _MainTex);
                o.uv2 = float4(v.uv, 0 ,0);
                float4 vertData = tex2Dlod(_MainTex, float4(o.uv, 0, 0)).rrrr;
                v.vertex.xyz -= v.normal * 0.02;
                v.vertex.xyz += vertData * v.normal * 0.1;
                o.vertex = UnityObjectToClipPos(float4(v.vertex.xyz, 1));
                UNITY_TRANSFER_FOG(o,o.vertex);
                return o;
            }

            fixed4 frag (v2f i) : SV_Target
            {
                // sample the texture
                fixed4 tex = tex2D(_MainTex, i.uv2);
                fixed4 col = tex2D(_MainTex, i.uv).r * _Color * tex.g * tex.b;
                // apply fog
                UNITY_APPLY_FOG(i.fogCoord, col);
                return col;
            }
            ENDCG
        }
    }
}


정점 음영 내에서 진행하는 애니메이션


단편 시디의 애니메이션


위의 두 애니메이션을 작성한 후 Trile 효과를 완성합니다.


좋은 웹페이지 즐겨찾기