天天看點

Unity編輯器基礎

一丶題目: 請描述遊戲動畫有幾種,以及其原理。

答案:

主要有關節動畫、單一網格模型動畫(關鍵幀動畫)、骨骼動畫。

關節動畫把角色分成若幹獨立部分,一個部分對應一個網格模型,部分的動畫連接配接成一個整

體的動畫,角色比較靈活 Quake2 中使用了這種動畫。

單一網絡模型動畫由一個完整的網格模型構成, 在動畫序列的關鍵幀裡記錄各個頂點的原位

置及其改變量,然後插值運算實作動畫效果,角色動畫較真實。

骨骼動畫,廣泛應用的動畫方式,內建了以上兩個方式的優點,骨骼按角色特點組成一定的

層次結構,由關節相連,可做相對運動,皮膚作為單一網格蒙在骨骼之外,決定角色的外觀。

皮膚網格每一個頂點都會受到骨骼的影響,進而實作完美的動畫。(骨骼動畫是由關節動畫

發展而來的,如今基本都使用骨骼動畫來實作角色動畫)

公司出處:上海華勤通訊

二丶題目: 物體發生碰撞的必要條件

答案:

物體 A 必須帶有(collider+rigidbody)或者 CharacterController,另一個物體也必須至少帶有 collider

公司出處:上海華勤通訊

三丶題目: GUI與UGUI的優點和缺點

答案:

GUI不友善控制,UGUI所見即所得,友善控制。GUI使用在生命周期函數OnGUI中使用,腳本來書寫控制。UGUI使用Canvas畫布和事件系統。UGUI适應螢幕上比GUI簡單。

公司出處:上海華勤通訊

四丶題目: 一個場景放置多個carmera并同時處于活動狀态,會發生什麼

答案:

實際看到的畫面由多個 camera 的畫面組成,由 depth、Clear Flag、Culling Mask 都會影響最終合成效果。

公司出處:上海華勤通訊

五丶題目: 使用過哪些第三方插件?

答案

一 界面制作 推薦:NGUI

二 2D 遊戲制作 推薦:2D Toolkit //[ˈtu:lkɪt] 工具包,工具箱三

可視化程式設計 推薦:PlayMaker

四 插值插件 推薦:iTween,HOTween

五 路徑搜尋 推薦:Simple Path

六 美術及動畫制作 推薦:RageSpline,Smooth Moves

七 畫面增強 推薦:Bitmap2Material,Strumpy Shader Editor

八 錄影機管理 推薦:Security Camera

九 資源包 推薦:Nature Pack

十、造路插件 EasyRoads3D

公司出處:上海萌果資訊科技有限公司/上海華勤通訊

六丶題目: U3D 中用于記錄節點空間幾何資訊的元件名稱,及其父類名稱

答案:

Transform 父類是 Component

公司出處:上海華勤通訊

七丶題目: 為何大家都在移動裝置上尋求 U3D 原生 GUI 的替代方案

答案:

不美觀,OnGUI 很耗費時間,使用不友善 ,DrawCall

公司出處:上海華勤通訊

八丶題目: 請簡述如何在不同分辨率下保持 UI 的一緻性

答案:

NGUI 很好的解決了這一點,螢幕分辨率的自适應性,原理就是計算出螢幕的寬高比跟原來的預設的螢幕分辨率求出一個對比值,然後修改錄影機的 size。

公司出處:上海悉夢計算機

九丶題目: 為什麼 dynamic font 在 unicode 環境下優于 static font

答案:

Unicode 是國際組織制定的可以容納世界上所有文字和符号的字元編碼方案。

使用動态字型時,Unity 将不會預先生成一個與所有字型的字元紋理。當需要支援亞洲語言或者較大的字型的時候,若使用正常紋理,則字型的紋理将非常大。

公司出處:上海悉夢計算機

十丶題目: Render 的作用?描述 MeshRender 和 SkinnedMeshRender 的關系與不同

答案:

Mesh 就是指模型的網格(同名元件是用于調整網格屬性的),MeshFilter 一般是用于獲得模型網格的元件,而 MeshRender 是用于把網格渲染出來的元件

公司出處:上海悉夢計算機

