露露&恩諾伊:交織世界命運的少女
目前都有上Steam,並且有加上Steam成就才誕生這篇教學文,該版本的教學最後更新為
2019/12/13。主題
Steam成就
簡單來說
在遊戲內達成某些目標,給予玩家肯定的一種機制。
先前準備
1.在Steam上先弄好,成就的程式ID(API名稱)、成就的名稱(顯示名子)、成就的說明、成就的達成圖及未達成圖。
進入頁面後點擊左邊第一項目【installation】
頁面內容有Releases再點進去
進入後把Unitypackage的檔案包下載下來。
3.把下載的steam包直接丟進您的專案內。
4.到你專案的Assets底下找steam_appid.txt,將其內容修改成你Steam上的App_id。
5.Assets\Scripts\Steamworks.NET底下有個SteamManager
6.修改SteamManager內的(AppId_t)480),把480改成你的App_id存檔。
目前新版本會顯示成這樣
只要改成這樣就行
if (SteamAPI.RestartAppIfNecessary((AppId_t)480))
主要是玩家端單向給Steam資訊,沒有類似server要來回作檢查的項目內容其實只有幾個會用到。
再來準備一個,空GameObject放在場景內(該物件會無法被刪除),把 SteamManager拉進該物件內。
之後~
可寫任何程式內不用刻意Call SteamManager,但該程式要補上 using Steamworks;
當玩家達成成就時只要在程式內容打上以下兩條。
-------------------------------------------------------------------------------
SteamUserStats.SetAchievement("API名稱");
SteamUserStats.StoreStats();
-------------------------------------------------------------------------------
API名稱就是你先前準備的程式ID,看要指定哪一個,只要執行當下就會獲得成就。
成就完成後需要重新測試的話你會需要這個程式幫助你Reset。
-------------------------------------------------------------------------------
SteamUserStats.ResetAllStats(true);
SteamUserStats.StoreStats();
-------------------------------------------------------------------------------
會將你所有之前已經達成的成就變成沒有達成。
這就是Steam上成就安置在Unity遊戲內的方式。