有時候,需要在乙個uiscrollview中顯示乙個帶有3d模型或者粒子特效的列表
ngui的uiscrollview無法裁剪3d模型和粒子特效,所以想到乙個辦法就是使用攝像機來裁剪
最重要的是攝像機的裁剪區域的設定,需要使用到ngui的uiviewport指令碼
預設上需要事先掛好攝像機,並建立乙個 topleft 和乙個 bottomright 作為裁剪區域的左上角和右下角的定位
結構如下:
ui root
|__uicamera
|___mypanel
|___myuicamera
|___topleft
|___bottomright
|___scrollviewpanel
|___uigrid
|___item0
|___obj3d
|___item1
|___obj3d
|___item2
|___obj3d
攝像機 myuicamera 的clearflags設定為depth only,projection設定為orthographic(正交)
culling mask可以用**動態設定,假設obj_3d的layer我們設定成24,**如下
int layer = 24;
nguitools.setlayer(obj3d, layer);
myuicamera.cullingmask = 2^layer; //相當於1左移24位
接下來是設定裁剪區,介面
public static void setcullingcamviewport(camera sourcecam, camera targetcam, transform toplefttrans, transform bottomrighttrans, gameobject dragroot)
呼叫:
//假設你的ngui主攝像機是globalobj.nguicamera
setcullingcamviewport(globalobj.nguicamera, myuicamera, topleft, bottomright, scrollviewpanel);
完畢 unity3d攝像機引數
1.clear flags 清除標記。決定螢幕的哪部分將被清除。一般使用者使用對台攝像機來描繪不同遊戲物件的情況,有3中模式選擇 skybox 天空盒。預設模式。在螢幕中的空白部分將顯示當前攝像機的天空盒。如果當前攝像機沒有設定天空盒,會預設用background色。solid color 純色。選...
unity3d攝像機引數解釋
unity3d攝像機引數 1.clear flags 清除標記。決定螢幕的哪部分將被清除。一般使用者使用對台攝像機來描繪不同遊戲物件的情況,有3中模式選擇 skybox 天空盒。預設模式。在螢幕中的空白部分將顯示當前攝像機的天空盒。如果當前攝像機沒有設定天空盒,會預設用background色。sol...
unity3D之攝像機的調換
知識總結 我們今天主要學習了關於攝像機的轉換問題,對於轉換攝像機,我們只需要在遊戲物件下面加個攝像機,然後因為是第一人稱所以需要給遊戲物件新增角色控制器,這樣才能實現遊戲物件的移動,再接著你也可以用於移動來使物體移動。下面先看看效果吧 如下 首先是立方體的 public charactercontr...