巴哈姆特

哈啦區 Unity3D 遊戲引擎
查看全文

【心得】Unity遊戲製作常用資源與筆記

板友創作
HuMoFish (x1492536) 2018-06-13 19:32:22
#1
各位版友好,我分享一下一些資源與心得,如果有人有其他不錯的資源或心得可以一起交流喔~

C#學習資源
C#语言入门详解 https://goo.gl/tfk4qD
小山的 C# 教學 https://goo.gl/cT62ZO
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/

Youtuber教學影片
Brackeys
N3K EN
Dev
Tutorials (一步步帶你製作2048遊戲)
Blackthornprod
GameGrind
LMHPoly
Bowl and Cereal
陳間時光

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…等等的功能。

問題找解答
Stackoverflow
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/

顏色參考
NIPPON COLORS - 日本の伝統色 http://nipponcolors.com/
中国色 - 中国传统颜色 (日本色山寨版) http://zhongguose.com/
https://coolors.co/

亞洲字型Font精簡
以遊戲《1121》為例,中文字型NotoSansCJKtc-Medium.ttf 16.9MB,精簡後僅為 56KB

參考資源
OTF轉TTF https://goo.gl/bZRgao
FontPruner https://goo.gl/yxW6Q4
步驟 http://awumiao.com/reduce-ttf-for-game/

最佳化
Profiler找出問題點 除了在Unity上執行遊戲觀察數據之外,也要用USB連接手機執行遊戲,觀察數據變化,因為手機效能不比電腦,像《1121》在電腦上執行時很順,但是在手機上初次載入遊戲,進入關卡第一次顯示方塊的瞬間會掉幀到30多(profiler 會有spike),點進去看細節找到原因是因為Font.CacheFontForText在作怪,那一幀它就佔了130多ms,因為遊戲有36個格子,底層的陣列加上方的UI,每個方塊加上右上角的標記都要用Text,把Font的Character改成非dynamic這雖然解決了掉幀的問題,但是文字卻不夠清晰,最後的解決方法是全部改成調用Image,不再調用Text。

影片與圖片的編輯與製作
UI&Icon繪圖軟體: Illustrator
視訊編輯和製作軟體: Premiere



Facebook: https://www.facebook.com/HuMoFish

看較舊的 8 則留言

Wix=Litariz: B9 2018-06-14 17:57

別再用string.format了,改用簡單快速的$""吧

HuMoFish: B10 2018-06-14 18:59

感謝提點,用$簡潔不少,但是字串裏頭如果有要插入參數的地方(例如 textA = "best steps: {0}"或是"最佳步驟數{0}",隨語言不同把string交給textA

HuMoFish: B11 2018-06-14 18:59

之後要把變數插入textA是不是$""就不能用了

HuMoFish: B12 2018-06-14 19:23 編輯

我原本用法是這樣:string.Format(textA, 變數);可以找到textA裡的{0}直接插進去

Wix=Litariz: B13 2018-06-14 20:44

$通常的是用在連接字串上啦,如果要做文字模板再套資料的話確實還是該用format

延伸閱讀

其他參加 Game Jam ,團隊徵 Unity 工程師

2024-04-05 19:57:32

討論從成本分析來看 Unity依遊戲安裝次數收取費用 真的有夠黑心嗎?

2023-09-19 12:57:27

其他【徵人】UNITY程式

2024-03-28 13:53:36

其他誠徵 Unity 程式 音樂遊戲製作夥伴

2018-09-24 22:28:42

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】