unity2D物理引擎之-Rigidbody 2D
虽然Rigidbody 2D大致上可以看成是Rigidbody的2D化,大部分功能也是一致的,但是还是有一些细节问题。
一些事项:
1.任何添加到同一个 GameObject身上或者其子物体身上的 2D Collider组件都隐式的 附属于 那个 Rigidbody 2D.
2.当一个Collider 2D组件附属到一个Rigidbody 2D身上时,它就跟随Rigidbody 2D移动。这时不应该通过直接设置Transform 或者 Collider的偏移量来 移动。
3.附属于同一个 Rigidbody 2D的所有 Collider 2D,它们相互是不会发生碰撞检测的。
刚体类型:
1. Rigidbody 2D 有三个类型:Dynamic、Kinematic、Static
2. 刚体类型主要影响一下几个要素:
a. 移动行为(位置、旋转)
b. 碰撞体交互
3. 注意一点,虽然Rigidbody 经常被描述成 是与其它 rigidbody 相互碰撞,但是实际上是 附加在Rigidbody上的Collider在进行碰撞检测,Rigidbody在没有Collider的情况下,是没法相互碰撞的。
4. 改变Rigidbody 2D的类型是一个比较麻烦的事情。当一个刚体类型改变,许多关联的变量会立马重置,并且需要重新赋值,而且与刚体关联的所有Collider需要在下一个FixiedUpdate之前重新认知,这样可能会导致奇怪的表现。
刚体类型: Dynamic

概括来说,这种类型是为了 物理仿真运动而设计的。(让物体看起来更像现实世界行为)它的运动受重力、质量、其他力影响。并且这种类型会与其他所有刚体类型发生碰撞。
- Simulated:该组件是否与仿真模拟交互。
- Collision Detection:碰撞体之间的碰撞检测方式:
- Discrete:在一个 物理更新期间,物理可以相互重叠、穿越。当速度太快时,碰撞只会在最新的位置检测,这就意味着,如果速度太快,使用这个选项会有问题。
- Continuous:这个就不会存在Discete的问题,但是CPU消耗高。
- Sleeping Model:在什么情况下,会休眠以节省性能。
- Never Sleep:从不休眠
- Start Awake:物体最初是醒着的
- Start Asleep:物体最初是休眠的,但是遇到碰撞就会苏醒。
- Interpolate:在物理更新中,物体移动的插值算法
- None:
- Interpolate:基于上一帧物体位置来插值模拟
- Extrapolate:基于预测下一阵物体位置来插值模拟
刚体类型:Kinematic

这种类型,物体移动也是在仿真下进行的,但是却是在 用户非常明确的控制 的前提下进行的。
注意
1. 这种类型不受力、重力的影响
2. 它使用Rigidbody2D.MovePosition or Rigidbody2D.MoveRotation API来移动。
3. 它使用物理引擎来查询 碰撞,并且通过编程来决定物体如何移动。
4. 实际上,这种类型仍然通过它的速度来移动,但是它的速度却不受其他任何力的影响。
5. 这种类型 不会 与其它Kinematic或者Static类型发生碰撞检测
6. 在碰撞过程中,这种类型的物体表现为不受力(质量无穷大)。
- Simulated:如果想要在运行时 与其它Collider 2D 发生物理仿真交互,就打开它。
- Use Full Kinematic Constacts:开启它,该物体就可以与其它任意类型的Rigidbody 2D发生碰撞。
刚体类型:Static

