Rigidbody和Collider
Rigidbody:
常用属性:
Mass:默认为1,单位并不是g或kg,而是相对的质量计量单位,只决定物体的惯性;
Drag:空气阻力;
Angular Drag:角阻力,旋转时受的阻力;
Use Gravity:是否受重力影响;
Is Kinematic:是否使用运动学;
Interpolate:插值,内插值,外插值;游戏对象出现抖动时可以尝试使用;
Collision Detection:碰撞检测,离散(默认),连续(高速运动的物体建议使用),连续动态(两个物体都是高速运动的物体);
Constraints:约束,当游戏对象受到力的影响,不会在某个轴上有位移或旋转,冻结位置,冻结旋转;
常用方法:
GetComponent<Rigidbody>().AddForce(move * speed * Time.deltaTime);//参数为三维向量,表示力的大小和方向
//给游戏对象添加力矩/扭矩,使物体旋转
GetComponent<Rigidbody>().AddTorque(new Vector3(0,10,0));
二、Collider碰撞器
刚体要和碰撞器一起使用
Is Trigger:是否触发;
Material:物理材质;
Center:碰撞检测范围;
发生碰撞的条件:1.两个物体都要有碰撞器,2.至少一个物体带有刚体;
物理材质(Material)
给物体添加摩擦力和弹力,只能添加到带有Collider组件的物体上。
Dynamic Friction:动摩擦力;
Static Friction:静摩擦力;
Bounciness:弹力;
Friction Combine:摩擦力的结合性;(两个物体都有摩擦力时的计算方式)
Bounce Combine:弹力的结核性;
三、碰撞和触发事件
碰撞相关三个事件
//碰撞开始时会调用一次
void OnCollisionEnter(Collision other)
{
Debug.Log("碰撞开始");
} //碰撞结束时调用一次
void OnCollisionExit(Collision other)
{
Debug.Log("碰撞结束");
}
//碰撞时持续调用
void OnCollisionStay(Collision other)
{
Debug.Log("碰撞持续");
}
触发相关的三个事件
//触发器相关的三个事件
//刚刚进入触发范围
void OnTriggerEnter(Collider other)
{
} //持续触发
void OnTriggerStay(Collider other)
{
} //触发结束
void OnTriggerExit(Collider other)
{
}
Rigidbody和Collider的更多相关文章
- 关于Rigidbody,Collider和CharacterController三者之间的关系和用法的总结
Rigidbody:多用在“物体”上,因为“物体”都是“死”的,他们的运动一般都是靠物理系统.所以对于Rigidbody的移动,不要用Translate(),要用各种“力”, 比如:Rigidbody ...
- [Unity Physics]Physics - Rigidbody、Collider
什么是Collider 碰撞器组件在Unity引擎中触发物理碰撞的最基本的条件. 可以这样说,假如一个游戏中没有物理碰撞系统是不可能的. 什么是Rigidbody 通过物理模拟的控制对象的位置. Ri ...
- Rigidbody(刚体) and Collider(碰撞器)
关于刚体Rigidbody,手册上是这么描述的: Control of an object's position through physics simulation. 通过物理模拟控制一个物体的位置 ...
- [Unity2D]Box Collider 2D盒子碰撞器
盒子碰撞器(BoxCollider2D)是Unity2D中常用的碰撞器,所有为碰撞器,顾名思义,就是用于检测物体之间的碰撞情况的,Unity2D里面除了BoxCollider2D碰撞器之外还集成Box ...
- [转]CharacterController与Rigidbody
From: http://blog.csdn.net/czlilove/article/details/9139103 今天下午碰到个问题纠结了很久:人物加上了Rigidbody并使用了重力,遇到悬崖 ...
- Unity Sample Bootcamp
M4枪 射击特效 Gun.js源码 function GenerateGraphicStuff(hit : RaycastHit) { var hitType : HitType; var body ...
- 胶囊碰撞体(CapsuleCollider)
胶囊碰撞体 (Capsule Collider) 胶囊碰撞体 (Capsule Collider) 由两个半球体与一个圆柱体相连接而构成.它与胶囊 (Capsule) 基元形状相同. 一堆胶囊碰撞 ...
- 对《[Unity官方实例教程 秘密行动] Unity官方教程《秘密行动》(十二) 角色移动》的一些笔记和个人补充,解决角色在地形上移动时穿透问题。
这里素材全是网上找的. 教程看这里: [Unity官方实例教程 秘密行动] Unity官方教程<秘密行动>(九) 角色初始设定 一.模型设置: 1.首先设置模型的动作无限循环. 不设置的话 ...
- Unity3D脚本中文系列教程(十一)
http://dong2008hong.blog.163.com/blog/static/4696882720140313058768/ BoxCollider 类,继承自Collider 一个盒状的 ...
随机推荐
- 作业一 031502140 博客地址yeze651521
大一 上学期一开始对于这门课程是懵懵懂懂的,基本不知道自己会不会能够学好,经过了一个学期的努力和老师的教导得到了许多有益的地方,使得我在这门课程的学习上有了大概的掌握,一个学期的学习给予了我很大的能力 ...
- 剑指offer:用两个栈实现队列
题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 思路: 可以用stack1来存所有入队的数.在出队操作中,首先将stack1中的元素清空,转移到sta ...
- python learning2.py
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] # 取前3个元素的笨方法 r = [] n = 3 for i in range(n): r.appe ...
- visualStudo编译c程序, 提示函数unSafe问题
问题描述: 在利用visualStudo进行C语言编程时,若C语言源程序中有print,freopen等函数时,IDE软件总是unSafe,而且无法通过编译. 解决方案: 在<视图>中找到 ...
- JAVA之路(二)
学道酬勤,这是第二次学习JAVA,感觉如醍醐灌顶一样,理解很多思想和道理. 本博只是自己对JAVA的一些理解,具体定义以及用法百科里有. 我为什么在博客园内记录自己的学习过程呢,因为我想有人知道我在学 ...
- python下的Box2d物理引擎的配置
/******************************* I come back! 由于已经大四了,正在找工作 导致了至今以来第二长的时间内没有更新博客.向大家表示道歉 *********** ...
- [转帖]AMD、英特尔为何争相走向胶水多核处理器?真相在此
AMD.英特尔为何争相走向胶水多核处理器?真相在此 胶水多核到底好不好?这个事不是简单一句话能说明的,今天的超能课堂里我们就来聊聊MCM胶水多核技术的过去及未来. 作者:孟宪瑞来源:超能网|2018- ...
- Flyway的第一次认识
1. 引言 想到要管理数据库的版本,是在实际产品中遇到问题后想到的一种解决方案,当时各个环境的数据库乱作一团,没有任何一个人(开发.测试.维护人员)能够讲清楚当前环境下的数据库是哪个版本,与哪个版本 ...
- P3165 [CQOI2014]排序机械臂
题目描述 为了把工厂中高低不等的物品按从低到高排好序,工程师发明了一种排序机械臂.它遵循一个简单的排序规则,第一次操作找到高度最低的物品的位置 P1P_1P1 ,并把左起第一个物品至 P1P_1P1 ...
- 【转】iBatis.Net的SqlMap.config文件
转自:http://www.xuebuyuan.com/579671.html iBatis.Net基本的运行环境配置主要由两个文件组成,分别是SqlMap.config和Provider.con ...