Unity中使用Rigdbody来给物体添加真是的移动旋转效果

来源:互联网 发布:美国大学放假知乎 编辑:程序博客网 时间:2024/05/18 00:39

游戏对象添加Rigidbody组件后即具备物理属性,可以产生真是的物理效果。使用刚体时应注意,父物体和子物体不应同时具有刚体,也 不应该缩放刚体的父级。

刚体的变量学习

 类型                       变量

 Vector3                velocity                                刚体的速度向量

 Vector3                angularVelocity                  刚体的角速度向量。

 float                     drag                                       物体的阻力

 float                     angularDrag                        物体的角阻力

 float                     mass                                     刚体的质量

 bool                      useGravity                          是否受重力影响

 bool                      isKinematic                          是否开启空气动力学,运动学刚体不受力、碰撞或关节控制,完全由动画或代码(Transform)驱动,但运动学刚体可以通过碰撞或关节影响其他刚体的运动。非运动学刚体则受力、碰撞或关节控制。

 

bool                  freezeRotation                   冻结旋转,可以让物体在X Y  Z轴上不让他旋转


bool                  freezePosition                     冻结物体在X或者Y或者Z轴的移动


collisionDetectionMode :CollisionDetectionMode

       刚体的碰撞检测模式。为了获得最佳效果,对于快速移动的物体,应设置动态连续碰撞检测模式(ContinuousDynamic),以防止物体还没检测到碰 撞就穿越了被碰撞物体;对于被碰撞物体,应设置连续碰撞检测模式(Continuous,连续碰撞检测是基于网格几何体的静态碰撞)。由于碰撞检测模式的 选择对物理性能有很大的影响,默认情况下,应采用非连续碰撞检测模式(Discrete)。

Vector3             centerOfMass                    

       重心。如果你不在脚本中设置重心,它将从所有附加到刚体上的碰撞器自动计算。重心的设置关系到物理运动的真实性。


方法的使用

这个是物体沿着世界坐标轴进行移动和旋转

public void AddForce();     //沿着世界坐标轴进行移动,和自身坐标轴没有过关系
public void AddTorque();  //沿着世界坐标轴进行旋转  他们都有四种重载


下面是沿着刚体的自身坐标轴移动或者旋转
public void AddRelativeForce(); // 沿着物体的自身坐标轴进行移动

public void AddRelativeTorque(); //沿着物体的自身坐标轴进行旋转  他们都有四种重载

向物体表面施加力

 AddForceAtPosition ();
在position位置应用force力。作为结果这个将在这个物体上应用一个力矩和力。为了效果的真实性,position的位置应在刚体的表面。

爆炸

AddExplosionForce ();
应用一个力到刚体来模拟爆炸效果。爆炸力将随着到刚体的距离线形衰减。
explosionForce 爆破力
explosionPosition 爆炸位置
explosionRadius 爆破半径,为0时表示无穷大
upwardsModifier 可以理解为爆炸产生的向上冲击波的衰减值。值越大,威力越小。
function ClosestPointOnBounds (position :Vector3) : Vector3
计算刚体表面离position最近的点。可用于计算作用到刚体表面上一个点的爆炸力。


获取速度
function GetRelativePointVelocity(relativePoint : Vector3) : Vector3
获取刚体上的点相对本地坐标系的速度。获取的速度有考虑刚体的角速度。
function GetPointVelocity (worldPoint :Vector3) : Vector3
获取刚体上的点相对世界坐标系的速度。获取的速度有考虑刚体的角速度。

休眠
function Sleep ();
强制一个刚体休眠至少一帧。刚体休眠有利于性能优化
function IsSleeping () 
判断刚体是否在休眠
function WakeUp () 
强制唤醒一个刚体


小白的学习之路,这是我在学习过程中自己总结的,如果有不对的地方还请朋友们指出,我一定认真领教,谢谢!!

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 3d模型导进去材质丢失怎么办 七日杀显示载入中之后进不去怎么办 进京证过期了车在北京怎么办 微信打字时剪切的东西丢了怎么办 错过了医师定期考核报名时间怎么办 大学档案在自己手里放多年怎么办 档案在自己手里10年了怎么办 快递地址区域划分写错了怎么办 怀孕八个月肛门长个肉疙瘩怎么办呢 客户签了合同不要货了怎么办 不喂母乳宝宝只认识保姆了怎么办? 开创者比赛后没有买的鸽子怎么办 买回来小鸽子开家我敢了怎么办 小鸽子出壳后母鸽就不孵了怎么办 狗狗在笼子里一直叫怎么办 养了一年母鸽子不配对怎么办 血管翳云翳斑翳长满眼睛怎么办 鸽子训放50公里突然下雨了怎么办 安卓手机反应慢又卡怎么办 tcl安卓系统电视反应慢怎么办 狼人杀警长竞选一直平票怎么办 去驾校投诉教练被教练报复怎么办 哈尔滨机场大巴六点的飞机怎么办 山东德州恩城镇的农民怎么办养老险 我的世界联机平台房间进不去怎么办 验车时间过了3天怎么办 在携程订的机票和酒店不能退怎么办 千牛工作台中旺旺登录失败怎么办 掌通家园换手机号了忘了更改怎么办 qq注销了后绑定的全民k歌怎么办 小米账号绑定的手机号注销了怎么办 微信账号注销后绑定的手机号怎么办 微信账号不想用了注销不了怎么办 苹果手机掉了捡到不还怎么办 在工作中把和别人结下梁子了怎么办 在阿里巴巴上买的货物没发货怎么办 做了下颌角一边脸反复肿怎么办 玩广东11选5输50万怎么办 玩广东11选5输了十几万怎么办 新办公楼装修好就要搬进去怎么办 oppo手机上的黄页删了怎么办