以下内容来自公众号:小游戏可视化开发工具
最近,越来越多的小伙伴询问物理行为的使用。今天,就让我们一起打开物理行为的面纱,走进物理的世界。
什么是物理行为?
在游戏中,我们常常会需要给精灵加上自由落体、旋转、碰撞反弹等真实的物理行为。如果靠自己编程,难度系数很大。我们通过技术封装物理引擎,物理从原来单纯的积木模式,切换行为插件模式。给精灵添加了物理行为,就能使用物理相关的积木。
物理行为的积木
添加了物理行为,在属性面板出现该行为的相关属性。可以设置一些初始化的信息,或者使用积木修改属性。
属性面板可以直接开启物理行为。当前使用物理行为可能会出现一个问题:启动调试的时候卡在资源加载画面,遇到这种情况,需要在属性面板里去掉启动选项,改为通过积木来启动,我们会尽快修复这个BUG。
如果开启倾倒,那么精灵在发生物理碰撞则会倒下。
摩擦系数相当于阻力,系数范围为0-1,可以调整物体在触摸时彼此相对移动的难易程度,系数越大,阻力越大。
反弹系数也称为恢复性或弹性,系数范围为0-1。0为无弹性,比如岩石,1为最大弹性,比如橡皮。会影响到高高的物体撞击地板时的反弹程度。
移动和旋转速度衰减系数范围也是从0-1,0为完全不会降低,1为最大降低。会让精灵慢慢停止移动和旋转。
物理类型有动态刚体和静态刚体两种,静态刚体模拟质量无限的对象,它将永远不会移动。
真实的物理世界还有重力、初速度和加速度(作用力)。这些我们也可以通过积木设置相关的属性。
素材的碰撞轮廓有三种:素材轮廓、矩形和圆形。通常设置为素材轮廓,如果精灵是球形,想让碰撞时精灵滚动得更加顺畅可以设置为圆形。
使用技巧
知道了物理行为的积木意义,那我们实际上怎么使用呢?比如现在我们想实现这样一个场景:球体滚落,到达地板反弹。
我们给地板和球都添加物理行为,地板设置静态刚体,球设置动态刚体。场景启动时,球开启物理引擎,并设置碰撞边界为全部边缘。这样球就可以控制在屏幕里面了。
效果如下:
现在球碰到地板是没有反弹的,我们加上反弹系数。
效果如下:
这样,就实现了我们想要的效果。
物理行为和固体
很多小伙伴疑惑物理行为和固体怎么使用,其实物理行为已经给精灵加上了刚体的属性,是不会被穿透的。所以不需要再给精灵添加固体行为。固体行为适用于墙壁和地板,通常与平台角色一起使用。
可以在示例工坊和作品演示里面找到物理行为的相关示例哟
关注B站和视频号,获取更多视频教程和小游戏推荐。
B站:https://space.bilibili.com/1987758192
视频号:做个游戏吧
- END -