1. 它只与 Dynamic 类型的Rigidbody 发生碰撞.
2. 无法拥有两个 Static 的Rigidbody 2D。
unity2D物理引擎之-Rigidbody 2D的更多相关文章
- 关于Unity中物理引擎的使用
物理引擎控制刚体,刚体上面贴上图片,所以看起来就是游戏运行起来的状态 物理世界计算刚体的运行状态,通过贴图显现出运算结果. 一.物理引擎 1:Unity 2D物理引擎基于Box2D封装而成;2: 物理 ...
- 基于APE物理引擎的管线容积率计算方法
容积率一般应用在房地产开发中,是指用地范围内地上总建筑面积与项目总用地面积的比值,这个参数是衡量建设用地使用强度的一项非常重要的指标.在其他行业,容积率的计算也非常重要,如产品利用率.管道使用率等等. ...
- 制作简单的2D物理引擎(零)
最近发现了Github上的开源物理引擎项目Matter.js,对它很感兴趣,发现源码并不算长,算上注释大约1万行左右,值得剖析一番.Matter.js实现一个最小化的2D物理引擎,性能不错,故打算用C ...
- Matter.js – 你不能错过的 2D 物理引擎
Matter.js 是一个 JavaScript 2D 刚体物理引擎的网页.Matter.Engine 模块包含用于创建和操作引擎的方法.这个引擎是一个管理更新和渲染世界的模拟控制器. Matter. ...
- [原]Unity3D深入浅出 - 物理引擎之刚体部件(Rigidbody)
在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性: Mass:质量 Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空 ...
- HTML5之2D物理引擎 Box2D for javascript Games 系列 翻外篇--如何结合createJS应用box2d.js
太久没有更新了,新年回来工作,突然有收到网友的邮件提问,居然还有人在关注,惭愧,找了下电脑上还有一点儿存着,顺便先发这一个番外篇吧,好歹可以看到真实的效果,等我考完英语,一定会更新下一章," ...
- HTML5之2D物理引擎 Box2D for javascript Games 系列 第一部分
我要的是能在H5页面上跑的javascript版的Box2D啊!!! 最近想学习Javascript版本的Box2D JS物理引擎,无奈搜了半天也没找到相对比较系统的资料 官方网站也只是简单的介绍,A ...
- Unity3D_(物理引擎)Rigidbody组件
Rigidbody组件刚体(Rigidbody)是Unity物理引擎中的重要组件,一个游戏对象添加了刚体组件以后就开始接受物理力学的影响了,比如重力.空气摩擦力.碰撞产生的推力 Learn 相同高 ...
- 制作简单的2D物理引擎(一)——动力学基础
一切的基础 点 在二维平面中,点$P$就是坐标$(x,y)$,点集就是一系列坐标的集合$\{P_1,P_2,...,P_n\}$,不过这个集合是有序的(顺时针). 向量 加减运算 $$\vec{P}\ ...
随机推荐
- ftp服务器的安装
vsftp的安装: 1.安装: yum -y install vsftpd 2.添加ftp用户: useradd ftpuser 3.给ftp用户添加密码: passwd ftpuser 输入两次密码 ...
- 用Python一键生成炫酷九宫格图片,火了朋友圈
- C#开发笔记,点点细微,处处真情,记录开发中的难言之隐
该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/956 访问. 概述 本系列文章将会向大家介绍本人实际开发过程中所遇到技术 ...
- C#LeetCode刷题之#27-移除元素(Remove Element)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3624 访问. 给定一个数组 nums 和一个值 val,你需要原 ...
- BLE MESH 学习[1] - ESP32 篇
BLE MESH 学习 BLE MESH 是一种蓝牙(n:m)组网的技术. 本篇先介绍 BLE MESH 到使用 ESP32 的官方示例对其进行学习讲解. 后面会进一步学习 SIG 的 BLE MES ...
- 解决用anaconda安装scrapy后,在使用scrapy时报错
python版本为3.7 因为用anaconda安装scrapy非常方便,会自动下载所依赖的包, 所以就使用anaconda安装scrapy, 非常舒服,安装很成功 conda install scr ...
- 【趣味设计模式系列】之【代理模式2--JDK动态代理源码解析】
1. 图解 上图主要描述了JDK动态代理的执行过程,下面做详细分析. 2. Proxy源码分析 上一篇,在使用JDK动态代理的时候,借助于Proxy类,使用newProxyInstance静态方法,创 ...
- 调试备忘录-NTC电阻的使用(教程 + 代码)
软件环境:CodeWarrior 11.1 硬件环境:NXP S9KEAZ64A 传感器参数:NTC热敏电阻(R25 = 50k,B25-50 3950) 写在前面 最近做小项目需要用到NTC电阻,因 ...
- 设置与查看Linux系统中的环境变量
大家好,我是良许. 大家都知道,在 Linux 系统中,有环境变量和 Shell 变量这两种变量. 环境变量是在程序及其子程序中全局可用的,常常用来储存像默认的文本编辑器或者浏览器,以及可执行文件的路 ...
- 记录一下前端性能优化-为何操作DOM会变慢?
对于大多数前端来说,性能优化的方法可能包括以下这些: 减少HTTP请求(合并css.js,雪碧图/base64图片) 压缩(css.js.图片皆可压缩) 样式表放头部,脚本放底部 使用CDN(这部分, ...