三.分享新發現
接著來比較此次跟上一部作品,能分享的資源可能較少,但有了更多的互動性:
1.可與NPC互動觀看劇情對話
咳咳...如果要以最快速做到如何跟NPC對話的方法,推薦可以到store搜尋”VIDE Dialogues”(載下來後裡面有範例場景可以先自己摸索一下)或是使用Fungus,如果以上都用不習慣可以挑戰用StartCoroutine(我有很多事件都是用這達成的除了劇情對話以外,舉例我開一扇門,等門開到一半過0.5秒後鬼跑出來,再過0.5秒主角表示驚嚇這過程都能用StartCoroutine來達成,有興趣的朋友們可以上網了解一番)
Vide Dialogues:
Fungus
StartCoroutine(巴哈教學文)
StartCoroutine相關到google/youtube都有很多可以參考的
2.見到鬼怪除了基本的逃跑躲藏還有新增攻擊
有興趣做射擊遊戲的朋友們可以參考這邊:
(一系列教學,我雖然沒看完,但教程應該算蠻完整的,包括槍的動畫:射擊/換彈匣、射線對敵人造成傷害、敵人重生、血條等等,作者似乎還有在持續更新中)
3.任務提示(尋找過關道具)
許多恐怖遊戲都會用到的….叫玩家到處尋找道具或是鑰匙開門之類的,找到一個後會加一變成 1/5 ,滿5個前往下一關,最簡單可參這邊:
4.設定語言變化
上一作品覺得這應該很困難,但實際去store找了一下用起來卻挺容易的(但劇情台詞越多越花時間)
載完後可在場景加空物件後添加lean localitztion程式碼,先按下Languages後的Add裡頭有很多語言可以選擇(我只有選中英文):
接著按下Phrases的Add添加要翻譯的句子,譬如我選了中英文兩種,每個要翻的句子底下都會有中文跟英文的Text:
至於遊戲基本的Terrain(地形) / Asset Store(模組、素材、功能) / Standard Assets(角色控制器) / Mixamo(3D角色模組)可以參考前篇。
四.豐富的3D模型
說到3D模型的話,除了Asset store以外還可以到Sketchfab
裡面有超多精緻3D模型可下載(fbx/obj),可以先申請帳號,搜尋後記得勾選Downloadable
已寄信到團隊中確認只要網頁中有提到Commercial use isallowed可商業使用(如下圖),所以下載前要注意一下:
五.非專業優化
這邊先討論些非專業關於優化的話題吧,如何優化遊戲的方法很多,包括基本將場景上的靜態物件勾選static之類的(會移動有加動畫,例如我們主角本身別勾)
由於Sketchfab這網站有一點要注意的,下載前建議看一下Triangles / Vertices (簡稱tris / verts)值
想完全了解這值是甚麼請參考:
懶人包:像我貼這模組tris有944.6k以手遊來說真得太高了(PC沒親測),自己稍微測試一下,一個場景最好別超過400k,不然畫面會不太順暢。
若是值太高,有兩種解決方法
1. 再找個類似值又低的模組代替
2. 到steam下載一款叫Blender的軟體,載好後啟動(此方法會降低模組品質,使用前請斟酌)
然後確定下載的模組是哪種副檔名就import那種類型的(obj為例):
選擇要引入的目標路徑找到obj後按下import:
接下來如何減少tris/verts可參考(雖可大量減少但付出代價就是降低模組品質):
完成後再export就好了
有些場景已經降低tris/verts後,仍有些輸出到手機上還是很卡,又花了些時間摸索,直到更改些關於lightmap的設定…
懶人包:某場景很卡的話建議將光源的Mode改Baked(注意此只適用於靜態,若是會移動或加上動畫者不適用),然後至Window > Lighting > Settings 往下拉找到Mixed Lighting打勾,然後按下底下的Generate Lighting進行(記得將靜態勾statick,不然照完會呈現黑色),場景物件材質越多執行時間也越長CPU也吃很大,假如想降低光照時間,可到Lightmapping Settings中的Indirect Resolution設定成0.05之類的(預設2),照此設定我這邊放到手機上後就變得很順,若是結果不如預期更糟糕可以選擇ClearBaked Data將光照去除。
原本輸出放到手機上測試整個很卡,做了以上幾件事後順很多…
六.再提AI enemy
此次遊戲中的鬼怪仍沿用上一篇所提到的:
後來有稍微改了些程式所以會有不一樣的變化,雖然影片都有教但我將幾個可能會忘記加的提一下,整個敵人完成後再編輯時大概長這樣:
最外面的綠框是負責感應玩家的(Box Collider記得Trigger),玩家在被感應到敵人就會追上去,除非逃離感應區(這些Box Collider都會隨著怪物一起移動),記得在敵人身上裝Nav Mesh Agent,不然敵人不會動:
至於這兩個script可以看上面影片&說明區取得,主要是敵人一開始會跟著有動畫的隱形物件走,感應到玩家就追玩家,玩家逃離回去繼續跟著隱形物件:
然後這個跟敵人差不多寬的Box Collider則是玩家碰到就GG,而GG後要加上死亡動畫或是直接死亡則看自己要如何設計:
然後這是敵人可移動的範圍(我是用3D Plane),鋪完後記得勾右上角的Static:
八.其它
過程中難免出現一些不應該有的錯誤分享一下(看不懂沒關係此處可略過)
疑問.明明放了一個敵人也加上Nav,敵人會朝我衝過來但碰到我怎沒反應?
解決.敵人身上box collider少勾trigger
疑問.增加一個UI按鈕但按一下卻變成好幾下?
解決.將程式碼中的GetButton 改成GetButtonDown
疑問.在某物件上加動畫然後執行測試,物件卻沒任何動畫?
解決.找到物件上的Animation > 右上角點Debug > Legacy打勾
疑問.在某物件上加動畫然後執行測試,卻顯示錯誤Null值?
最後再來匯整一下:
宣傳片使用:Sony Vegas Pro13
圖片或Logo相關:PhotoShop
尋找教學或是程式碼相關:Google或Youtube(建議使用英文搜尋)
翻譯相關:Google / Google翻譯
記錄撰寫:Word / Excel
截圖:Bandicam
20210911更新懶人包 :
1.Build Settings 請勾選Build App Bundles(Google Play)
(如果是前幾年就發佈過的應用程式可以不用勾,可以照以下的方法就好(Split Application Binary),更多可以參考這裡 : https://forum.gamer.com.tw/C.php?bsn=60602&snA=3915&tnum=1)
2.Project Settings中的Scripting Backend選ILI2CPP
(若遇到IL2CPP.exe Did Not Run Properly的輸出問題,需要額外安裝vs c++ build tools)
3.再勾選下方的ARMv7 / ARM64
4.API至少要30以上
(YT搜尋"Android Studio API30",後續幾年後的要求會越來越高)
5.Publishing Settings請記得申請一組Key並輸入密碼,不然無法上傳到Google Play
(詳細說明可至YT尋找"阿葉Google Play")
上傳GooglePlay:
接著如果要輸出成APK的話要記得載SDK與JDK要不然無法正常輸出
(我的SDK/JDK是在幾年前就安裝好的,當初是不是去官網載的我也忘了~~”,總而言之,大家可以直接去官網下載,影片說明處有下載網址)
載完解壓縮後,回到Unity > Edit >Preferences > External Tools 將剛剛壓縮完成的路徑加進去。
平台切換成Android(可能需要一些時間):
假如輸出出現紅字錯誤的話,錯誤的緣由也是百百種…,當初輸出時也是遇到蠻多問題的~~”,譬如可能輸出完後跳出兩三條error,可能是將場景中的某個物件沒刪乾淨或是更換SDK版本,建議可以將error紅字整個複製起來google找答案。
接著要做的就是開通Google Play Console
懶人包:Google搜尋Google Play Console進入網站登入Google帳號使用信用卡購買後台(美金25元,一次性付清,之後要再上架第二款apk就不用再付了)
接著沒意外會來到後台管理頁面:
接下來大家比較關心的是賣出的摳摳要怎麼匯到我們的帳戶(免費apk可無視),點左下角的設定>開發人員帳戶>Payments設定頁面裡的>收款方式,裡頭就可以設定你的銀行帳戶了
接下來呢..講述一下我在剛開始註冊使用這後台印象是非常好的在心裡也是打了蠻高的分數,直到我要將APK上傳後續遇到的問題,整個印象是大打折扣唉..
首先要先通過審核前要做到:
l 商店資訊(apk名稱 / 說明 / 圖片 / 影片 / 網站等等)
l 內容分級(詢問遊戲中是否包含情色或是暴力之類的勾選題,最後會自動幫你分級)
l 定價與發佈(免費&付費,以及定價範本 / 廣告/ 提供給哪些國家下載)
l 應用程式版本(詳情見下方)
統整一下要上傳APK的重要事項:
l APK若大於100mb會麻煩些
l API目標等級需高於28
l 需支持32/64位元
l APK需包含金鑰(上面影片有教)
若以上你都沒問題,那恭禧你下面一大串類似抱怨文的…可以跳過了
登入後台後建立一個應用程式,進去後點選應用程式版本,裡面有alpha beta 正式版本可以選擇,點進去同意金鑰後就可以上傳apk,此時的我內心是蠻興奮的,結果出現:
哪泥!? 我現在才知道…
此時的我去google查一下什麼是apk擴充程式檔,看了部分的教學文章頓時懷疑人生
直到我找到這篇才感覺有救了:
只要勾選publishing settings > split就能解決大於100mb問題了,於是我勾了重新輸出一次,再次抱著期望放上去結果:
上網查了下這api高於28原來是前陣子的新政策..,將build setting打開來看我的api:
上面記得放你sdk路徑
更新完後,再去看了一下還是沒有出現api28,然後我就想到我之前有載unity2018於是打開看了下竟有api28,所以我就花了些時間用2018去開啟專案(這邊要注意,假如要用別的版本去開啟,記得一定要先備份,否則升級過程或是後續error無法解決的話,心血也在一瞬間化為烏有),等了幾小時候完成了,剛開始一定會有些error此時先別緊張,把那些error紅字複製起來去google基本上都能解決,但lightmap的部份有許多場景都要重來,所以只能一張一張慢慢light…,此時我心想2017雖然沒有api28但是有個選項叫做automatic highest installed,想說會不會自己去抓api28勒,於是我又開啟了2017輸出上傳結果竟然成功了!!
上傳成功後,心想著這次覺得大丈夫了,興奮的我按下審核到了下一頁
FK!!
又上網查了下這是跟api28政策同時上路的有夠幹…,趕緊打開unity看2017似乎沒有支援到64位元的(需要有armv7 / arm64),這時的我想想趁這次機會乾脆直接升到最新的2019算了,於是先備份好,接著放了幾個小時升級完成了,打開setting頁面看了下:
總算是有我們要的了(armv7 / arm64),這邊分享一個教訓…,圖下方有個x86別勾,我第一次輸出時三個全勾上傳到google play一樣說沒64位元,因為x86只有32沒64所以一樣偵錯 唉…,後來只勾上面兩個就過關了,接著會發現頁面左邊的選項會有很大的改變,之後就放著給google play審核個幾天(剛好雙十連假,看個幼女補充一下老僧的慾望)
其實還有種方式叫app bundle可以取代app/odd方法,只要輸出時勾選就能使用(版本區高於2018.3 beta),但我上傳後仍出現憑證不足的問題,上網查了下感覺心好累只好暫時勸退使用apk/odd就好了…
審核過了以後,商店資訊/分級該填的該選的都完成後,回到應用程式下方點選開始alpha測試版,要做的就是成為測試人員,測試apk是否正常,點選頁面左邊的版本管理 應用程式版本裡尋找你的上傳的apk(我從alpha開始,所以去alpha區找),點進去後
來到這裡,複製下方的接受網址,開個新分頁貼上後會詢問你是否成為測試人員,接受後就可以下載了(由於是測試版故不會扣除任何費用)
終於可以看到商店頁面了,真香!!==
可以用手機/模擬器測試是否正常,若想更改遊戲內容需重新輸出,重新上傳即可(應用程式版本右上角建立新版本),確定沒問題後,alpha頁面會有一個發布正式版(沒截到圖)能直接正式對外發佈,還有不論是更換版本還是正式發佈都需要些時間給google play更新。
這上傳的部分花了幾天的時間才完成…,原本預估10月初正式發佈結果搞到快10月底了= =”,希望大家也能順利發佈APK!!
成品:
講了許多,總歸一句...unity載最新版本就不會有這麼多問題了...
結論&其他:
結論:這遊戲也大概花了快半年才做好吧,期間仍會看阿津玩些恐怖遊戲,有些恐怖遊戲可能真的抱持著…隨便做一做就丟上平台販售,反正你買了就買了這是你的選擇,此時買家可能會覺得自己是盤子,但我不想要這樣做,雖然我做的也是個小作品而已,在整體遊玩與優化以我目前的實力是無法做到完美的,但我希望能越做越進步,學到的知識也越多,例如下一款想挑戰多人…也沒很多,大概能做到雙人連線的遊戲就算不錯了。
其他: 嗯…,若是不想耗手機電,可以用電腦下載模擬器來玩,現在手遊如此盛行,每個人電腦應該都會有夜神/ BlueStack / 雷電之類的,我以BlueStack為例(測試皆正常),個人習慣配置如下:
普通模式:
WASD:角色移動
方向鍵:環繞四周
空白鍵:觸發事件
~:選單ESC
Tab:特殊道具
其它選項:使用滑鼠點擊
攻擊模式:
E:新觸發事件(原空白鍵變為射擊)
R:換彈匣
建議做完一款遊戲,有時間的話記得列一個Credit名單,可將使用過的網站 / 模型 / 音樂音效等等都列入其中,雖然不強迫但我習慣花些時間做一個完美Ending
送給想做遊戲的各位:製作的過程雖會碰上許多瓶頸,但…天無絕人之路,肯花時間一定能找到答案,加油!
再次附上些連結,文章有時間再撰寫的完整些,一樣若是有玩家支持遊玩過程中有發現什麼BUG歡迎寄信給我,感謝各位花時間觀看!
FB粉絲頁:
遊戲宣傳片:
11/02:更新優惠11/02~11/09將有七折優惠 至於如何使用,先進後台點選應用程式>商店發布>定價與發佈>銷售活動內可設定日期與折扣
像這樣:
若有紅字需更正,否則無法使用:
設定完後就會顯示在頁面上,跟steam一樣,冷卻時間30天