天天看點

Unity學習系列筆記1:Asset Import & Creation

這部分主要是Asset Import and creation方面的一些學習散記,包括導入Mesh,Animation,Audio,Script等等。其中零散的涉及一些script的基礎知識。

導入Mesh時需要注意的一些設定:

Colliders:

Unity主要有兩種Collider,Mesh collider和Primitive collider,前者的實作方法是在導入mesh的時候,在Import Settings裡面勾選Generate Collider即可。前者主要用于環境碰撞,而後者主要用于運動的物體,比如一輛運動的汽車,這時需要在Import Settings裡把Generate Collider取消。

法線映射和角色:

如果角色使用了法線映射,且是高模版本制作,你應該導入具有180度smoothing angel(SA)的遊戲品質版本。即導入時設定SA為180.如果顯示出來還是有奇怪的接縫之類的,勾選上split tangents across UV seams.

動畫導入:

友善的做法是把一個模型的所有動畫做到一個動畫檔案裡,導入的時候Unity的按幀分割功能可以把角色動畫分割成需要的部分,如walk,run,kick等。把動畫檔案直接放在Assets檔案夾裡,Unity會自動導入該動畫,你隻需要在Project View裡找到該檔案,并設定Import Settings.如果不使用Unity的分割功能,可以把同樣角色的一組動畫檔案按照以下格式命名:[email protected],如[email protected]

導入反動力學:

如果動畫用到IK(反動力學),那麼導入時勾上Bake IK&simulation複選框。

Unity支援兩種audio導入,native(WAV和AIFF)和compressed。compressed方式導入PC/MAC平台編碼為Ogg Vorbis,移動平台編碼為MP3,前者音質沒有下降,後者因為要re-encoding,會有一定的音質損失。compressed導入的audio在遊戲中需要消耗一些CUP資源用來解碼。另外Unity支援硬體編碼。

tracker modules類似于midi音樂,但不會随着硬體的改變而發生變化,格式有it,s3m,xm,mod,這種格式的好處是小巧,占帶寬少。

Audio Clip的設定中有一項是iOS ONLY的:硬體解碼——利用iOS的硬體解碼器可以省下CPU資源用于遊戲的其他方面。另一項iOS/Android ONLY:Gapless looping,循環播放的平滑過渡。

Script方面:

在某個gameObject的script裡面對這個gameObject的其他component的屬性進行操作,直接輸入該component名稱即可,如transform代替gameObject.transform,編譯器預設前面已經加上了gameObject,除非你特指一個不同的gameObject。在使用gameObject.transform.translate()時,前面的gameObject是否去掉純屬個人喜好問題。

this通路的是目前處理的script。this.gameObject即gameObject,this.transform即transform。

引用非本gameObject的元件的方法:GetComponent("Component Name"),比如在scriptB中引入scriptA,可以在scriptB中敲入如下代碼:scriptA = GetComponent("ScriptA");

繼續閱讀