Untiy Shader實(shí)現(xiàn)紋理貼圖滾動(dòng)
滾動(dòng)紋理,可以實(shí)現(xiàn)一些如瀑布,河流,熔巖流等效果,本質(zhì)上就是UV坐標(biāo)的偏移,在Unity中新建一個(gè)Shader,然后修改成下面代碼的樣子,新建一個(gè)材質(zhì),選擇此shader,賦予一張貼圖,然后將材質(zhì)應(yīng)用于一個(gè)mesh上,運(yùn)行即可看到效果
Shader "Custom/UVOffset" { Properties { _MainTint("Diffuse Tine",Color) = (1,1,1,1) _MainTex("Base (RGB)",2D) = "white"{} _ScrollXSpeed("X Scroll Speed",Range(0,10)) = 0 _ScrollYSpeed("Y Scroll Speed",Range(0,10)) = 2 } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM // Physically based Standard lighting model, and enable shadows on all light types #pragma surface surf Standard fullforwardshadows // Use shader model 3.0 target, to get nicer looking lighting #pragma target 3.0 // 定義 Properties 中的屬性 fixed4 _MainTint; fixed _ScrollXSpeed; fixed _ScrollYSpeed; sampler2D _MainTex; struct Input { float2 uv_MainTex; }; void surf (Input IN, inout SurfaceOutputStandard o) { fixed2 scrolledUV = IN.uv_MainTex; fixed xScrollValue = _ScrollXSpeed * _Time; fixed yScrollValue = _ScrollYSpeed * _Time; scrolledUV += fixed2(xScrollValue,yScrollValue); // 對(duì)貼圖進(jìn)行采樣輸出 half4 c = tex2D(_MainTex,scrolledUV); o.Albedo = c.rgb * _MainTint; o.Alpha = c.a; } ENDCG } FallBack "Diffuse" }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#通過cmd調(diào)用7z軟件實(shí)現(xiàn)壓縮和解壓文件
這篇文章介紹了C#通過cmd調(diào)用7z軟件實(shí)現(xiàn)壓縮和解壓文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04C#設(shè)計(jì)模式編程中運(yùn)用適配器模式結(jié)構(gòu)實(shí)戰(zhàn)演練
這篇文章主要介紹了C#設(shè)計(jì)模式編程中運(yùn)用適配器模式結(jié)構(gòu)實(shí)戰(zhàn)演練,并總結(jié)了適配器模式的優(yōu)缺點(diǎn)和適用場(chǎng)景以及.NET框架中的應(yīng)用,需要的朋友可以參考下2016-02-02c#學(xué)習(xí)教程之JSON文件及解析實(shí)例
json作為互聯(lián)網(wǎng)上輕量便捷的數(shù)據(jù)傳輸格式,越來越受到重視,下面這篇文章主要給大家介紹了關(guān)于c#學(xué)習(xí)教程之JSON文件及解析的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08詳解C#中通過委托來實(shí)現(xiàn)回調(diào)函數(shù)功能的方法
這篇文章主要介紹了C#中通過委托來實(shí)現(xiàn)回調(diào)函數(shù)功能的方法,文中舉了一個(gè)典型的多線程回調(diào)程序?qū)嵗?需要的朋友可以參考下2016-04-04