十一丶題目: 簡述 SkinnedMesh 的實作原理

答案:

Skinned Mesh 中文一般稱作骨骼蒙皮動畫.這種動畫中包含骨骼( Bone )和蒙皮 (Skinned Mesh) 兩個部分, Bone 的層次結構和關節動畫類似, Mesh 則和關節動畫不同:關節動畫中是使用多個分散的 Mesh, 而 Skinned Mesh 中 Mesh 是一個整體,也就是說隻有一個 Mesh, 實際上如果沒有骨骼讓 Mesh 運動變形, Mesh 就和靜态模型一樣了。Skinned Mesh 技術的精華在于蒙皮,所謂的皮并不是模型的貼圖。而是 Mesh 本身,蒙皮是指将 Mesh 中的頂點附着(綁定)在骨骼之上,而且每個頂點可以被多個骨骼所控制,這樣在關節處的頂點由于同時受到父子骨骼的拉扯而改變位置就消除了裂縫。可以了解為具有蒙皮資訊的 Mesh 或可當做皮膚用的 Mesh ,這個皮膚就是 Mesh 。而為了有皮膚功能, Mesh 還需要蒙皮資訊,即 Skin 資料,沒有 Skin 資料就是一個普通的靜态 Mesh 了。 Skin 資料決定頂點如何綁定到骨骼上。頂點的 Skin 資料包括頂點受哪些骨骼影響以及這些骨骼影響該頂點時的權重 (weight) ,另外對于每塊骨骼還需要骨骼偏移矩陣 (BoneOffsetMatrix) 用來将頂點從 Mesh 空間變換到骨骼空間。公司出處:上海悉夢計算機

十二丶題目: Prefab 的作用?如何在移動環境的裝置下恰當地使用它?

答案:

在遊戲運作時執行個體化,prefab 相當于一個模版,對你已有的素材、腳本、參數做一個預設配置,以便于以後修改,同時 prefab 打包的内容簡化了導出的操作,便于團隊的交流。

公司出處:上海悉夢計算機

十三丶題目: 如何銷毀一個 UnityEngine.Object 及其子類

答案:

Destory

公司出處:上海悉夢計算機

十四丶題目: 為什麼 Unity3D 中會發生在元件上出現資料丢失的情況?

答案:

元件上綁定的對象被删除了

公司出處:上海悉夢計算機

十五丶題目: 如何安全的在不同工程間安全地遷移 asset 資料?三種方法

答案:

将 Assets 目錄和 Library 目錄一起遷移

導出包用 unity 自帶的 assets Server 功能

公司出處:上海悉夢計算機

十六丶題目: MeshCollider 和其他 Collider 的一個主要不同點?

答案:

Meshcollider 是基于頂點的。建議還是用 boxcollider,boxcollider 本身

是基于算法,沒有面的概念。

公司出處:上海悉夢計算機

十七丶題目: 當一個細小的高速物體撞向另一個較大的物體時,會出現什麼情況?如何避免?

答案:

穿透(碰撞檢測失敗)(碰撞體變大,FixedUpdate, 代碼限制)

公司出處:上海悉夢計算機

十八丶題目: MeshRender 中 material 和 sharedmaterial 的差別?

答案:

修改 sharedMaterial 将改變所有物體使用這個材質的外觀,并且也改變儲存在工程裡的材質設定。

不推薦修改由 sharedMaterial 傳回的材質。如果你想修改渲染器的材質,使用 material替代。

公司出處:上海悉夢計算機

十九丶題目: 用 u3d 實作 2d 遊戲,有幾種方式?

答案:

1. 利用引擎自帶的 GUI和2D系統

2.把錄影機設為 Orthographic,用面片作為 2d 元素

3.利用第三方插件:NGUI、2dToolkit

公司出處:上海悉夢計算機

二十丶題目: u3d 中碰撞器和觸發器的差別?

答案:

collider 碰撞器會有碰撞的效果,IsTrigger = false,可以調用OnCollisionEnter/Stay/Exit 函數trigger 觸發器沒有碰撞效果,isTrigger = true,可以調用OnTriggerEnter/stay/exit 函數

公司出處:上海悉夢計算機

二十一丶題目: CharacterController 和 Rigidbody 的差別

