mes 发表于 2022-8-8 00:44

物理引擎与像素风游戏

最近看教程,虽没完全看懂,但里面说教程不可尽信我觉得有道理,(比如unity)一般教程会说用刚体然后按键增加速度,但物理引擎有个特性,那就是2个物体绝对不可紧贴,会看到相距比如0.001而且如果有压力会不断跳动,然而特别是 像素风 ,格子数是有限的,很可能0.001和0.002看起来完全一样,结果就是看着完全一样的距离,用完全一样的操作,结果却不一样(够着/够不着),那岂不……只是普通的烂游戏吗

格雷殿下 发表于 2022-8-8 00:53

你都变像素人了,行动位移就不能也是格子吗

Tring 发表于 2022-8-8 01:14

本帖最后由 Tring 于 2022-8-8 01:16 编辑

确定性方面,物理引擎就没有不烂的,即使不是像素也是如此。
尤其是当使用一些距离在分母上的物理特性时,发散项能直接让你原地上天。

快乐好难123 发表于 2022-8-8 01:34

说到这个,有个物理引擎很吊的像素游戏Cortex Command,你可以参考下它的人物是怎么移动的

GuardHei 发表于 2022-8-8 03:29

Tring 发表于 2022-8-8 01:14
确定性方面,物理引擎就没有不烂的,即使不是像素也是如此。
尤其是当使用一些距离在分母上的物理特性时, ...

虽然但是,这并不是确定性问题…

—— 来自 S1Fun

GuardHei 发表于 2022-8-8 03:32

你把格子弄大一点不就好了,全场景同比缩放
这就是个小数值下精度问题,和像素风有什么关系。再说玩家操作精度怎么也不可能达到0.001和0.002

—— 来自 S1Fun

moonmagian 发表于 2022-8-8 03:33

正常设计的游戏都不会设计出卡0.001的判定,在知道会有0.001的误差的情况下,游戏机制上容错的范围会做在10左右,如果判定范围是10,那10.001和9.999导致的判定差异概率十分低,而且发生了也不太会被察觉到
会去专门卡精确操作的可能只有社区游戏,i wanna 的一些创作作品会有用贴墙调整自己位置的余数才能通过的地方(但他依然是基于像素做物理的游戏)
大部分正常游戏其实都不需要那么精确的物理,甚至不需要实现“做出相同的操作一定会有相同的结果”,如果不特意把物理帧和渲染帧绑定起来,而是独立运作物理帧和渲染帧(大部分游戏都是这么做的,除了trackmania这种特别需求确定性的专门做了绑定),物理就是非确定的,渲染帧的运行速度会影响物理的结果
不过如果是比较传统的非物理模拟类2d游戏,最好的做法其实还是以像素为单位自己手写物理,不仅确定性好一些,在渲染上也会更好看,不会出现sprite边界刚好在一个像素内部的情况

—— 来自 Sony XQ-BT52, Android 12上的 S1Next-鹅版 v2.5.2-play

Tring 发表于 2022-8-8 04:21

GuardHei 发表于 2022-8-8 03:29
虽然但是,这并不是确定性问题…

—— 来自 S1Fun

还是有关系的,指的面对小扰动时会产生巨大的结果差异这一点。

GuardHei 发表于 2022-8-8 05:23

Tring 发表于 2022-8-8 04:21
还是有关系的,指的面对小扰动时会产生巨大的结果差异这一点。

物理引擎的确定性指的是同样输入能不能输出。无论是小差异还是大差异,不一样就是不一样。这里面没牵扯到这个问题嘛

—— 来自 S1Fun

Tring 发表于 2022-8-8 05:51

本帖最后由 Tring 于 2022-8-8 05:52 编辑

GuardHei 发表于 2022-8-8 05:23
物理引擎的确定性指的是同样输入能不能输出。无论是小差异还是大差异,不一样就是不一样。这里面没牵扯到 ...
可是对于玩家来说是没有办法避免小差异的。
所以从玩家角度来说,不可避免的小差异导致了不同的结果,
那就是结果具有不可避免的不确定性。

GuardHei 发表于 2022-8-8 05:54

Tring 发表于 2022-8-8 05:51
可是对于玩家来说是没有办法避免小差异的。
所以从玩家角度来说,不可避免的小差异导致了不同的结果,
那 ...

你想怎么定义是你的自由嘛
但是大家说的物理引擎的确定性说的不是这个

这个话题可以就此打住,也没啥必要

—— 来自 S1Fun

mes 发表于 2022-8-8 12:04

moonmagian 发表于 2022-8-8 03:33
正常设计的游戏都不会设计出卡0.001的判定,在知道会有0.001的误差的情况下,游戏机制上容错的范围会做在10 ...

那麻烦把正常设计的代码写出来。

mes 发表于 2022-8-8 12:14

GuardHei 发表于 2022-8-8 03:32
你把格子弄大一点不就好了,全场景同比缩放
这就是个小数值下精度问题,和像素风有什么关系。再说玩家操作 ...

对的,和像素风没关系,再想想4k仍是像素,还是可以出现类似的情况,只是像素风会更容易看出来,比如攻击范围是一格,明明站在同一格,有时能打中,有时打不中,就差那0.001。你可以欺骗玩家,欺骗自己,实际也很难辨认出来,但不能改变烂这个本质……

w30of 发表于 2022-8-8 22:52

那设置成Pixel Perfect岂不是会出现相同的画面不同结果的情况
这样要不考虑针对自己的游戏手写简单的物理引擎比较好吧
像N+那样

FMIC 发表于 2022-8-8 23:49

你的判定只要画得比动画或者元素大就行了,
大多数人不会指责动画看上去还有一点空隙的时候有时hitbox碰上有时碰不上的问题,
不是说这里没有值得研究的,
而是你动手开始做demo就知道初学者大家的简易物理引擎都是一坨什么东西了,能糊弄过去的都不是问题。
页: [1]
查看完整版本: 物理引擎与像素风游戏