如何实现桌球低杆

我是个新手,刚接触这方面不到一个月,目前在模拟实现桌球游戏。
项目中,使用bullet 引擎的情况下,加了刚体的球运动会丢失两个纬度的角速度,所以就手动的去更新角速度了。
但是这样的话是否还能实现类似于桌球中的低杆操作吗,目前我理解的低杆就是将冲量施加在刚体中心偏下的位置 applyImpulse(impulse, v3(0, -0.45, 0)),但是看不到效果,球的参数目前这样设置的
image
想请教一下,从哪方面入手去一步步实现这个功能。

ps: 在现实中,低杆就是,击打白球的中心偏下的位置,白球会有一个向前的角速度,在白球与其他子球碰撞的时候,速度互换之后,白球本会几乎静止, 但因为有这个角速度,会带着球往回运动。 类似的,用高杆白球会向前运动。

首先先介绍一下什么是低杆

在现实中,低杆就是,击打白球的中心偏下的位置,白球会有一个向前的角速度,在白球与其他子球碰撞的时候,速度互换之后,白球本会几乎静止, 但因为有这个角速度,会带着球往回运动。 类似的用高杆白球会向前运动。

自带的3D物理引擎 基本模拟不来桌球那种 左右塞,高低杆比较完整的效果。

啊啊 谢谢回复!
只是听到消息人很沉重 :face_with_head_bandage:
所以想再请教一下市面上那些桌球游戏,比如 qq 游戏的那个,看起来是有这个功能的,他们都是用什么做的呢? unity 是能够完美实现的吗?

那目前球的滚动摩擦力是如何处理的呢,不会是忽略滚动摩擦力的吧 :dizzy_face:

这个感觉得自己写碰撞算法, 不适合用物理引擎吧

emmm 我好像还不配。。 物理引擎都不能用的话,这些碰撞相关的计算我自己都能算的话,那是不是我都可以给 cocos 这方面功能补充一下了 :joy: 真没想到一个台球游戏这么复杂!

是不是可以,在低杆出杆的时候处理,当第一次碰撞发生的时候,给白球施加一个理论大小的反向的冲量。

我之前公司是用的物理引擎,后来不同步就改成了手写的引擎 :rofl:

我趣! 真手撸啊,能问一下是什么实力的大佬花了多久时间搞定的吗?

记不清了,大概是两个月左右,只有圆和矩形,从零开始,经验丰富的大佬

https://forum.cocos.org/u/495904500/summary

好的 谢谢! 绝望,大佬两个月,小白表示 gg :expressionless:

基础原理就是这个了:https://juejin.cn/post/7038405121692139533
要从前人的轮子里找找。 高阶玩法应该就是根据打击点模拟额外给一些不同的力。。

1赞

unity的3D物理效果怎么样 我还没试过。如果数学不太行的话就不建议研究太多特技效果,直接用2D物理设置球的不同弹性就能模拟一般的击打效果了。

谢谢提供。

3D 下一般的击打效果 我已经能够搞定了,就想搞特技,确实难搞,但我想试试我能搞成什么样

牛批,之前我做桌球的时候早点看到这个文章就好了。

哥们儿台球做高阶技能了吗,能上下加塞不

billiards2d
我以前整过桌球的2渲染3