## **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中如何查找脚本挂载在哪个物体上