1. 程式人生 > >2018版經典U3D面試題

2018版經典U3D面試題

一、什麼是渲染管道? 

是指在顯示器上為了顯示出影象而經過的一系列必要操作。渲染管道中的很多步驟,都要將幾何物體從一個座標系中變換到另一個座標系中。主要步驟有: 本地座標->檢視座標->背面裁剪->光照->裁剪->投影->檢視變換->光柵化。 

二、如何優化記憶體? 

有很多種方式,例如: 

1.壓縮自帶類庫; 

2.將暫時不用的以後還需要使用的物體隱藏起來而不是直接Destroy掉; 

3.釋放AssetBundle佔用的資源;

4.降低模型的片面數,降低模型的骨骼數量,降低貼圖的大小;

5.使用光照貼圖,使用多層次細節(LOD),使用著色器(Shader),使用預設(Prefab)。 

三、動態載入資源的方式?

1.Resources.Load(); 2.AssetBundle

四、什麼是協同程式? 

在主執行緒執行時同時開啟另一段邏輯處理,來協助當前程式的執行。換句話說,開啟協程就是開啟一個執行緒。可以用來控制運動、序列以及物件的行為。 

五、你用過哪些外掛? 

(多熟悉幾個外掛更好,問的時候好回答) 

六、使用Unity3d實現2d遊戲,有幾種方式?

1.使用本身的GUI; 

2.把攝像機Projection(投影)值調為Orthographic(正交投影),不考慮z軸; 

3.使用2d外掛,如:2DToolKit.

七、Unity3d中的碰撞器和觸發器的區別? 

碰撞器有碰撞的效果,IsTrigger=false,可以呼叫OnCollisionEnter/Stay/Exit函式; 觸發器沒有碰撞效果,IsTrigger=true,可以調OnTriggerEnter/Stay/Exit函式。 

八、物體發生碰撞的必要條件 

兩個物體都必須帶有碰撞器(Collider),其中一個物體還必須帶有Rigidbody剛體。 

九、CharacterController和Rigidbody的區別? 

CharacterController自帶膠囊碰撞器,裡面包含有剛體的屬性; Rigidbody就是剛體,使物體帶有剛體的特徵。