Unity制作出《超級馬里奧》的2D和3D混合效果


現在來做點別的東西。Nintendo Switch上剛推出的《超級馬里奧》中,有一些關卡混合了2D和3D的畫面,這種效果十分讓人印象深刻。如何在Unity中實現這個效果呢?

正常情況下,攝像機會直接渲染到你的屏幕。我們如何能讓攝像機看到內容並顯示在另一個對象上呢?你可能注意到攝像機有一個屬性,叫目標紋理(Target Texture)。

 

我們要在Asset文件夾里新建一個渲染紋理(Render Texture),添加到攝像機上。你可以在項目窗口依次點擊Create -> Render Texture來新建渲染紋理。創建好后,你可以將它拖到攝像機上的Target Texture屬性中。攝像機這時會將所有對象都渲染到這個紋理上。如果現在進入運行模式,游戲畫面將呈現為一片漆黑,因為目前沒有激活的攝像機渲染到屏幕上。

 

現在,我們要加入一個新攝像機到場景中,攝像機的Projection屬性為Perspective。在攝像機前添加一個新的3D對象,本例中,我們添加的是圓柱體。然后創建新材質,其Shader屬性設為Unlit/Texture,再將剛剛創建的渲染紋理拖到這個材質上的Main Texture部分。

 

得到的效果如下圖。

這樣一來,我們就實現了類似《超級馬里奧》中的2D和3D混合效果,是不是很簡單!

 

資源下載

項目《超級馬里奧》下載地址:

https://pan.baidu.com/s/1f3aoPLFr2vPk_ioaN1EyKQ


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM