Unity3D攝像機裁剪 NGUI篇

2021-09-09 08:57:13 字數 1169 閱讀 5835

有時候,需要在乙個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...