Unity 2D遊戲開發快速入門第1章建立一個簡單的2D遊戲,unity2d
Unity 2D遊戲開發快速入門第1章建立一個簡單的2D遊戲
即使是現在,很多初學遊戲開發的同學,在談到Unity的時候,依然會認為Unity只能用於製作3D遊戲的。實際上,Unity在2013年發布4.3版本的時候,就開始提供對製作2D遊戲的支援了。例如,提供了一些專用於開發2D遊戲的Unity工具。現在Unity已經發布了版本4.5,對2D遊戲的支援更是完善了不少。為了說明Unity對2D遊戲所提供的支援,本章會使用這些在Unity中原生的工具,開發一個簡單的2D遊戲。本文選自《Unity 2D遊戲開發快速入門》
1.1 地面
一般情況下我們認為“地面”是精靈的落腳點,沒有這個“地面”精靈會發生墜落。因此本章建立一個2D遊戲的第一步是,建立一個供遊戲精靈落腳的“地面”。建立的具體的操作步驟是:本文選自《Unity 2D遊戲開發快速入門》
(1)建立一個遊戲項目、命名、並設定為2D項目,1-1所示。從中可以看出本遊戲項目名為world。
圖1-1 建立遊戲項目
(2)準備一個將用作2D遊戲“地面”的圖片,然後匯入到建立遊戲項目的Project視圖裡,1-2所示,本樣本使用的“地面”圖片,名為Platform。
提示1:匯入資源到遊戲項目的簡單的方法是,直接拖動對應資源到Project視圖下。此種方法可以一次拖入一個或者多個資源。
提示2:製作遊戲的過程中,會不斷的匯入遊戲所需的資源,如果不提前做出整理規劃的話,匯入的資源多了以後會十分的“亂”,不僅看起來不舒服,找起來也會十分的麻煩。因此,最好養成一個資源分類存放的好習慣。在本樣本中,匯入的“地面”圖片,被放置在了Assets\Textures\Scenery檔案夾裡。
圖1-2 Unity中,Project視圖裡,是匯入的圖片
(3)選中Project視圖裡的Platform,然後Inspector視圖會顯示這個圖片的各項屬性,以及此圖片的預覽視圖,1-3所示。
圖1-3 Inspector視圖裡顯示了Platform的各項屬性
對於此圖片,有以下幾個屬性需要簡單說明:
q Texture Type:表示圖片的類型,不同的類型在項目裡的用途就不同。對於2D遊戲項目,系統預設設定為Sprite(2D\uGUI);對於3D遊戲項目,預設設定為Texture;
q Filter Mode:此屬性一共有3個選項:Point、Bilinear和Trilinear。設定了以後,圖片用在遊戲中時,品質或者說畫面效果依次升高。預設設定為Bilinear。
q Max Size:表示圖片的最大尺寸。遊戲中,有時會以不同的尺寸使用圖片,並進行相應的伸縮。本樣本使用的圖片Platform的實際尺寸是397×221,為了不影響圖片的品質,要設定Max Size屬性大於397,而屬性中最接近397的是512。
q Format:表示圖片的格式。設定為16 bits,表示此圖片不是壓縮圖片,而且可以表示數以“萬億”(216×216×216)計的顏色。本文選自《Unity 2D遊戲開發快速入門》
(4)要在遊戲中使用此圖片的話,可以直接將此圖片拖動到Scene或者Hierarchy視圖裡。Unity就會在當前的遊戲情境中添加這個圖片對象,選中遊戲情境裡的此圖片對象,然後在Inspector視圖裡設定它Transform組件下的各屬性,1-4所示,
q Position:(0,0,0);
q Rotation:(0,0,0);
q Scale:(1,1,1);
圖1-4 添加到遊戲情境的圖片對象,及其屬性設定
(5)“地面”對象已經添加到了遊戲的情境視圖中,但是它的上面還不能“站立”任何精靈,也就是說它會如空氣一般的存在,站立在其上面的任何精靈,都會如踩到了空氣一樣“下落”。所以需要給“地面”對象添加Collider 2D組件,一共有4類此種組件,1-5所示。不同的類型適合於不同外形形狀的對象,由於“地面”對象的外形是不規則的,因此本樣本選擇使用Polygon Collider 2D組件。本文選自《Unity 2D遊戲開發快速入門》
為“地面”對象添加此組件的方法是,選中情境中的此對象,然後單擊Component|Physics 2D|Polygon Collider 2D命令即可。添加了這個組件以後,在看情境中的“地面”對象,會發現它的表面“覆蓋”了綠色的線,這個線包住了對象,1-6所示。本文選自《Unity 2D遊戲開發快速入門》
圖1-5 4類Collider 2D組件 圖1-6 添加了Polygon Collider 2D組件的效果
unity製作2d遊戲的時Instantiate一個perfabe怎設定它顯示在那一層
// 使用者輸入的prefab
Transform prefab;
// 建立一個prefab執行個體
Transform cube = Instantiate (prefab) as Transform;
// 向z軸移動10米,也就是向攝像機鏡頭靠近10米。
cube.position = new vector3(cube.position.x, cube.position.y, cube.position.z - 10);
誰可以簡單介紹下Unity 3D,怎做一款遊戲 ,流程?
lz你好,你可以到貼吧看看,裡面有教程,可以直接詢問吧主,教程較廣,素材也有很多!謝謝!