最近在搞賽車漂移,所以一直沒有更新博客
現在已經實現圈數檢測、復位點檢測、反向檢測等功能
本來准備寫成三篇文章的,太忙了,等過段時間不忙了在寫吧
今天有朋友問我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