答案:

Rigidbody 具有完全真實實體的特性, 而 CharacterController 可以說是受限的 Rigidbody,具有一定的實體效果但不是完全真實的。

公司出處:上海悉夢計算機

二十二丶題目: 什麼叫做鍊條關節

答案:

Hinge Joint ,他可以模拟兩個物體間用一根鍊條連接配接在一起的情況,能保持兩個物體在一個固定距離内部互相移動而不産生作用力,但是達到固定距離後就會産生拉力。(簡單說就是彈簧)

公司出處:上海悉夢計算機

二十三丶題目: unity3d 提供了幾種光源,分别是什麼

答案:

平行光:Directional Light

聚光燈:Spot Light

點光源:Point Light

區域光源:Area Light(隻用于烘培)

公司出處:上海悉夢計算機

二十四丶題目: u3d 下如何安全的在不同工程遷移 asset 資料

答案:

方法 1,可以把 assets 目錄和 Library 目錄一起遷移,

方法 2,導出包

方法 3,用 unity 帶的 assets server 功能

公司出處:上海悉夢計算機

二十五丶題目: Unity3d 中的碰撞器和觸發器的差別?

答案:

觸發器隻是碰撞器身上的一個屬性,碰撞器是觸發器的載體。

碰撞器有碰撞的效果,IsTrigger=false,可以調用OnCollisionEnter/Stay/Exit 函數;

觸發器沒有碰撞效果,IsTrigger=true,可以調用OnTriggerEnter/Stay/Exit 函數。

a. 如果不想讓碰撞檢測影響物體移動但是又想檢測到碰撞這時用到觸發器(Trigger)

b.觸發器用來檢測一個物件是否經過空間中的某個區域

公司出處:上海悉夢計算機

二十六丶題目: 動畫層(Animation Layers)的作用是什麼?

答案:

動畫層作為一個具有層級動畫編輯概念的工具, 可以用來制作和處理任何類型的動畫

公司出處:上海悉夢計算機

二十七丶題目: Material 和 Physic Material 差別?

答案:

PhysicMaterial 實體材質:實體材質描述,如何處理物體碰撞(摩擦,彈性)。Material 材質(材質類)為了獲得一個對象使用的材質,可以使用 Renderer.materia 屬性:

公司出處:上海悉夢計算機

二十八丶題目: 什麼是導航網格( NavMesh)?

答案:

一種用于實作自動尋路的網格

公司出處:上海悉夢計算機

二十九丶題目: 請簡述 NGUI 中 Panel 和 Anchor 的作用

答案:

Anchor 包含 UIAnchor 腳本。 UIAnchor 的功能是把對象錨定在螢幕的邊緣 (左上, 左中,左下,上,中,下,右上,右中,右下),或縮放物體使其比對螢幕的尺寸Panel 對象有 UIPanel 腳本,UIPanel 是一個容器,它将包含所有 UI 小部件,并負責将所包含的部件組合優化,以減少繪制指令的調用。

公司出處:上海悉夢計算機

三十丶題目: Unity 錄影機有幾種工作方式,分别是什麼?

答案:

perspective透視錄影機和orthographic正交錄影機

公司出處:上海悉夢計算機

三十一丶題目: LayerMask.NameToLayer()這個方法有什麼作用?

答案:

LayerMask 的使用是按位操作的,LayerMask.NameToLayer("Players") 傳回該 Layer

的編号。

公司出處:上海悉夢計算機

三十二丶題目: 哪種實時光源是 Unity 中沒有的?

A:點光源

B:方向光

C:聚光燈

D:日光燈

答案:

D:日光燈

公司出處:上海悉夢計算機

三十三丶題目: 如何在 Unity 中建立地形系統?

A:Terrain->Create Terrain

B:Component->Create Terrain

C:Asset->Create Terrain

D:Windows->Create Terrain

答案:A

公司出處:上海悉夢計算機

三十四丶題目: 以下哪種操作步驟可以在場景中添加“Wind Zone”?

A:Terrain -> Wind Zone

B:GameObject -> Create Other -> Wind Zone

C:Component -> Physics -> Wind Zone

D:Assets -> Create -> Wind Zone

