1.2D模式和3D模式的區別,2D模式默認的攝像機的模式是Orthographic(正交攝像機),3D模式默認的攝像機的模式是Perspective(透視攝像機)。3D會額外給你一個平衡光。3D模式修改為2D模式,點擊Edit下面的Editor 修改為2D。
2.UGUI渲染模式 World Space Screen Space-Camera Screen Space-Overlay
World Space 用來做3D UI的
Screen Space-Overlay (攝像機很小,畫布很大)按比例投影,疊加層,護在最前面(放全屏特效不適用)。
Screen Space-Camera 屏幕空間和攝像機之間的距離是100,可以遮擋部分物體,放在兩者之間。
3.Plane是一個單面展示,反面是透明的,所以應該調整為正面對着攝像機。
4.層的關系 Layer SortingLayer OrderInLayer
3D 游戲一般直接用Z軸去控制層。
2D和2D/3D 混合的游戲Layer邏輯層,只有32層,一般用來剔除,或者是是碰撞檢測。相機的深度越小的越先繪制,在最底層,深度值大代表顯示的優先級高,深度值大的會遮擋深度值小的(會越趨向於在界面上層顯示)。
sorting layer與渲染次序相關,根據sortingin layer中設置的先后順序依次渲染。Order in layer是在同一個sorting layer內的細分,根據數值由小到大依次渲染。(渲染優先級為Camera.depth,sorting layer,order in layer)
Canvas根據Render Mode的不同,屬性顯示不同,當為ScreenSpace-Overlay時,只有sort Order屬性,其他兩種模式有sorting layer和order in layer屬性,原因是Screen Space-Overlay渲染模式下,UI元素將在場景的上面,不受sorting layer的影響。
UGUI畫布上面的UI對象的層級關系不受Z軸的影響,按照hierachy中由上到下的順序進行渲染。游戲對象層的Z軸影響渲染順序,渲染優先級處於Camera.depth,sorting layer,order in layer之后。
5.UGUI設置空物體歸納:空物體盡量保持和父物體大小一致。
6.安裝shift等比縮放,按住alt保持中心點縮放。
7.Camera.ScreenToWorldPoint 屏幕位置轉到世界坐標
RectTransformUtility.ScreenToWorldPointInRectangle 應用於Canvas.
Vector3.Angle(Vector3 vct1, Vector3 vct2) :計算兩個向量的夾角。
旋轉角度轉成四元數:Quaternion.Euler(0,0,z),因為localRotation和Rotation只接受四元數。
8.設置16個空物體生成魚的位置,設置生成方向指向屏幕內。
隨機魚生成的位置和隨機魚生成的種類,預制體設置每種魚生成的最大數量和最大速度。
隨機生成魚的速度和數量,以及移動類型(轉彎 or 直行)。
9.魚群的生成每條魚生成之后設置一個等待時間。頭尾相接的時候渲染順序出現問題。
10.Rigidbody的三種選擇
Static :只與動態物體發生碰撞,忽略重力,AddForce不起作用。
Dynamic:動態的剛體與任何物體發生碰撞,gravity 設置為0忽略重力。
11.鼠標檢測滾輪 Input.GetAsix("Mouse ScrollWheel") 大於0是向上,小於0是向下。
12.EventSystem.IsPointerOverGameObject()判定是否是游戲物體。
13.Destroy(gameObject, time),銷毀自身重載方法。
14.Ctr + Shift + P 暫停。
15.流程 設計主界面--設計游戲界面--擺UI--魚的生成(prefab和東動畫的生成)--炮彈的選擇(五種類型)--子彈的生成(prefab和動畫)--炮彈和魚的交互--UI的更新--特效的生成--添加音效。
