This document is about: QUANTUM 2
SWITCH TO

Materials

概述

每個 物理主體 都需要一個 物理材質 (一個Quantum資料資產)。物理材質持有對於物理引擎而言必要的屬性,以處理碰撞、力與速度的整合。

物理材質資料資產

物理材質持有下列的參數:

  • 回復(有時稱為「反彈性」,或「反彈」)
  • 回復結合功能
  • 靜態摩擦
  • 動態摩擦
  • 摩擦結合功能

如果槽中沒有 物理材質 資產,將指派預設物理材質;預設物理材質是在 模擬設定 物理設定中連結的材質。

Adjusting Properties to Physics Materials
調整屬性到物理材質。

一個 物理材質 資產可被直接指派到一個 物理碰撞器

C#

var material = f.FindAsset<PhysicsMaterial>("steel");
collider.Material = material;

f.Set(entity, collider);

重要注意事項

一個 物理材質 是一個資料資產,並且位於Quantum資產資料庫之中。因為資產不是可復原遊戲狀態的一部分,因此每個 物理材質 被認為是在運行階段不可變的。在遊戲運行時改變其屬性將導致非確定性的行為。

物理材質 跟隨與其他資料資產相同的規則。

C#

// this is NOT safe and cannot be rolled-back:
collider->Material.Restitution = FP._0;

// switching a reference is safe and can be rolled back:
var newMaterial = f.FindAsset<PhysicsMaterial>("ice");
collider->Material = newMaterial;

結合功能

結合功能用於針對各個碰撞合管(一個碰撞對)來處理回復及摩擦,其基於結合功能的優先順序。物理系統將從兩個碰撞器中選擇最高優先的功能。
優先順序是:

  1. 最大值
  2. 最小值
  3. 平均值
  4. 乘數

舉例而言:使用一個帶有碰撞器A及碰撞器B的碰撞合管。碰撞器A的物理材質有一個 回復結合功能 設定為 最大值,同時碰撞器B的物理材質將其設定為 平均值。因為 最大值平均值 有更高的優先性,針對這個碰撞的回復將使用 最大值 功能來處理。

同樣的邏輯適用於 摩擦結合功能

請注意: 摩擦結合功能回復結合功能 被分開處理,並且因此帶有不同的設定。

Back to top