答案:B

公司出處:上海悉夢計算機

三十五丶題目: 在 Unity 編輯器中建立一個 Directional Light,以下步驟正确的是?

A:Edit -> Rendering Setting -> Directional Light

B:GameObject -> Create Other -> Directional Light

C:Component -> Rendering -> Directional Light

D:Assets -> Directional Light

答案:B

...

公司出處:上海悉夢計算機

三十六丶題目: 下列哪一項不屬于 Camera 中的“Clear Flags”?

A:Skybox

B:Solid Color

C:Depth Only

D:Background

答案:D

...

公司出處:上海悉夢計算機

三十七丶題目: 以下哪種腳本語言是 Unity 編輯器所不支援的?

A:JavaScript

B:C#

C:Boo

D:Perl

答案:D

...

公司出處:上海悉夢計算機

三十八丶題目: 對于 Prefab,以下說法錯誤的是?

A:Prefab 資源可以在項目中多次重複使用

B:由 Prefab 執行個體出的 GameObject,其在 Hierarchy 視圖中表現為藍色

C:Prefab 上的元件資訊一經改變,其執行個體出的 GameObject 也會自動改變

D:執行個體出的 GameObject 上的元件資訊一經改變,其對應的 Prefab 也會自動改變

答案:D

...

公司出處:上海華勤通訊

三十九丶題目: 下面哪種做法可以打開 Unity 的 Asset Store?

A:Windows -> Asset Store

B:Edit -> Asset Store

C:File -> Asset Store

D:Assets -> Asset Store

答案:A

...

公司出處:上海華勤通訊

四十丶題目: 在哪個面闆中可以修改物體的空間屬性,如位置、朝向、大小等?

A:Project

B:Inspector

C:Hierarchy

D:Toolbar

答案:B

...

公司出處:上海華勤通訊

四十一丶題目: 如何為一個 Asset 資源設定一個 Label,進而能夠友善準确的搜尋到?

A:在 Project 視窗中選中一個 Asset,右鍵->Create->Label

B:在 Project 視窗中選中一個 Asset,右鍵->Add Label

C:在 Project 視窗中選中一個 Asset,在 Inspector 視窗中點選添加 Label 的圖示

D:在 Project 視窗中選中一個 Asset,在 Inspector 視窗中點選按鈕“Add Label”

答案:D

...

公司出處:上海華勤通訊

四十二丶題目: Mecanim 系統中,Body Mask 的作用是?

A:指定身體的某一部分是否參與骨骼動畫

B:指定身體的某一部分是否參與實體模拟

C:指定身體的某一部分是否可以輸出骨骼資訊

D:指定身體的某一部分是否參與渲染

答案:D

...

公司出處:上海華勤通訊

四十三丶題目: 以下哪種操作步驟可以打開 Unity 編輯器的 Lightmapping 視圖?

A:File --> Lightmapping

B:Assets --> Lightmapping

C:Windows --> Lightmapping

D:Component --> Lightmapping

答案:C

...

公司出處:上海華勤通訊

四十四丶題目: 下列關于光照貼圖,說法錯誤的是?

A:使用光照貼圖比使用實時光源渲染要快

B:可以降低遊戲記憶體消耗

C:可以增加場景真實感

D:多個物體可以使用同一張光照貼圖

答案:C

...

公司出處:上海華勤通訊

四十五丶題目: 如何為物體添加光照貼圖所使用的 UV?

A:不用添加,任何時候都會自動生成

B:更改物體導入設定,勾選”Generate Lightmap UVs”

C:更改物體導入設定,勾選 “Swap UVs”

D:更改物體導入設定,在 UVs 選項中選擇” Use Lightmaps”

答案:B

...

公司出處:上海華勤通訊

四十六丶題目: 在哪個子產品下可以修改 Render Path?

A:Camera

B:Light

C:Render Settings

D:Project Settings->Quality

答案:A

...

公司出處:上海華勤通訊

四十七丶題目: 以下哪項技術不是目前 Unity 所支援的 Occlusion Culling 技術?

A:PVS only

B:PVS and dynamic objects

C:Automatic Portal Generation

D:Dynamic Only

答案:D

...

公司出處:上海華勤通訊

