900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > unity怎么制作云飘动_Unity Shader教程之 旗帜飘扬效果的简单实现

unity怎么制作云飘动_Unity Shader教程之 旗帜飘扬效果的简单实现

时间:2022-05-08 00:34:48

相关推荐

unity怎么制作云飘动_Unity Shader教程之 旗帜飘扬效果的简单实现

Flag 脚本具体内容如下:

Shader "Custom/Flag" {

Properties

{

_MainTex("MainTex",2D)="White"{}

_MainColor("MainColor",color)=(1,1,1,1)

_ScaleX("ScaleX",float)=1

_ScaleZ("ScaleZ",float)=1

_Slant("Slant",Range(0,3))=1

_SpeedX("Speed",float)=1

_SpeedZ("Speed",float)=1

}

SubShader

{

pass

{

Cull off

CGPROGRAM

#pragma vertex vert

#pragma fragment frag

#include "UnityCG.cginc"

struct v2f

{

float4 pos:POSITION;

float2 uv:TEXCOORD0;

};

sampler2D _MainTex;

float4 _MainTex_ST;

fixed4 _MainColor;

float _ScaleX;

float _ScaleZ;

float _SpeedX;

float _SpeedZ;

float _Slant;

v2f vert(appdata_base v)

{

v2f o;

float x = (1 - (v.vertex.x + 5)/10);

v.vertex.y += _ScaleX * x * sin(v.vertex.x + _Time.z*_SpeedX);

v.vertex.y += _ScaleZ * x * sin(v.vertex.z + _Time.y*_SpeedZ);

v.vertex.z += _Slant * x;

o.pos = UnityObjectToClipPos(v.vertex);

o.uv = TRANSFORM_TEX(v.texcoord,_MainTex);

return o;

}

fixed4 frag(v2f i):COLOR

{

fixed4 color = tex2D(_MainTex,i.uv);

return color;

}

ENDCG

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。