JSRUN 用代码说话

刚体实践案例

编辑教程

刚体实践案例

刚体使物体符合现实中物理学定律进行运动,任何物体想要受重力影响,都必须包含一个刚体组件。

利用刚体类游戏组件,遵循万有引力定律,在重力作用下,物体会自由落下。

刚体组件还会影响到物体发生碰撞时产生的效果,使物体的运动遵循惯性定律,使其发生碰撞时在运动冲量作用下产生速度。

本案例旨在利用刚体测试重力效果以及碰撞后的交互效果。

案例设计

本案例在 Unity 3D 内创建一个简单的三维场景,场景内放有 Cube 和 Plane,Plane 用于充当地面,Cube 用于刚体重力测试。

案例实施

新建项目,将场景命名为 Rigidbody。

创建游戏对象。

执行 GameObject → 3D Object → Plane 命令,此时在 Scene 视图中出现了一个平面,在右侧的 Inspector 面板中设置平面位置(0,0,-5)。

创建游戏对象。

在菜单栏中执行 GameObject → Create Other → Cube 命令,在右侧的 Inspector 面板中设置立方体的位置(0,5,0),按 F2 键可将其重新命名。

美化场景。

采用纹理贴图的方法将地面和立方体都贴上纹理。

首先,将资源图片放置在项目的根目录 Assets 下,Unity 3D 会自动加载资源。

然后分别选中立方体和平面,将对应的资源图片分别拖到立方体和平面上即可。

为立方体添加刚体属性。

选中立方体,然后执行菜单栏中的 Component→ Physics → Rigidbody 命令,当右侧的 Inspector 面板中出现了 Rigidbody 属性面板时,即为立方体添加了刚体属性。

进行初步测试。

置于半空中的立方体由于受到重力作用做自由落体运动,掉落到平面上。

复制游戏对象。

在 Hierarchy 视图中,选中 Cube1 后按 Ctrl+D 键复制立方体 Cube2 并将其摆放于场景中,在 Inspector 面板中设置新复制的立方体的位置属性(0.4,0.5,0),按此方法再复制一个立方体 Cube3 斜放于 Cube2 上,设置 Cube3 的位置为(0,1.5,0)。

执行菜单栏的 Component → Physics → Rigidbody 命令为每一个立方体添加刚体属性。

再次测试。

最上方立方体进行自由落体运动,撞击到地面,盒子发生倒塌。

创建 JavaScript 脚本文件,输入下列代码:

var speed=10;
function  OnMouseDrag(){
 transform.position+=Vector3.right*Time.deltaTime*Input.GetAxis("MouseX")*speed;
 transform.position+=Vector3.up*Time.deltaTime*Input.GetAxis("Mouse Y")*speed;
}

将脚本分别连接到 3 个立方体上。

进行最终测试。

本案例世间目标达成。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