四十八丶題目: 關于 Vector3 的 API,以下說法正确的是?

A:Vector3.normalize 可以擷取一個三維向量的法線向量;

B:Vector3.magnitude 可以擷取一個三維向量的長度;

C:Vector3.forward 與 Vector3(0,0,1)是一樣的意思;

D:Vector3.Dot(向量 A,向量 B)是用來計算向量 A 與向量 B 的叉積

答案:C

...

公司出處:上海華勤通訊

四十九丶題目: 下列那些選項不是網格層屬性的固有選項?

A:Default

B:Walkable

C:Not Walkable

D:Jump

答案:A

...

公司出處:上海華勤通訊

五十丶題目: 什麼是導航網格( NavMesh)?

A:一種用于描述相機軌迹的網格

B:一種被優化過的物體網格

C:一種用于實體碰撞的網格

D:一種用于實作自動尋路的網格

答案:D

...

公司出處:上海華勤通訊

五十一丶題目: NGUI與UGUI的優點和缺點

答案:

1) NGUI還保留着圖集,需要進行圖集的維護。而UGUI沒有圖集的概念,可以充分利用資源,避免重複資源。

2) UGUI出現了錨點的概念,更友善螢幕自适應。

3) NGUI支援圖文混排,UGUI暫未發現支援此功能。

4) UGUI沒有 UIWrap 來循環 scrollview 内容。

5) UGUI暫時沒有內建Tween元件。  

2) 公司出處:上海華勤通訊

五十二丶題目: 是否熟悉UGUI

答案:

熟悉,之前在一些項目用UGUI做過界面,和NGUI很相似。

公司出處:上海華勤通訊

五十三丶題目: 會寫插件麼?

答案:

了解過,但在公司這塊用的比較少,沒怎麼寫過,不過我能很快學會。

公司出處:上海華勤通訊

五十四丶題目: UGUI和NGUI的差別?為什麼不使用NGUI?

答案:

1、uGUI的Canvas 有世界坐标和螢幕坐标,NGUI有2D和3D差別。

2、uGUI的Image可以使用material。

3、UGUI通過Mask來裁剪,而NGUI通過Panel的Clip

4、NGUI的渲染前後順序是通過Widget的Depth,而UGUI渲染順序根據Hierarchy的順序,越下面渲染在頂層。

5、UGUI 不需要綁定Colliders,UI可以自動攔截事件。

6、UGUI的Anchor是相對父對象,沒有提供進階選項,個人感覺uGUI的Anchor操作起來比NGUI更友善

7、UGUI沒有Atlas一說,使用Sprite Packer。

8、UGUI的Navgation在Scene中能可視化。

9、UGUI的事件需要實作事件系統的接口,但寫起來也算簡單。

10、NGUI功能更豐富一些

之是以不用NGUI是因為UGUI是Unity官方推出的,慢慢會成為制作UI的主要工具,配套的插件也越來越多,但是具體使用NGUI還是UGUI還要看公司這邊,因為這兩個我都用過一段時間。

公司出處:上海華勤通訊

五十五丶題目: UI用的是NGUI還是UGUI?

答案:

兩個都用過。之前用的NGUI後來用了UGUI。

公司出處:上海萌果資訊科技有限公司

五十六丶題目: Unity3d中static batching和dynamic batching 各有什麼用?

答案:

Dynamic Batching

不需要任何操作,隻要共享材質(即使是不同的Mesh模型也可以),就會自動被合并。可以自由移動旋轉。但有以下使用要求:

(1) 模型檔案共計點數不超過900。(重複使用同一個Mesh不計)

(2) 單個物體可以不超過300點,Shader可以有法線UV。

    但如果Shader使用了 UV0 UV1兩套UV,或者Tangent切線的話,單個物體隻能不超過180點

(3)遊戲對象使用相同模型和材質時,隻有相同縮放(即xyz等比縮放,浮點尾數可以有細微差)的會被合并。

(1,1,1)與(1,1,1)

(2,2,2)與(2,2,2)

(0.5,0.5,0.5)與 (0.5,0.5,0.5)

(2,2,2)與(2,2,2.0001)

