评论

关于物理行为,其实没那么复杂。看完这篇你就懂了

物理行为的积木详解以及使用案例分析

以下内容来自公众号:小游戏可视化开发工具

最近,越来越多的小伙伴询问物理行为的使用。今天,就让我们一起打开物理行为的面纱,走进物理的世界。



什么是物理行为?

在游戏中,我们常常会需要给精灵加上自由落体、旋转、碰撞反弹等真实的物理行为。如果靠自己编程,难度系数很大。我们通过技术封装物理引擎,物理从原来单纯的积木模式,切换行为插件模式。给精灵添加了物理行为,就能使用物理相关的积木。


物理行为的积木

添加了物理行为,在属性面板出现该行为的相关属性。可以设置一些初始化的信息,或者使用积木修改属性。

属性面板可以直接开启物理行为。当前使用物理行为可能会出现一个问题:启动调试的时候卡在资源加载画面,遇到这种情况,需要在属性面板里去掉启动选项,改为通过积木来启动,我们会尽快修复这个BUG。

如果开启倾倒,那么精灵在发生物理碰撞则会倒下。

摩擦系数相当于阻力,系数范围为0-1,可以调整物体在触摸时彼此相对移动的难易程度,系数越大,阻力越大。

反弹系数也称为恢复性或弹性,系数范围为0-1。0为无弹性,比如岩石,1为最大弹性,比如橡皮。会影响到高高的物体撞击地板时的反弹程度。

移动和旋转速度衰减系数范围也是从0-1,0为完全不会降低,1为最大降低。会让精灵慢慢停止移动和旋转。

物理类型有动态刚体和静态刚体两种,静态刚体模拟质量无限的对象,它将永远不会移动。

真实的物理世界还有重力、初速度和加速度(作用力)。这些我们也可以通过积木设置相关的属性。

素材的碰撞轮廓有三种:素材轮廓、矩形和圆形。通常设置为素材轮廓,如果精灵是球形,想让碰撞时精灵滚动得更加顺畅可以设置为圆形。


使用技巧

知道了物理行为的积木意义,那我们实际上怎么使用呢?比如现在我们想实现这样一个场景:球体滚落,到达地板反弹。

我们给地板和球都添加物理行为,地板设置静态刚体,球设置动态刚体。场景启动时,球开启物理引擎,并设置碰撞边界为全部边缘。这样球就可以控制在屏幕里面了。

效果如下:

现在球碰到地板是没有反弹的,我们加上反弹系数。

    效果如下:

这样,就实现了我们想要的效果。


物理行为和固体

很多小伙伴疑惑物理行为和固体怎么使用,其实物理行为已经给精灵加上了刚体的属性,是不会被穿透的。所以不需要再给精灵添加固体行为。固体行为适用于墙壁和地板,通常与平台角色一起使用。

可以在示例工坊和作品演示里面找到物理行为的相关示例哟


关注B站和视频号,获取更多视频教程和小游戏推荐。

B站:https://space.bilibili.com/1987758192

视频号:做个游戏吧

- END -



最后一次编辑于  2021-07-05  
点赞 0
收藏
评论
登录 后发表内容