2018年4月23日无聊写个博客玩。收集关于Unity圣典中的Rigidbody中的各个组件的应用方法。写的不好等以后的我来嘲笑现在的我

Rigidbody刚体篇

  在使用刚体的参数时实刷新的更改的时候官府推荐在FixedUpdate中进行这一参数的修改操作(如空气阻力。空气角阻力之类的)在使用刚体的时候要注意一个物体的父物体和子物体最好不要同时带有刚体,当子物体带有刚体的时候不要随意缩小父物体的大小。

  接下去介绍下里面的具体参数

mass(质量):刚体的质量,官方推荐场景中的质量最好不要相差100倍率以上,以防止两个质量相差太大的物体碰撞后会产生过大的速度,从而影响游戏性能,一般超过10就已经是和现实脱节了。float类型的

Drag(阻力):这里的阻力是指空气阻力,不过是用来阻碍物体旋转的,如果设置成无限的话,物体会立即停止旋转 。float类型的

AnGular Drag(角阻力):同上也是空气阻力,如果设置成无限的话,物体会立即停止旋转。float类型的

use Gravity(使用重力):勾选了这个选项,游戏对象就会收到重力的影响。bool类型的

Is Kinematic(是否动态):勾选了这个选项后可以使用动画来代替这个游戏物体的物理效果,但是别的游戏物体(游戏物体A)碰撞到挂着刚体的这个游戏物体上(游戏物体B),那么A会被击退(收到刚体碰撞的物理引擎的效果),B游戏物体继续播放动画(不受物理引擎效果)。bool类型的

Interplate(差值用来控制物体是否平滑运动选项);如果看到你加了刚体的游戏物体因为路面不平滑导致抽风或者一直抖动很不舒服的话可以选择None(无差值,就是不适用差值平滑)。Interplate(有差值,根据上一帧来平滑移动)。Extrapolate(推算,根据推算下一帧的物体的位置平滑移动)。这几种选项可以你可以根据自己项目自己选择,如果都不行就自己写个算法写把模式开成None模式。Enum类型的

Collison Detection(碰撞检测方式):Discrete(离散模式。默认的碰撞检测方式,但是当物体A运动很快的时候,有可能前一帧还在B物体的前面,后一帧就在B物体的后面了,这种情况下不会触发碰撞事件的,PS:当你测试不到碰撞检测的时候Collider生命周期如果检测不到记得使用Collision生命周期里面去检测下再来看是否是外部的Detection方式不对),Continuous(连续的碰撞检测这种方式可以与有静态网格碰撞器的游戏对象进行碰撞检测。)continuous Dynamic(动态连续,这种方式可以与所有设置了2或者3方式的游戏对象进行碰撞检测).和上面的一样。检测不到了就多试试就好了。Enum类型

Freeze Position/Rotation(冻结位置/旋转):可以对物体在X.Y.Z三个轴上的位置/旋转进行锁定,即使受到相应的力也不会改变,但可以通过脚本来修改。这个是boll类型的,可以锁定冻结任何一个轴的坐标和旋转度。

****************************************************************************************************************************

下面这个问题是我看到别人博客里面写的一个小问题,他说使用了刚体和碰撞体的物体在勾选了isTrigger内的各种情况,他说部分情况是检测不到碰撞的。在这里我说下我的见解。只要物体有刚体和碰撞体。两者碰撞了那肯定是会检测反馈到碰撞信息的。你没接受到说明你写的生命周期不对,IsTrigger勾选后需要在OnCollederXXX(Enter,Stay,Exit)生命周期(函数)里面检测(当选择了IsTrigger后物体会不受物理引擎效果穿透),不勾选IsTrigger就需要在OnCollisionXXX(Enter,Stay,Exit)生命周期中检测(受物理引擎影响),如果说的不对。那就是我看待问题太过简单了想的太简单了希望有人指出我的错误!

****************************************************************************************************************************

下面要写刚体这个类在Unity3D中的具体API(方法参数),有点长了感觉换下一个博客写吧。打会游戏。2018年4月23日晚上21点11分结笔


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值