今天來分享一下在開發時常使用的一些資源及心得 :
C#學習資源
C#語言入門詳解 https://goo.gl/tfk4qD
Microsoft C# 快速入門 https://goo.gl/gHFY2L
Unity學習資源
Unity官方教學 https://unity3d.com/learn/tutorials
CG數位學習網 http://www.cg.com.tw/Unity/
Catlike Coding https://catlikecoding.com/
C#常用
string.Format 可以插入變數到字串中,在使用到字串的時候很實用(例如Unity中的PlayerPrefs, Debug.Log, UI Text)。
須熟練 List, Array, if, else, for, foreach(可用for取代), switch, while, return, continue, break…
Unity技巧&常用
GameObject.Find 取得遊戲物件。
GetComponet 取得遊戲物件上的某個元件。
Prefab (預製物件) 預先製作好的物件,提供之後建立實體。
SceneManager.LoadSceneAsync (異步加載)
舉例:A scene在執行轉場動畫時,同時進行B scene的異步加載,等到A scene轉場動畫撥放完畢後再allow B scene activation,以提高切換場景的速度。
PlayerPrefs 數據持久化,遊戲進度、玩家遊戲資訊紀錄等等都需要使用到,不會因為重開遊戲而重置。
Coroutine 用來實現延遲處理,等待A程式碼執行完才能執行B…等等的功能。
問題解答
Unity用戶手冊 https://docs.unity3d.com/Manual/index.html
Unity Answers https://answers.unity.com/index.html
設計模式
物件池 以物件取出、放回取代物件的建立、銷毀
Singleton 確保只有一個實例
免費好用的Unity Asset
AVPro Movie Capture (Free Version) 免費版可錄製10秒無浮水印的影片
Screenshot Companion 遊戲截圖工具
Legacy Image Effects
Lean Localization 在地化工具,簡單易用,可將所有在地化的文字全部整合至1個txt檔案,方便整理
聲音素材來源
https://gamesounds.xyz/
http://www.kurage-kosho.info/
http://zh-tw.soundeffect-lab.info/
https://maoudamashii.jokersounds.com/
http://taira-komori.jpn.org/freesoundtw.html
http://musicisvfr.com/
https://dova-s.jp/
https://www.senses-circuit.com/
最佳化
Profiler找出問題點 除了在Unity上執行遊戲觀察數據之外,也要用USB連接手機執行遊戲,觀察數據變化,因為手機效能不比電腦,像《1121》在電腦上執行時很順,但是在手機上初次載入遊戲,進入關卡第一次顯示方塊的瞬間會掉幀到30多(profiler 會有spike),點進去看細節找到原因是因為Font.CacheFontForText在作怪,那一幀它就佔了130多ms,因為遊戲有36個格子,底層的陣列加上方的UI,每個方塊加上右上角的標記都要用Text,把Font的Character改成非dynamic這雖然解決了掉幀的問題,但是文字卻不夠清晰,最後的解決方法是全部改成調用Image,不再調用Text。
影片與圖片的編輯與製作
UI&Icon繪圖軟體: Illustrator
視訊編輯和製作軟體: Premiere