Unity 物理系统 -- 刚体简介
- Mass:质量。
质量越大,惯性越大。建议场景中的物体质量最好不要相差100倍率以上。防止两个质量相差太大的物体碰撞后会产生过大的速度,从而影响游戏性能及呈现的效果。 - Drag:阻力(摩擦力)。
这里指的是空气阻力,属性数值影响阻碍此物体对象的直线运动的速度效果。当游戏物体受到某个作用力的时候,这个值越大越难移动。如果设置成无限的话,物体会立即停止移动。 - Angular Drag:角阻力(旋转摩擦力)。
同样指的是空气阻力,只不过是用来阻碍物体旋转的。如果设置成无限的话,物体会立即停止旋转。 - Use Gravity:使用重力效果
不勾选,则不会受到重力影响。 - Is Kinematic:是否符合运动学的(是否受到物理引擎的驱动)。
勾选后,变成不再受物理引擎的影响,改为受Transform的影响。即不再有重力,不再被碰撞等,只会呆在Transform规定的位置上不动,物体撞击时候像一堵墙一样不会倒,位置不会因碰撞而发生改变。 - Interpolate:差值类型。
如果看到刚体移动的时候运动的不是很平滑,可以选择一种平滑方式。即:平滑物体运动的曲线。
None(无差值):不使用差值平滑。
Interpolate(差值):根据上一帧来平滑移动。
Extrapolate(推算):根据推算下一帧物体的位置来平滑移动。 - Collision Detection 碰撞侦测。用来改变物体碰撞检测的精度。
Discrete(离散):默认的碰撞检测方式。但若当物体A运动很快的时候,有可能前一帧还在B物体的前面,后一帧就在B物体后面了,这种情况下不会触发碰撞事件,所以如果需要检测这种情况,那就必须使用后两种检测方式。
Continuous(连续):这种方式可以与有静态网格碰撞器的游戏对象进行碰撞检测。 可以避免因物体移动速度过快而穿过另一个物体的情况。
Continuous Dynamic(动态连续):这种方式可以与所有设置了2或3方式的游戏对象进行碰撞检测。 - Constraints:约束。
约束位置或旋转时的x/y/z坐标,使其Freeze(冻结)。比如想控制游戏对象人物上台阶不会摔倒,或者高速碰到一个墙壁物体时不会胡乱转动的话,则要冻结x,y和z轴的旋转。 - centerOfMass:相对于变换原点的质心。
- angularVelocity 刚体的角速度向量,修改它可以使刚体进行旋转
- AddForce 添加到刚体的力。
- AddForceAtPosition 在position位置应用force力。作为结果这个将在这个物体上应用一个扭矩和力。
- AddRelativeForce 添加力到刚体。相对于它的系统坐标。
- Force:绝对力 世界坐标力。
- Relative Force:相对力 自身坐标力。
- Torque[tɔ:k] :绝对扭距 世界坐标扭距。
- Relative Torque:相对扭距 自身坐标扭距。
- 刚体睡眠(Sleep)和唤醒(WakeUp)函数
- Sleep 使刚体睡眠,不进行移动。
- WakeUp 使刚体能够运动。
通过刚体的速度向量(velocity)控制移动
示例:创建一个Cube,添加刚体组件,编写脚本,利用Rigidbody.velocity刚体的速度向量驱动物体运动,通过按空格键按下使物体向上运动。
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {private Rigidbody rigidbody;void Start(){//获取挂载物体上的RigidBody组件this.rigidbody=this.GetComponent<RigidBody>();}void FixedUpdate() {if (Input.GetButtonDown("Jump")) //按下空格键//对刚体设置速度向量this.rigidbody.velocity = new Vector3(0, 10, 0);}
}
using UnityEngine;
using System.Collections;public class ExampleClass : MonoBehaviour {public float radius = 5.0F;public float power = 10.0F;void Start() {Vector3 explosionPos = transform.position;Collider[] colliders = Physics.OverlapSphere(explosionPos, radius);foreach (Collider hit in colliders) {Rigidbody rb = hit.GetComponent<Rigidbody>();if (rb != null)rb.AddExplosionForce(power, explosionPos, radius, 3.0F);}}
}
Unity 物理系统 -- 刚体简介相关推荐
- Unity 物理系统 -- 碰撞体简介(碰撞、触发条件)
Unity 物理系统 -- 碰撞体简介(碰撞.触发条件) 几个常用的碰撞体: Box Collider:盒碰撞体,盒碰撞体是一个立方体外形的基本碰撞体,该碰撞体可以调整为不同大小的长方体,可用作门.墙 ...
- Unity物理系统中碰撞体、刚体、isKinematic、isTrigger的关系(附动画演示)
Unity物理系统中碰撞体.刚体.isKinematic.isTrigger的关系 写在前面 产生碰撞的条件 产生触发的条件 实验一:蓝块(碰撞体).红块(碰撞体) 实验二:蓝块(碰撞体).红块(碰撞 ...
- Unity 物理系统
Unity物理系统 ##1.人机交互 ++1.1.外部输入设备 ++++键盘 ++++触屏 ++++摇杆 ++++鼠标 ++1.2.Input类简介 ++++Input类是输入系统的接口,使用这个类能 ...
- unity 计时器_如何用unity 物理系统 实现Stickfight中火柴人的布娃娃效果(二)
上一期中,我们完成了角色在没有任何输入的情况下实现了站立平衡,这期,我们就来聊一下角色的运动吧. 玄夜smile:如何用unity 物理系统 实现Stickfight中火柴人的布娃娃效果(一) ,还没 ...
- Unity 物理系统:Rigidbody(刚体)
Rigidbody组件 属性 释义 说明 Mass 质量 刚体的质量. Drag 阻力 影响位置运动的阻力系数. Angular Drag 角阻力 影响旋转运动的阻力系数. Use Gravit ...
- 7.Unity中c#代码学习(物理系统刚体+碰撞检测(爆炸效果实现))
刚体 通过添加组件Physics/Rigidbody 实现对物体插入物理引擎(刚体) 碰撞体 查看碰撞体范围 可以编辑碰撞的范围 ...
- 【物理篇】从零搭建2D物理系统①——刚体和碰撞检测事件
前言 说到unity的物理系统,大家肯定第一反应肯定是"不就是rigidbody和collider那些东西吗,我会".但是提及背后的原理,我敢说99%的人是不知道的.unity的物 ...
- Unity --- 物理引擎 ---- 刚体RigidBody 与 碰撞器 collider
1.RigidBody(刚体)的作用是让物体具有物理特性(比如说重力,摩檫力等等) 2.如果想让物体能够与其它物体发生碰撞的话,我们还需要一个组件 --- Colider碰撞器组件 1.上图就是Uni ...
- Unity UI系统-UGUI简介
UGUI的简介: UGUI系统是从Unity 4.6开始,被集成到Unity的编辑器中Unity官方给这个新的UI系统赋予的标签是:灵活,快速和可视化!,简单来说对于开发者而言就是有三个优点:效率高效 ...
最新文章
- 查找(包括顺序查找和折半查找)
- 用Spring Cloud Alibaba开发微服务会更香吗?
- php项目webpack打包,Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理
- 鸿蒙正式推送时间,鸿蒙系统现已正式推送,更新名单也随之出炉,包括荣耀手机!...
- ABAP RANGES 在 RFC 的应用示例
- Zend Studio 0x80070666错误解决
- 关于日历的一个超级存储过程
- Source code manager common
- Java 208 道面试题:第一模块答案
- 【TWVRP】基于matlab智能水滴算法带时间窗的车辆路径与调度优化问题【含Matlab源码 1228期】
- R语言中写入Excel的不同sheet表格
- Vs2013(VS2012,vs2011,vs2010)+opencv2.4.8配置
- 如何提升代码的安全性 —— 代码防御性编程的十条技巧
- R语言聚类分析——代码解析
- shiyou的数值分析作业
- GitHub学生优惠:repl.it 使用--Python爬虫示例
- 火狐Android 附加组件,Firefox Nightly 隐藏新功能,让 Android 机用上任意桌面端附加组件...
- 心愿未了有牵绊。生命不息,折腾未止。
- 交换机最多可以接几个_【技术】详解一个交换机能带动多少个网络监控摄像头?...
- 紫羚云秦鸿林:大中型企业实施IT服务管理(ITSM)的几大难题
热门文章
- Java实现发送邮件并携带附件
- java将多个文件写入到一个文件流中再有规律的取出_编写java程序,往一个txt文件里写入学生的基本信息,然后再读出这些信息并打印出来,最后把该文件拷贝到指...
- IDEA上Java项目控制台中文乱码
- 用123BOM工具处理同产品的多个BOM单这是整理研发BOM最好用的工具;是方案公司、产品型号多、同一个产品多个版本子BOM制定单一、准确的研发BOM清单的更好方式
- python飞行棋小游戏
- 全栈工程师之路---2018最全web开发路线图
- Java应用通过wsdl文件调用webservice
- malloc函数java_malloc函数具体解释
- RG Magic Bullet 15(中英对照)
- 小程序列表页分页获取数据,下滑加载更多