ue3dUnity2D物理模拟

Unity2D物理模拟

分类:
ue3d - Unity2D物理模拟

上篇文章介绍了Unity内置3D物理系统,本文将介绍2D物理模拟,因为它有助于开发2D方面的游戏,对于2D也可以像3D那样在引擎中进行精准碰撞,因此聊一聊如何使用它。

对于此2D物理模拟的过程,需要在Unity中新建一个新的项目,创建一个2D正方形和一个地面,可通过菜单Assets → Create → Sprites创建(下图所示),地面请自行拉长放置在底部,同样这个过程也不使用C#脚本,只需要使用物理系统通过预制件添加2D刚体组件即可实现它。

ue3d - Unity2D物理模拟

设置步骤

1.选择2D正方形,在检查器底部使用Add Component(添加组件)按钮,在内容列表搜索Rigidbody 2D(刚体2D)并直接选择。

ue3d - Unity2D物理模拟

2.此时就赋予了2D正方形的物理属性,正是因为有了质量,因此在Unity中运行游戏时小球就会往下掉。

但是…该正方形掉落下来并未与地面发生碰撞。

这是因为在创建2D的时候不会像3D那样自动创建一个碰撞体,虽然赋予了正方形的物理属性,但是俩个对象没有碰撞体,无法检测到对象的碰撞表面,则不会参与碰撞(通常软件的逻辑都是这样)。

ue3d - Unity2D物理模拟

3.解决这个问题,需要在添加组件中为正方形和地面分别添加一个Box Colliders。

ue3d - Unity2D物理模拟

添加完Box Colliders之后,就可以看到正方形正确碰撞到地面并停止了模拟。

ue3d - Unity2D物理模拟

4.现在有个新问题,正方体碰撞到直接停止有点生硬,因此我们可以让这个动画有个曲线回弹的过程并慢慢停止,因此需要为Box Collider指定一个2D物理材质。

可以通过创建菜单 → 2D → 物理材质2D,并在2D物理材质下适当的调整一下Bounciness(弹力性)属性值,接着拖拽这个物理材质放在Rigidbody 2D材质属性下。

ue3d - Unity2D物理模拟

5.添加完成之后在播放这个游戏时,可以从下面的最终效果看到2D正方形掉落到地面就不至于那么死板了,会有反弹的动画过程。

ue3d - Unity2D物理模拟
上一个内容
下一个内容

相关信息

  • 类型:知识
  • 字数:551
  • 字符:1335
  • 使用软件:Unity2019.3.5f1
  • 说明:无
  • 编号:101766

热门内容

提示:3D天堂作为服务提供者,尊重网络版权及知识产权,对某些行为的发生不具备充分的监控能力,若无意间侵犯到您的权利,请 联系我们,我们会在收到信息后尽快给予处理。

本站文章版权归本站自创作者所有,未经允许不得转载!