新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Unity3DShader實(shí)現(xiàn)鏡子效果的方法
這篇文章主要講解了Unity3D Shader實(shí)現(xiàn)鏡子效果的方法,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、陸河ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的陸河網(wǎng)站制作公司
Shader部分代碼:
Shader "Custom/FanShe" { Properties{ _MainTex("Albedo",2D) = "white"{} _MainTint("Diffuse Color",Color)=(1,1,1,1) _Cubemap("Cubemap",CUBE) = ""{} _ReflAmount("Reflection Amount",Range(0.1,1.0))=0.5 } SubShader{ Tags{"RenderType"="Opaque"} LOD 200 CGPROGRAM #pragma surface surf Lambert #pragma target 3.0 struct Input { float2 uv_MainTex; float3 worldRefl; }; sampler2D _MainTex; samplerCUBE _Cubemap; fixed4 _MainTint; half _ReflAmount; void surf(Input IN, inout SurfaceOutput o) { fixed4 c = tex2D(_MainTex, IN.uv_MainTex)*_MainTint; o.Albedo = c.rgb; o.Emission = texCUBE(_Cubemap, IN.worldRefl)*_ReflAmount; o.Alpha = c.a; } ENDCG } FallBack "Diffuse" }
C#部分代碼:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Shader_FanShe : MonoBehaviour { public Cubemap cubeMap; public Camera cam; Material curmat; // Use this for initialization void Start () { InvokeRepeating("change", 1, 0.1f); curmat = gameObject.GetComponent().material; if (curmat == null) { Debug.Log("cw"); } } // Update is called once per frame void Update () { } void change() { cam.transform.rotation = Quaternion.identity; cam.RenderToCubemap(cubeMap); curmat.SetTexture("_Cubemap",cubeMap); } }
看完上述內(nèi)容,是不是對(duì)Unity3D Shader實(shí)現(xiàn)鏡子效果的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞標(biāo)題:Unity3DShader實(shí)現(xiàn)鏡子效果的方法
URL標(biāo)題:http://fisionsoft.com.cn/article/peechp.html