考慮到每個人基礎可能不一樣,且并不是所有人都有同時做2D、3D開發的需求,所以我把 【零基礎入門unity游戲開發】 分為成了
C#篇、unity通用篇、unity3D篇、unity2D篇
。
- 【C#篇】:主要講解C#的基礎語法,包括變量、數據類型、運算符、流程控制、面向對象等,適合沒有編程基礎的同學入門。
- 【unity通用篇】:主要講解unity的基礎通用的知識,包括unity界面、unity腳本、unity資源管理、unity動畫、unity攝像機等,適合unity初學者入門。
- 【unity3D篇】:主要講解unity3D的知識,unity3D角色、unity3D物理系統、unity3D光照等,適合只想做2D游戲的開發者學習。
- 【unity2D篇】unity2D篇:主要講解unity2D的知識,包括unity2D角色、unity2D物理系統、unity2D光照等,適合只想做3D游戲的開發者學習。
這樣方便大家按需選擇性的去學習,比如有編程基礎的大概率可以直接從unity通用篇開始入門,沒有編程基礎的建議從C#篇開始學習。只想做2D游戲的話,可以直接從unity2D篇開始學習,3D篇大概率就不需要看了,節約學習時間成本。
文章目錄
- 前言
- 一、Rigidbody的介紹
- 1、Rigidbody 是什么?
- 2、Rigidbody 的作用
- 3、怎么給物體添加 Rigidbody?
- 4、Rigidbody參數介紹
- 二、Collision Detection(碰撞檢測)
- 1、**Discrete(離散)**
- 適用場景
- 2、**Continuous(連續)**
- 適用場景
- 3、**Continuous Dynamic(連續動態)**
- 適用場景
- 4、**Continuous Speculative(連續推測)**
- 適用場景
- 性能消耗關系
- 總結
- 三、剛體加力
- 1、獲取剛體組件
- 2、添加力
- 2.1 正方向加了一個力
- 2.2 添加扭矩力,讓其旋轉
- 2.3 直接改變速度
- 2.4 模擬爆炸效果
- 3、ForceMode 力的模式
- 4、Constant Force力場腳本
- 四、剛體的休眠
- 1、剛體休眠存在的原因
- 2、解決剛體休眠問題
- 專欄推薦
- 完結
前言
Unity 3D物理系統中的剛體組件 (Rigidbody) 是控制物體在物理世界中如何運動的關鍵組件。它使物體受力、重力、碰撞等物理影響,從而模擬出真實的運動行為。
一般默認重力是-9.81,可以前往項目設置修改默認值
兩個物體要發生碰撞,必須滿足:(重要
)
- 兩個物體都有 Collider(碰撞器)。
- 至少一個物體有 Rigidbody。
一、Rigidbody的介紹
1、Rigidbody 是什么?
Rigidbody 是 Unity 中的一個組件,它的作用是讓物體能夠受到物理規則的影響。比如:
-
物體會因為重力掉下來。
-
物體可以被推動、旋轉,或者和其他物體碰撞。
如果沒有 Rigidbody,物體就像“幽靈”一樣,不會受到任何物理影響,只能通過代碼手動控制它的位置和旋轉。
2、Rigidbody 的作用
-
重力:讓物體掉下來(比如一個球從高處落下)。
-
碰撞:讓物體可以和其他物體發生碰撞(比如球撞到墻會彈回來)。
-
受力:讓物體可以被推動(比如用代碼給物體一個力,讓它飛出去)。
3、怎么給物體添加 Rigidbody?
-
選中你的物體(比如一個立方體或球)。
-
在右側的 Inspector 窗口,點擊 Add Component。
-
搜索 Rigidbody,然后點擊添加。
4、Rigidbody參數介紹
參數 | 含義 | 功能 |
---|---|---|
Mass | 質量 | 物體的質量。質量越大慣性越大。 |
Drag | 線性阻尼 | 空氣阻力。0表示沒有空氣阻力,較高的值會產生更快的衰減速率。 |
Angular Drag | 角阻尼 | 旋轉空氣阻力。0表示沒有旋轉空氣阻力, 極大時使物體立即停止旋轉。 |
Automatic Center Of Mass | 自動質心 | 啟用以使用物理系統根據剛體的形狀和比例預測的剛體質心。禁用可設置您自己的質心 X、Y 和 Z 坐標。 |
Automatic Tensor | 自動張量 | 啟用以使用物理系統對剛體的預測張量和張量旋轉,基于所有連接的 colliders .與質量一樣,慣性張量定義使剛體移動所需的力或扭矩;但是,質量影響線性運動,而慣性張量影響旋轉運動。禁用 可改為張量設置您自己的 X、Y 和 Z 坐標(請參閱下面的屬性)。 |
Use Gravity | 使用重力 | 切換 Rigidbody 上的重力效果。如果啟用,物理系統將施加一個力,使游戲對象沿模擬重力的方向移動(默認情況下,沿 y 軸向下移動)。默認情況下,Use Gravity 處于啟用狀態。 |
Is Kinematic | 是運動學的 | 在游戲對象的基于物理的運動和運動之間切換。啟用 Is Kinematic 后,物理系統無法施加力來移動或旋轉游戲對象,而 Unity 只能通過其 Transform 移動和旋轉游戲對象。 |
Interpolate | 插值 | 物體運動插值模式,讓剛體物體移動更平滑。當發現剛體運動時抖動,可以嘗試下面的 選項:None(無),不應用插值;Interpo |