Unity 动态切换天空盒\反射天空盒材质
生活随笔
收集整理的這篇文章主要介紹了
Unity 动态切换天空盒\反射天空盒材质
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果只是單純的想動態更換天空盒:推薦查看這個文章關于Unity中如何代碼動態修改天空盒 - 流星與蝴蝶 - 博客園
?
?
?
????????4.通過上一步發現Cubmap的name叫_Tex,寫腳本,sky_tex[]是天空盒圖片的數組
通過腳本可以實現動態的天空盒切換.這種方法對于模型材質中反射天空盒的效果是沒有的(有效果的在下面),他的反射只會停留在第一個天空盒,即使你再怎么變換天空盒它還是不會改變.
假設我們第一次的天空盒是這個樣子,鏡片反射也是這個樣子
當我們通過腳本實現動態求換天空盒之后會發現只有背景變了,鏡片的反射效果還是會停留在第一個天空盒.
?
一般修改天空盒的方法
在這里修改之后要點擊下面的生成照明,我搜索了一下好像沒有找到動態點擊這個按鈕的方法.(望大佬指點)
隨著天空盒的變換對應模型的反射也發生變化 方法1
新建一個反射探測器,然后將模型放在這個發射探測器里面,也會實現反射效果.
調整參數,
?這樣就設置完之后再結合上面的腳本就可以實時更改鏡片的反射效果了(這種方法可能會比較耗時,再來推薦一種比較好的方法).
方法2
?這樣我們只需要修改里面的立方體貼圖,新建腳本加入以下代碼
//天空盒文件夾的名字 private string sky_texture = "sky_texture"; //找到名為:ReflectionProbe 的游戲對象 GameObject fs = GameObject.Find("ReflectionProbe"); //獲取對應的組件(可以獲取"ReflectionProbe"對象里面的任何組件,只需要修改<>中的名字) refProbe = fs.GetComponent<ReflectionProbe>(); //指定自定義反射紋理 refProbe.customBakedTexture = Resources.Load(sky_texture + "/Sky" + sky_i) as Texture;總結
以上是生活随笔為你收集整理的Unity 动态切换天空盒\反射天空盒材质的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实现RSA公私钥PKCS8与PK
- 下一篇: Linux C/C++UDP通信实现