深度強化學習課程文件
(可選)如何自定義環境
並獲得增強的文件體驗
開始使用
(可選)如何自定義環境
如果您想自定義遊戲關卡,請開啟關卡場景 res://scenes/level.tscn,然後開啟 Godot 檔案系統中的 res://scenes/modules/ 資料夾
該關卡包含 3 個使用模組、機器人和一些額外碰撞體制作的房間,這些碰撞體可以防止在第一個房間透過爬牆到達鑰匙來完成關卡。透過將模組新增到場景中,您可以新增新的房間和物品。
如果您點選“鑰匙”節點(它在 Room3 中,您也可以搜尋它),然後點選 Node > Signals,您會看到 collected 訊號連線到機器人和寶箱。我們使用它來跟蹤機器人是否已收集鑰匙,並解鎖寶箱。同樣地,使用槓桿啟用樓梯也應用了相同的系統,如果您新增更多的槓桿/樓梯/鑰匙,您可以使用訊號連線它們。
如果您切換到 Groups,您會看到鑰匙是 resetable 組的成員。在同一個組中,我們有木筏、槓桿、寶箱、玩家,並且可以新增任何需要在劇集重置時重置的節點。
為了使其正常工作,resetable 組中的每個物件都需要實現 reset() 方法,該方法負責重置該物件。
因為我們有多個關卡場景例項用於訓練,我們不會重置所有 resetables,而只重置同一場景中的那些。在 level_manager.gd 中,我們有一個 reset_all_resetables() 方法負責此操作,並且在需要重置時由機器人指令碼呼叫。
更改關卡大小後,還需要更新 robot_ai_controller.gd 中的 level_size 變數。為此,只需粗略測量關卡的最長尺寸,然後更新變數。
如果您更改了 AIController 需要跟蹤的物件數量(槓桿、木筏等),您將需要更新指令碼中的相關程式碼,包括這些物件的匯出屬性,然後在關卡場景中 AIController 的檢查器屬性中連線它們
在此之後,您可能還需要更新演示記錄場景中 AIController 的相同屬性。