unity3d NGUI制作角色展示框


最近在搞賽車漂移,所以一直沒有更新博客

現在已經實現圈數檢測、復位點檢測、反向檢測等功能

本來准備寫成三篇文章的,太忙了,等過段時間不忙了在寫吧

今天有朋友問我3D角色怎么給他固定在一個框里面

這個功能前段時間也本來准備寫的,太忙了,所以也沒有寫。。。。

正好朋友問,那就先寫一篇吧

先上效果圖:

請無視我騷氣的昵稱吧!哈哈

從上圖中可以看見我的翅膀沒有超出邊界框,而是被邊界框覆蓋了

相信看過我前幾篇文章的朋友應該知道怎么實現的

沒錯,這里用到了層

那么問題來了,光用一個層能搞定3D角色固定在框里面?

那肯定是不行的呀!聽我一一道來

先新建一個層:player

在新建一個camera,參數設置如下:

ok,現在我們拖入角色模型,然后將模型transform參數重置

模型位置:Assets\NGUI\Examples\Models\Orc\Orc.prefab

當然如果你自己有模型的話就用你自己的模型

我們將角色的層設置為Player,這時候你會發現角色突然變大了

選中剛才創建的camera,隨便拖動Viewport rece的四個參數中的任意一個

你會發現相機會的大小會隨之而改變

我們可以手動慢慢調節到適合模型的大小,但是這樣實在是太費勁了,不是嗎?

我當然有更好的方法,這個方法放在本文最后說

我們現在開始制作角色顯示底框,用NGUI創建2DCamera

然后做一個底框:創建一個UISprite,隨便選個方形圖就行

如下圖:

細心的小伙伴會發現“咦,不是用了層嘛,怎么角色被UI遮擋住了?”

我們檢查一下UICamera和playerCamera的Depth

soga,我們剛才先設置了,那我們改下,把UICamera的Depth改為0

哦了,現在角色顯示在框框前面了

現在我們在剛才創建的Sprite下創建兩個空物體,並且reset

分別取名為topLeft和bottomRight

然后兩個都要添加UIAnchor腳本

UI Camera設置的就是UI的相機,直接拖上去就行

Container設置為Sprite

side對應空物體的名稱,topLeft和bottomRight

這個地方其實很簡單,不懂的看下圖:

設置完以后你會發現空物體的坐標改變了!

現在我們進行最后一個步驟,選擇playerCamera,添加UIViewport腳本

source camera他自動幫你設置好了,如果沒有,你可以設置我UIcamera

將剛才創建的兩個空物體拖到對應的參數上

看看我們的場景,是不是已經成功把3D角色固定在框框里了?

更本就不用手動設置Viewport Rece,那樣要累死人啊

我們的角色顯示貌似有點不對,調節一下Full Size和plaer的坐標

怎么樣,這個功能是不是很酷炫呢

沒加光照有些黑!

如果你還要繼續在面板上加UI的話,你就必須要重新添加一個camera了

所以我的角色展示框是單獨寫出來的,如果都寫成一堆看起來真夠累的

好了,繼續研究我的漂移去了

 

本文鏈接:http://www.cnblogs.com/shenggege/p/4284241.html


免責聲明!

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



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