Skip to content

WANG-YongLE/section3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Unity 球體運動與碰撞系統

📌 系統目的

本系統模擬球在 3D 空間中的運動行為,包含移動、加速、碰撞反彈與難度提升機制。設計目標為:

  • 穩定的運動控制
  • 合理的速度成長曲線
  • 精準碰撞偵測
  • 符合直覺的物理反彈

🚀 速度設計

球的最大速度會隨時間逐步增加,以控制遊戲難度。

📌 速度上限

時間(秒) 最大速度
0 – 10 0.01
10 – 20 0.1
20 – 30 0.4
30 – 40 1
40 – 50 2
50+ 5

⚙️ 運動方式

球的移動方式為:

  • 使用速度向量控制方向與速度
  • 每幀移動距離 = 速度 × 時間間隔

此方式避免使用物理力造成的不穩定行為,使運動結果可預測。

🎯 碰撞偵測機制

系統使用 SphereCast(球體投射)進行預測碰撞:

  • 可提前偵測碰撞
  • 避免高速穿透物體
  • 可計算實際碰撞距離

🔁 碰撞反彈機制

當球撞擊物體時,依照以下原則反彈:

📌 反彈規則

  • 反彈方向 = 入射方向的鏡射結果
  • 速度大小維持不變
  • 僅改變方向,不改變速度強度

📌 數值示例

假設:

  • 入射速度: (2, -3, 0)
  • 碰撞法線: (0, 1, 0)

則反彈後:

  • 速度變為: (2, 3, 0)

👉 表示 Y 軸方向反轉,其餘分量保持不變。

🎯 計分機制

當球碰撞特定物件時:

  • 碰到「TopBoard」 → 玩家1 +1 分
  • 碰到「DownBoard」 → 玩家2 +1 分

🧠 系統流程

每一幀運作流程如下:

  1. 更新遊戲時間

  2. 計算當前最大速度(依時間變化)

  3. 球進行加速(受最大速度限制)

  4. 計算移動距離

  5. 使用 SphereCast 偵測碰撞

  6. 若碰撞:

    • 修正位置
    • 計算反彈方向
    • 更新速度
    • 觸發計分
  7. 若未碰撞:

    • 正常移動

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors