如何用unity做兩面互相反射的鏡子?
01-13
試過了用water reflection的代碼,和reflection probe做鏡子,但不能互相反射。
試過了render texture,可以互相反射,但render texture並不是鏡子的效果,尤其當第一人稱角色走近鏡子的時候,完全不是鏡子的表現。
請問有沒有可能在unity中做出來兩面鏡子互相反射的效果?或者模擬效果?如何實現?
謝謝。
閑著沒事寫了一個
方法就是用渲染前的OnWillRenderObject事件在主相機渲染前創建鏡子相機實現遞歸渲染,用下層渲染出的RenderTexture當做上層的材質Unity的函數調用順序比較蛋疼,遞歸時注意恢復狀態
鏡子翻轉後相機坐標系左手變右手,右手變左手,backfacing要翻一下learn_unity/MirrorReflection.cs at unity4.6 · AmbBAI/learn_unity · GitHubPortal rendering
起床做了個:
相機和鏡子關係還是不對, 但這說明可以用 unity 直接實現了!
方法就是兩個鏡子後面分別一個相機, 渲染目標是 render texture, 同時把這個 render texture 作為鏡子材質的 texture.編輯時只渲染了三層, 運行後渲染的層數較多.至於畫面還是需要 clear 的, 不 clear 雖然反射數量越來越多, 但同時質量越疊越低, 鋸齒會很明顯, 而且物體移動就留下影子了.
又細想了一下, 相機位置不能是固定的, 應當是屏幕相機在鏡子里對稱的位置.似乎比較複雜, 明天再整理答案, 睡了......Asset Store搜遞歸鏡子倒是找到一個
推薦閱讀:
※如何用高效的用 shader 實現柱狀圖?
※哪裡有Unity3D遊戲開發的教程?
※C#初學者問一個問題?
※會Unity 3D的技術人才現在是否緊俏?做此類培訓的市場前景如何?
※Unity 高級程序員應該具備怎樣的能力?要怎樣成長為 Unity 高級程序員?
TAG:Unity遊戲引擎 |