(4)場景烘焙:烘焙後同材質将不會被烘焙。lightmap 有隐藏的材質參數:offset/scale, 是以使用lightmap的物體不會被合并

(5)Shader不能使用多Pass:多Pass的Shader會破壞Dynamic Batching

Static Batching

原理:

運作遊戲後将一組遊戲對象的多個模型會被動态合并為1個。這組遊戲對象所有使用同一材質的在一個DrawCall來完成。這些遊戲對象運作後無法移動縮放旋轉。但是Drawcall一定是最大化合并的,并且不受動态合并的諸多限制(見下文詳述)。

注意:即使物體都使用了同樣的模型,在batch後每一個物體都會建立一份模型對應的geometry,在新的Combined Mesh裡。是以過多的batch會增加記憶體占用。例如場景裡的樹群就不适合Static Batch,而适合動态合并。

實作方法:

(1)MeshRenderer勾選Batching Static: 勾了即可

(2)代碼中使用UnityEngine.StaticBatchingUtility實作(可以在任何平台調用):

      1)将所有要合并的靜态物體(不須勾Batching Static)放入統一一個root

      2)StaticBatchingUtility.Combine(root);

      之後就合并好了!

差別:

勾選Batching Static:

完全自動合并,在MeshFilter裡顯示的是 Combined Mesh(root:scene)。合并後不能移動

StaticBatchingUtility:

合并到一個遊戲對象下。合并後可以移動父節點遊戲對象

公司出處:上海龍魂

五十七丶題目: Unity3d中Awake和Start 誰先執行,update和fixedUpdate 有什麼差別?

答案:

Awake先執行。Update是在每次渲染新的一幀的時候才會調用,FixedUpdate,是在固定的時間間隔執行,不受遊戲幀率(fps)的影響 ,FixedUpdate的時間間隔可以在項目設定中更改,Edit->Project Setting->time 找到Fixed timestep。就可以修改了

公司出處:上海龍魂

五十八丶題目: Unity引擎中以下對Mesh Renderer元件描述正确的是哪一項?

A.Mesh Renderer元件決定了場景中遊戲對象的位置,旋轉和縮放

B.為場景中的某一遊戲對象增添實體的特性,需要為該遊戲對象添加Mesh Renderer元件

C.Mesh Renderer元件從Mesh Filter元件中獲得網格資訊,病根據物體的Transform元件所定義的位置進行渲染

D.Mesh Renderer是從網格資源中擷取網格資訊的元件

答案:C

...

公司出處:上海開瀾軟體公司

五十九丶題目: 以下哪一個選項不屬于Unity引擎所支援的視訊格式檔案

A.字尾名為mov的檔案

B.字尾名為mpg的檔案

C.字尾名為avi的檔案

D. 字尾名為swf的檔案

答案:D

...

公司出處:上海龍魂

六十丶題目: lUnity引擎使用的是左手坐标系還是右手坐标系?

A.左手坐标系

B.右手坐标系

C.可以通過Project Setting 切換左右手坐标系

D.可以通過Reference切換左右手坐标系

答案:A

...

公司出處:上海開瀾軟體公司

六十一丶題目: 以下哪組錄影機中Normalized View Port Rect的數值設定可以使得錄影機顯示的畫面位于1280*720分辨率的螢幕畫面的右上角

A. x = 640, Y = -360 , W = 360,H = 360

B. x =640, Y = -360 , W = 360,H = 360

C. x =0.5, Y = 0 , W = 0.5,H = 0.5

C. x =0.5, Y = 0.5 , W = 0.5,H = 0.5

答案:D

...

公司出處:上海開瀾軟體公司

六十二丶題目: l以下哪個元件是任何GameObject必備的元件

A.Mesh Renderer

B.Trtansform

C.Game Object

D.Main camera

答案:B

...

公司出處:上海開瀾軟體公司

六十三丶題目: 在Unity編輯器中,停止對Game視圖進行預覽播放的快捷鍵操作是以下哪一項

A.CTRL/CMD + P

B.CTRL/CMD +  Shift +P

C.CTRL/CMD +  Alt +P

D.CTRL/CMD +  S

答案:A

...

公司出處:上海開瀾軟體公司

