[Unity] LQ转载--Unity3D基础11:Rigidbody物理类组件

查看:553 |回复:0 | 2021-6-12 17:23:17

您需要 登录 才可以下载或查看,没有账号?注册

x
一、Rigidbody组件
刚体(Rigidbody)就是具有物理属性的物体,拥有重力,会自由落体等
选中游戏物体→Component→Physics→Rigidbody,该物体就会成为刚体,可以像现实中的物体一样运动
刚体组件基础属性:
1,Mass:设置物体的质量,也就是重量(单位KG)
2,Drag:空气阻力(0表示无阻力,值很大时物体会停止运动)
3,Angular Drag:角阻力,受到扭曲力时的空气阻力(0表示无阻力,值很大时物体会停止运动)
4,Use Gravity:是否使用重力,如果不使用重力,物体则不会自由落体
201902031227047.png

角阻力大小演示(下面方块空气阻力为10,上面方块无空气阻力):
空气阻力为0
20190203123754610.gif

空气阻力为10

前者上面方块角阻力为500,后者上面方块角阻力为0.05

二、利用Rigidbody组件移动物体

注:物体向前移动不但可以通过 Vector3.forward,还可以直接定义向量,也就是 new Vector3(0,0,1),其它同理

例如 new Vector3(1,0,1) 就是往右前方移动


利用Transform组件移动物体虽然会受到重力影响,但是物体可以随意穿模,如下:


使用刚体移动物体相关方法:

myRigidbody.MovePosition(当前位置+方向),获取当前位置使用 Transform.Position

使用刚体移动物体,物体是默认根据世界坐标系的方向移动的,并且会触发物理相关的事件,例如与场景中的其它物体发生碰撞

例子代码如下:


不过测试到这里,你会发现好像使用刚体移动物体仍然会穿模,和使用变换组件没有任何区别?

因为这取决于碰撞体组件的设置,所以具体实现要看后面的文章了

————————————————
版权声明:本文为CSDN博主「Jaihk662」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jaihk662/article/details/86757037


2021-6-12 17:23:17  
 赞 赞 0

使用道具 登录

0个回答,把该问题分享到群,邀请大神一起回答。

CG 游戏行业专业问题

手机游戏引擎手游引擎Unity3D技术
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表