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 一个盒状的 ...
随机推荐
- Java锁的种类以及辨析
锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) .这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类 ...
- 团队作业7——第二次项目冲刺(Beta版本12.04——12.07)
1.当天站立式会议照片 本次会议在5号公寓3楼召开,本次会议内容:①:熟悉每个人想做的模块.②:根据项目要求还没做的完成. 2.每个人的工作 经过会议讨论后确定了每个人的分工 组员 任务 陈福鹏 实现 ...
- 转 webpack 插件 svg-sprite-loader
最近开始看 Vue 了,首先用官方的模版把项目快速搭建起来: Vue.js 提供一个官方命令行工具,可用于快速搭建大型单页应用.该工具提供开箱即用的构建工具配置,带来现代化的前端开发流程.只需几分钟即 ...
- 6/8 sprint2 看板和燃尽图的更新
- Oracle中SYS_CONNECT_BY_PATH函数的妙用 ;
Oracle 中SYS_CONNECT_BY_PATH函数是非常重要的函数,下面就为您介绍一个使用SYS_CONNECT_BY_PATH函数的例子,实例如下: 数据准备: ),b )); ', 'A' ...
- [转帖]InfiniBand技术和协议架构分析
InfiniBand技术和协议架构分析 2017年06月06日 20:54:16 Hardy晗狄 阅读数:15207 标签: 云计算存储Infiniband 更多 个人分类: 存储云计算 版权声明 ...
- sklearn-特征工程之特征选择
title: sklearn-特征工程之特征选择 date: 2016-11-25 22:49:24 categories: skearn tags: sklearn --- 抄袭/参考资料 使用sk ...
- 第218天:Angular---模块和控制器
1.使用NG实现双边数据绑定 所有需要ng管理的代码必须被包裹在一个有ng-app指令的元素中ng-app是ng的入口,表示当前元素的所有指令都会被angular管理(对每一个指令进行分析和操作) & ...
- BZOJ1226 SDOI2009学校食堂(状压dp)
由于Bi<=7,考虑状压. 如果考虑前i个位置的话,状态里需要压入前7个人后7个人,显然是跑不动的. 那么改成考虑前i个人.于是设f[i][j][k]表示前i个人都已吃完饭,i+1后面7个人的吃 ...
- kiki's game HDU - 2147(找规律)
#include"stdio.h" int main( ) { int n,m; ||m!=)) { ==||m%==) printf("Wonderful!\n&quo ...