Unity3D學習筆記【01】

改變場景視圖角度的快捷鍵:
按鼠標中鍵平移視圖;
按鼠標左鍵+Alt鍵旋轉視圖;
按鼠標右鍵+Alt鍵或滑動鼠標滑輪推拉視圖;
按F鍵可以快速鎖定選中的目標。

Unity只允許在空的文件夾內創建新工程。

問題:腳本名詞有空格的話,在菜單的【Component】->【Scripts】裏面找不到腳本。

只有將關卡添加到Scenes In Build裏面才能被集成到最後編譯的遊戲中。

Debug.Log(“ 打印內容”);
Debug.LogError(“ 打印的內容顯示紅色”);

設置斷點:MonoDevelop -> Run -> Attach to Process -> Unity Editor
F5越過當前斷點。

【Open Editor Log】看資源分配情況。

我的開發環境是Windows 7下的Unity 4.3.4f1 + Visual Studio 2012。

發現【Extenrnal Tools】指定VS 2012無效,解決方法點這裏

簡單來說就是:
1、在VS 2012的這個目錄Common7\IDE下面新建一個.bat文件;
2、在這個.bat文件裏面寫入start "" %*
3、在【Extenrnal Tools】指定這個.bat的路徑。




策劃需要對遊戲中的數值進行計算和評估,它是保證遊戲平衡性的關鍵。

關卡編輯工作主要都是在Unity的編輯器中完成的。

Unity程序員的主要工作就是編寫腳本。

在Unity中,每個遊戲中的物體都可以稱爲是一個遊戲體(Game Object)。

Unity中的遊戲可以擁有多個組件(Component)。組件可以是一個腳本,一個模型,一個物理碰撞體,一張貼圖,一個粒子發射器,或是一個聲音播放器。有了這些組件,遊戲體就有了相應的功能,程序員可以通過編寫腳本控制遊戲體及它所擁有的組件,從而實現遊戲的邏輯。

Unity不但能開發單人遊戲,也能開發多人遊戲。它內置了RakNet(一個網絡遊戲開發包),適用於快速開發多人遊戲。

Unity支持幾乎所有高端的3D動畫軟件(如3ds Max、Maya等),將製作的模型和動畫導出爲FBX格式供Unity使用。

Unity中,幾乎所有的關聯操作都可以通過拖動的方式完成。

?【P18】Shader設置
【Transparent】->【Cutout】->【Diffuse】,材質將帶有Alpha信息;
【Transparent】->【Diffuse】,可以獲得半透明效果,但在某些情況會出現Alpha亂序的情況;

?【P18】【Windows】->【Animation】->【Create New Clip】
Material、Main Text.offset.v

選擇Main Camera,【GameObject】->【Align With View】是攝像機視角與當前視圖一致。

腳本是實現遊戲邏輯的核心,它本身並不能獨立運行,它必須作爲某個遊戲體的組件才能運行。

只有繼承自MonoBehaviour的類才能作爲Unity腳本組件使用。

自定義腳本在菜單欄中的位置:
[AddComponentMenu("MyGame/Player")]

Update函數每一幀都會被調用。

Input是一個包裝了輸入功能的類,它包括幾乎所有的鍵盤、鼠標或觸控操作函數。

Time.deltaTime表示每幀的經過時間。


this.transform調用的是遊戲體的Transform組件。

Vector3的三個參數表示在x、y、z三個方向上的移動距離。

Start函數會在對象被實例化時自動調用一次。

MonoBehaviour的派生類不能使用構造函數初始化。

只有public類型的屬性才能在編輯器窗口實例化。

Destroy函數將遊戲體銷燬。

對於需要重複使用的遊戲體,我們需要將其製作成Prefab。

Unity的遊戲體只能使用Instantiate實例化,必能使用new。

?【P29】this.transform.Rotate用來旋轉游戲體。Rotate的用法??

碰撞體【Box Collider】Is Trigger使其具有觸發作用。

剛體【Rigidbody】Use Gravity重力影響;Is Kinematic使遊戲體的運動不受物理模擬影響。

所有需要參與物理計算的遊戲體都需要有一個剛體組件才能正常工作。

指定Tag標識,【Edit】->【Project Settings】->【Tags】
用途:xx.tag.CompareTo("xxx")。

OnTriggerEnter()在碰撞體互相接觸時會被觸發。

virtual虛方法,可以在派生類中重寫這個方法。
override表示這是一個重寫的方法。

Awake繼承自MonoBehaviour,它會在遊戲體實例化時執行一次,並先於Start方法。

FindGameObjectWithTag獲得遊戲體實例。

Quaternion.LookRotation在初始化時朝向主角方向。

.uniytpackage文件時Unity專用的資源包。

Audio Source凡是需要發聲的遊戲體,必須有這個組件。

AudioSource.PlayOneShot(AudioClip) 播放聲音。

Random.value生成一個0.0到1.0之間的隨機數。

在場景中可以看到,但是在遊戲中不能看到的,放在一個Gizmos文件夾裏面。


OnGUI是一個特殊的函數,專門用來畫UI界面。

Application.Quit用來退出當前程序。

Application.LoadLevel用來讀取下一個關卡。

默認在場景攝像機上有一個Audio Listener組件,3D聲音的音量取決於聲音源與攝像機的距離。

Static Batching會將靜態模型整合,但有時會使遊戲尺寸變大,如果不清楚優化原理,建議慎重使用這個功能。

?【51】Rendering Path中可以設置3種渲染模式:

Deferred Lighting\Forward Rendering\Vertex Lit


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章