初識Unity —— 兩課之后的學習總結

跟了兩個官網tutorial了,來總結下都學了些什么吧。

在Unity里做出一個游戲的基本流程是什么呢?(一個單場景的游戲)

1. 把游戲里會出現的“物品”都擺進去并設置好(包括UI)

2. 調整鏡頭和光線(2d游戲可能不大需要)

3. 通過腳本讓“物品”動起來、“物品”和“物品”產生交互、“物品”和玩家產生交互

下面主要總結步驟1和3的關鍵點

一、把游戲里會出現的“物品”都擺進去并設置好


Game Object:核心!所有的其他東西都依托于Object,每個Object負責自己的功能,然后它們合作把游戲完成(這就是所謂的面向對象的編程吧)。

Empty Object:特殊的object,用作容器??裳b物品,也可裝邏輯。

Rigidbody:要用到物理機制就要加Rigidbody

關鍵屬性 Use Gravity,Is Kinematic(不受物理力作用),Drag和Angular Drug(空氣阻力)

Collider:有碰撞就要有Collider

有碰撞后反應就要勾Trigger;有多種mesh形式

Materials:textures轉成materials再加到物體上(有待進一步學習)

Prefabs:拖到的prefabs文件夾下的物品就會變成prefab,會多次出現的物品適合做成prefab

二、腳本


基本結構(個人理解而已):

變量 --> 函數 --> 邏輯 --> API

1. 變量

public的是要引用某個物品的,或者要在inspector設定數值的

private的只在當前腳本中使用的

目前見到的數據類型有float、int、bool、GameObject、Rigidbody、Vector3、Text、GameController、Boundary、AudioSource (待研究)

引自http://my.oschina.net/u/1585857/blog/475674

*變量名首字母通常小寫

2. 函數

默認的四函數Start()、Update()、 FixedUpdate()、LateUpdate()(Awake暫時沒接觸)

其他自帶函數OnTriggerEnter()、OnTriggerExit()(更多待了解)

unity自帶函數會在預定條件下觸發,自建函數則自行調用

自建函數:

通常不需要返回值的都是void

要在其他腳本中引用的就是public void

協程返回值是IEnumerator

*函數名通常首字母大寫

3.邏輯

目前用到的有:if(){},for(;;){},while(){}

for和while會一直循環到結束才會跳出(沒有跳出指令的話)

return:跳出函數并返回值

break:終止循環

和上面兩個一套的應該還有一個continue,是跳過當前循環并開始循環的一次新迭代

參考:http://www.cnblogs.com/iceword/archive/2010/06/04/1751382.html

4. API

感覺unity真的是提供了好多好多的api啊,掌握unity的關鍵一步可能也就是熟悉這些api吧

目前用到過的:

獲取組件

GetComponent<>()

Debug

Debug.Log()

Input系列

Input.GetAxis("Horizontal"); Input.GetAxis("Vertical")

Input.GetButton("")

Input.GetKeyDown (KeyCode. )

gameObject系列

物體名.gameObject.SetActive()

物體名.gameObject.CompareTag(" ")

GameObject.FindWithTag("...") 返回標有該tag的物體

Rigidbody系列

rb.AddForce() ?(rb是裝rigidbody的變量名)

rb.rotation: rb.rotation = Quaternion.Euler(0.0f, 0.0f, rb.velocity.x * -tilt);

rb.velocity

rb.position

rb.angularVelocity

銷毀物體

Destroy(xx.gameObject)

從prefab生成instance

Instantiate(原型,位置,旋轉)

text系列

.text

.toString

數學函數集錦 mathf

mathf.CLamp(,,)

Random系列

Random.Range(,)

Random.insideUnitSphere

協程函數等待

yield return new WaitForSeconds(...)

當前時間

Time.time

音頻播放

audioSource.Play()

重新加載場景

Application.LoadLevel(Application.loadedLevel)?已廢

用SceneManager 就可以啦

using UnityEngine.SceneManagement;

SceneManager.LoadScene(場景的build index);

5.其他

單獨類的建立

類前要加[System.Serializable]

[System.Serializable]

public class Boundary

{

public float xMin, xMax, zMin, zMax;

}

###最后 ,警惕 大小寫!

2016.07.25 接下來準備找幾個2D教程來看下


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,002評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,400評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,136評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,714評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,452評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,818評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,812評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,997評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,552評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,292評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,510評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,035評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,721評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,121評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,429評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,235評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,480評論 2 379

推薦閱讀更多精彩內容