This document is about: QUANTUM 2
SWITCH TO

Quantum 102 - Setting up a Scene

概述

Quantum 102說明了如何以物理物件來設定一個簡單的Quantum場景。它介紹了實體的概念,並且指導了從Unity編輯器之中建立實體的方法。

開啟遊戲場景

與Quantum SDK搭售的Unity專案已經含有協助您開始的檔案。

Photon/QuantumDemo資料夾之中,有一個Game和一個Menu資料夾,其各自含有一個名稱類似的場景。這些場景作為Quantum 100系列的開始點。

開啟Game場景。

the game scene
遊戲場景。

在場景中有幾個值得一提的遊戲物件。

  • MapData:在Quantum中建立場景的工作流程,與在Unity中建立一個單人玩家遊戲的場景的工作流程幾乎相同。地圖資料元件將實體、靜態碰撞器及導航網格資料嵌入您的場景之中,這樣確定性Quantum引擎可以使用它們。
  • EnitityViewUpdater負責具現化及銷毀由遊戲遊玩程式碼在運行階段建立的實體(檢視)的遊戲物件代表。
  • LocalInput指令碼是一個示例,說明如何將Unity輸入傳送到確定性Quantum引擎之中。在這個系列稍後將進一步說明它。
  • QuantumStats遊戲物件顯示了統計資料視窗,其在Game編輯器視窗的左側可見。它顯示了許多有用的關於啟用中的Quantum模擬的統計資料。

注意事項: 我們建議稍後返回實體檢視更新器,並且根據您的遊戲需求來客製化它。舉例而言,如果需要的話,新增物件輪詢或更改內插補點。

新增地面及剛體

為了新增一個地面到場景,以右鍵按一下Unity中的階層分頁,並且選擇Quantum > 3D > Static Box Collider。請注意,在這個物件上有一個Quantum Static Box Collider 3D。Quantum靜態碰撞器元件定義了Quantum地圖的靜態碰撞器幾何。

create a static collider
建立一個靜態碰撞器。

重新命名遊戲物件為Floor,並且更改它的幅度為(10, 1, 10)。在場景檢視中,您可以取得一個綠色Gizmo盒,其匹配視覺效果網格。這是Quantum靜態碰撞器。。

the floor

下一步新增一個Quantum > 3D > Box Entity、設定它的位置為(0, 4, 0)以及旋轉為(45, 0, 45)。

為了新增一個剛體元件到實體,勾選在Enity Prototype元件上的PhysicsBody3D勾選框。

進入遊玩模式。這樣做將自動地將靜態碰撞器嵌入確定性地圖。方塊實體下降並且在地面上著陸。

注意事項: 在Quantum模擬中的所有資料都必須是確定性的。這樣子的結果是,在Quantum上作業時,非常多非確定性Unity資料需要透過資料嵌入流程,來嵌入到一個確定性的格式。已嵌入資料被儲存到資料資產(比如可指令碼物件),然後由模擬來存取。

cube falling to the ground

Quantum中的實體

在Quantum中,所有遊戲遊玩都是由實體及系統以及靜態資料資產(比如靜態碰撞器)來驅動。Quantum並不處理任何轉譯,然而實體檢視更新器為各個在Unity中有一個實體原型及實體檢視單行為的實體,來具現化一個遊戲物件。這個檢視遊戲物件作為實體的視覺效果代表。檢視遊戲物件的轉換也由實體檢視更新器從它們各自的實體來自動同步。

各個實體有一個元件的集。元件不是Unity單行為,而是被新增到實體原型單行為的Enity Component清單上的實體中,或透過程式碼被新增。某些元件透過勾選實體原元件中的勾選框來新增,比如方塊實體上的PhysicsBody3D元件。

Quantum有一個狀態檢查器,來在運行階段檢查實體元件的狀態。在Unity的選單列中按一下Window > Quantum > State Inspector。這開啟了狀態檢查器視窗。進入遊玩模式。在狀態檢查器視窗中,展開LOCALDEBUG輸入項目及Entities輸入項目。其中列出方塊實體。按一下它以顯示實體上的所有元件以及它們目前的狀態。

the cube entity in the state inspector
在狀態檢查器中的方塊實體。
Back to top