## **Rigidbody2D 二維剛體**
Namespace: UnityEngine / Inherits from: Component
### Description 描述
用于2D精靈的剛體物理組件。
Rigidbody2D類本質上提供了與3D剛體同樣功能。添加Rigidbody2D組件到一個精靈上置于物理引擎的控制下。就其本身而言,這意味著精靈會受到重力的影響并可以從腳本使用力控制。通過添加合適的碰撞器組件,該精靈也會響應與其他精靈碰撞。這種行為完全來自Unity的物理系統;非常少的代碼得到令人印象深刻和真實的物理行為,并允許游戲中未明確編碼的“突發”的運動。
其他參考: Rigidbody class, SpriteRenderer class, Collider2D class, Joint2D class.
## **Variables 變量**
**angularDrag**
角阻力系數。
**angularVelocity**
每秒度的角速度。
**attachedColliderCount (新)**
返回附加到該Bigidbody2D的Collider2D的數量。
**bodyType(新)**
Bigidbody2D的物理行為類型。
**centerOfMass**
剛體局部空間坐標的質量中心。
**collisionDetectionMode**
這個方法用于檢測物理引擎兩個對象是否已經碰撞。
**constraints**
控制允許該Rigidbody2D模擬的自由度。
**drag**
阻力系數 。
**freezeRotation**
控制該對象的物理是否更改旋轉。
**gravityScale**
該對象將受重力影響。
**inertia**
該剛體旋轉的慣性。
**interpolation**
用于更新期間的物理插值。
**isKinematic**
這個剛體不采用物理控制么?
**mass**
該剛體的質量。
**position**
該剛體的位置。
**rotation**
該剛體的旋轉角度。
**simulated**
標識該剛體是否應該物理模擬或不使用物理系統。
**sleepMode**
該休眠狀態就是該剛體將初始化狀態。
**useAutoMass**
該剛體的總質量是否從Collider2D.density自動計算。
**velocity**
該剛體的線性速度。
**useFullkinematicContacts(新)**
是否允許運動/運動和運動/靜態碰撞?
**worldCenterOfMass**
在世界坐標空間獲取該剛體的質量中心。
## **Functions 函數**
**AddForce**
應用一個力到剛體。
**AddForceAtPosition **
在給定位置添加力。
**AddRelativeForce**
添加一個力到二維剛體,相對于它的坐標系統。
**AddTorque**
在該剛體的質心應用一個力矩。
**GetPoint** Get a local space point given the point point in rigidBody global space.
在剛體世界坐標空間(全局空間)給定的點,獲得局部坐標空間的點。
**GetPointVelocity**
點/Point/ (全局空間)處剛體的速度。
**GetRelativePoint**
在剛體局部空間給定點relativePoint,獲得一個全局空間的點。
**GetRelativePointVelocity** The velocity of the rigidbody at the point Point in local space.
在局部空間剛體在point點的速度。
**GetRelativeVector**
在剛體局部坐標空間獲得給定向量relativeVector的全局坐標空間向量。
**GetVector**
在剛體全局空間給定的的vector向量的獲得局部空間向量。
**IsAwake**
Sleeping是用來優化當一個對象在靜止時暫時刪除物理模擬。這個函數告訴當前剛體是否蘇醒。
**IsSleeping**
該剛體是否休眠?
**IsTouching**
檢測附加到該剛體的任意碰撞器是否與collider接觸。
**IsTouchingLayers**
檢測附加到該剛體的任意碰撞器是否與指定層的碰撞器接觸。
**MovePosition**
移動剛體到position。
**MoveRotation**
旋轉該剛體到“angle”。
**Sleep**
使剛體休眠。
**WakeUp**
禁用一個剛體的休眠狀態。
```
using UnityEngine;
/// <summary>
///
/// </summary>
public class AddForce2 : MonoBehaviour
{
public float x_power=0.0f;
public float y_power = 100.0f;
public Rigidbody2D rb2d;
private void Start()
{
rb2d=GetComponent<Rigidbody2D>();
}
void FixedUpdate()
{
if (Input.GetMouseButton(0))
{
Vector2 x_force = new Vector2(x_power,y_power);
rb2d.AddForce(x_force);
}
}
}
```
由于AddForce只接受向量而不像3d的可以接受x y z 三個參數,所以我們改造下
- C#
- 基礎 System
- 命名規范
- 變量
- 數據類型
- 值類型
- 簡單類型
- 整數類型
- 字符類型
- 浮點類型
- 布爾類型
- 枚舉類型
- 結構體類型
- 引用類型
- 類類型
- 對象(Object)類型
- 字符串(String)類型
- 方法屬性
- 動態(Dynamic)類型
- 數組類型
- 接口Interface
- 委托類型delegate
- 裝箱和拆箱
- 指針類型
- 值類型與引用類型的區別
- Var類型
- 類型轉換
- 隱式轉換
- 顯式轉換
- 常量
- 常用函數
- 流程控制
- 循環
- 跳轉語句
- 數組
- 數組查找
- 添加組元素
- 復制與克隆數組
- 刪除數組元素
- 數組排序與反轉
- 數組排序
- 冒泡排序
- 直接插入排序
- 選擇排序法
- 數組對象
- 哈希表
- 其他
- 遞歸
- 屬性與方法及方法重載
- 結構與類
- 類
- 構造函數與析構函數
- 繼承
- 多態
- 泛型
- demo
- 漢字字符(串)比較
- 創建指定大小文件與讀取大文件
- 小截屏軟件功能
- 子窗體返回主窗體
- 判斷是否為數字
- 獲得字符串實際長度(包括中文字符)
- unity
- script腳本
- 腳本的生命周期
- 調試
- Unity Manual5.4
- Unity手冊
- Working In Unity
- Unity 2D
- Graphics(圖形)
- Physics(物理系統)
- Scripting(腳本)
- Multiplayer and Networking(多玩家和聯網)
- Audio(音頻)
- Animation(動畫)
- UI
- Navigation and Pathfinding(導航和尋路)
- Unity Services(Unity服務)
- Virtual Reality(虛擬現實VR)
- Open-source repositories(開源代碼庫)
- Platform-specific(特定于平臺的信息)
- Legacy Topics(舊版主題)
- Expert Guides(專家指南)
- 重要的類
- Object
- GameObject(重要)
- Component
- Transform(重要)
- Rigidbody
- ParticleSystem
- Behaviour
- Camera
- Animator
- AudioSource
- Animation
- AudioListener
- Light
- MonoBehaviour事件行為(重要)
- Terrain
- Collider
- Renderer
- Texture
- Mesh
- material
- Time
- Prefab預制件
- 功能demo
- 層級未知查找子物體
- 查找hp最小的敵人
- 查找最近的敵人
- 小項目之英雄無敵
- 界面操作
- Scene窗口
- Game窗口
- project窗口
- Hierarchy窗口
- 動畫
- Animation重要API
- 2D
- Sprite(creator) Sprite Renderer
- Sprite Editor
- Sprite Packer(遺留功能)
- 排序組組件
- 切片精靈
- 精靈遮罩
- 精靈圖集
- Tilemap
- 2D物理系統
- 全局設置(Project setting)
- 2D剛體(Rigidbody 2D)
- 碰撞(事件)消息
- 2D碰撞體(Collider 2D)
- 2D圓形碰撞體(Circle Collider 2D)
- 2D盒型碰撞體(BoxCollider 2D)
- 2D多邊形碰撞體( Polygon Collider 2D)
- 2D邊界碰撞體(EdgeCollider 2D)
- 2D膠囊碰撞體(CapsuleCollider 2D)
- 2D復合碰撞體(Composite Collider 2D)
- 2D物理材質(摩擦和彈性)(Physics Material 2D)
- 2D關節
- 2D距離關節(Distance Joint 2D)
- 2D固定關節(Fixed Joint 2D)
- 2D摩擦關節(Friction Joint 2D)
- 2D鉸鏈關節(Hinge Joint 2D)
- 2D相對關節(Relative Joint 2D)
- 2D滑動關節(Slider Joint 2D)
- 2D彈簧關節(Spring Joint 2D)
- 2D目標關節(Target Joint 2D)
- 2D車輪關節(Wheel Joint 2D)
- 2D恒定力(Constant Force 2D)
- 2D 效應
- 2D區域效應(AreaEffector 2D)
- 2D浮力效應(BuoyancyEffector 2D)
- 2D點效應(PointEffector 2D)
- 2D平臺效應(PlatformEffector 2D)
- 2D表面效應(SurfaceEffector 2D)
- 精靈動畫
- 2D動畫事件
- 重要類
- rigidbody2d
- 小竅門
- Unity中如何查找腳本掛載在哪個物體上