六十四丶題目: l在Unity引擎中,Depth屬性值最大的錄影機會比Depth屬性值小的錄影機更晚繪制麼?

A.是

B.否

答案:A

...

公司出處:上海開瀾軟體公司

六十五丶題目: 下列選項中有關Animator的說法錯誤的是

A.Animasstor是Unity引擎内置元件

B.任何一個具有動畫狀态機功能的GameObject都需要一個Animator元件

C.它主要用于角色行為的設定,包括StateMachines,混合Blend trees以及通過腳本控制的事件

D.Animator同Animation元件的用法是相同的

答案:D

...

公司出處:上海開瀾軟體公司

六十六丶題目: 下列哪個視圖主要用于顯示和編輯所選遊戲對象或資源的相關屬性

A.Scene

B.Project

C.Inspector

D.Hierarchy

答案:C

...

公司出處:上海開瀾軟體公司

六十七丶題目: l簡述Prefab的使用?Editor下動态建立Prefab的方式

答案:

u3d裡動态建立對象,需要使用prefab而建立的時候 MonoBehaviour.Instantiate( GameObject orignal) 需要一個作為原型的對象。

三種方式獲得prefab對象。

方式一:使用腳本的public字段直接在Project視圖裡找到做好的prefab,将其拖拽到指定腳本的指定public GameObject 字段。

方式二:Resource類

1、在Assets目錄下的任意位置建立一個名為resources的檔案夾,将做好的prefab放到這個檔案夾下,path形式如下:

Assets\....\resources\prefabName.prefab

2、在代碼裡使用Resource.Load 或 LoadAll 函數,獲得原型對象。

指定prefab時不需要指定擴充名(.prefab),形式如下:

GameObject prototype = Resource.Load("prefabName") as GameObject;

可以有任意數量的resources檔案夾,懷疑是Resource類初始化的時候會搜集所有resources檔案夾裡的檔案名。

方式三:加載到場景

一般我們制作Perfab的時候,都是在Hierarchy視圖裡建立GameObject,然後再搭建Prefab。事後根據需要删除這個原始的GameObject。是以我們可以保留這個GameObject,然後在場景加載後Find這個對象(代碼方式),或者使用腳本public字段(編輯器方式)

...

公司出處:上海開瀾軟體公司

六十八丶題目: NGUI的自适應性是?如果此時螢幕比例變化,螢幕出現黑邊怎麼辦?(注:改變NGUI和UGUI的Fixed size with Screen不可行)

答案:

NGUI根目錄的UIRoot元件自帶了根據高度自适應分辨率的功能。

Scaling Style屬性可選擇三種不同的縮放政策。

PixelPerfect 完美像素:直接顯示設定好的像素。當螢幕高度低于minimum Height時按比例縮小,當螢幕高度大于maximum Height時按比例擴大。

FixedSize 按比例縮放:在設定好的基礎上,直接按比例縮放。

FixedSizeOnMobiles 合體版,android和ios為FixedSize方式,其它按照PixelPerfect方式。

公司出處:上海鹿遊網絡科技有限公司

六十九丶題目: 在哪個面闆中可以修改物體的空間屬性,如位置、朝向、大小等?

A:Project

B:Inspector

C:Hierarchy

D:Toolbar

答案:B

...

公司出處:上海鹿遊網絡科技有限公司

七十丶題目: 如何為一個 Asset 資源設定一個 Label,進而能夠友善準确的搜尋到?

A:在 Project 視窗中選中一個 Asset,右鍵->Create->Label

B:在 Project 視窗中選中一個 Asset,右鍵->Add Label

C:在 Project 視窗中選中一個 Asset,在 Inspector 視窗中點選添加 Label 的圖示

D:在 Project 視窗中選中一個 Asset,在 Inspector 視窗中點選按鈕“Add Label”

答案:D

...

公司出處:上海鹿遊網絡科技有限公司

七十一丶題目: Mecanim 系統中,Body Mask 的作用是?

A:指定身體的某一部分是否參與骨骼動畫

B:指定身體的某一部分是否參與實體模拟

C:指定身體的某一部分是否可以輸出骨骼資訊

D:指定身體的某一部分是否參與渲染

答案:D

...

公司出處:上海華勤通訊

繼續閱讀