等距线上的弹跳球

问题描述

我正在为我的等距游戏尝试模拟弹跳球对整体的效果我有一个代码可以做到这一点,并且可以通过以下链接正常运行: https://physics.stackexchange.com/questions/256468/model-formula-for-bouncing-ball#:~:text=The%20coefficient%20of%20restitution%20is,ball%20it%20is%20around%200.75

我想将产生的运动即(h)转换为iso。我最终得到了两个等式

        // Walk from current postion in ISO line
          transform.position = new Vector2(transform.position.x + oneCellSize,transform.position.y + (oneCellSize * IsoRatio));

        // Perfect bouncing effect on ISO line but in wrong position
          transform.position = new Vector2(transform.position.x + 0.02f,(transform.position.x + oneCellSize) * IsoRatio +  BallHightOnTime );

但是我无法将它们合并在一起,因为第二个正在使用x位置。当我尝试更改为y时,它只是以一种疯狂的方式移动。

解决方法

使用一些帮助对象,我通过创建一个单独的矢量来解决我的问题,该矢量根据ISO线移动,然后在添加计算出的高度后将其分配给球位置。

谢谢你们的帮助。