求助!!!2d绳子的拉扯效果

最近在做一个绳子游戏,效果大概实现了。但是拉扯效果没法实现。直接上图
(绳子是用的RopeJoint关节 拼接一段一段的小绳子实现的)
原版是这样的
原版效果
可以看到,移动绳子两端时,整个绳子的效果是比较丝滑的
下面是我的实现方式
绳子两端A,B,都是static静态刚体。
第一种实现方式
我直接修改绳子两端A和B的位置,得到的效果如下
直接改坐标
这种方式,链接的所有小块会缓慢跟随,最终会到达目标位置,但是这种方式和原本相差甚大!!
然后我尝试给绳子两端A和B 一个往上的线速度,得到下面的效果
速度
这种方式,每个小绳子间的间距会被拉伸得很大,而且绳子因为速度得原因,绳子在移动到与红色方块平行得位置后。还会继续往上移动。
这种两种方式与原版本效果差距都挺大得。 :rofl: :rofl:
咨询下大佬们。有没什么办法能达到原版得效果。或者能够不适用物理。使用其他方式来实现这个效果呢~~~急急急~

使用物理模拟的离散点数据,单独渲染绳子即可.(况且绳子真实物理就是可拉伸形变…)

大佬可以详细说说么

关注,最近也在想做一条效果好的绳子

em。我好像大概知道你的意思了~~,也就是物理就让他隐式运行。然后我选择性的去渲染绳子嘛

你把单个小链条重力倍数调大,就不会往上飞了吧。

顶一下…

是的,但是初始状态的时候效果不对。而且这个效果用纯粹的物理应该没法实现了。。应该是要写些代码优化下效果 :rofl:

看竞品表现应该也是用代码处理过,初始长度和最终长度不一致,感觉像是在上提得过程中链条变短了。

我觉得它每个小链条受重力影响的倍数不一样,中间的倍数最大,然后依次向两边递减。

嗯,这个办法理论上是可行的,这就需要用到给绳子两端加上线速度了,因为绳子两端要快速的移动到游戏上放,所以这个线速度是很大的。然后被带动的绳子小节,就会一起快速上升,如果设置重力梯度的话,可能是会达到这个效果的。但是估计需要调试很久的参数才可能实现,我等会去尝试下试试吧~

我在上升的时候修改了重力梯度。,但是重力太大,会拉扯绳子关节,
fv7rp-isq6r
//
虽然我可以通过延长图片精灵来达到填充拉扯掉的绳子的空像素,但是这种方式实现起来太麻烦。而且效果也还是有差距的。
、、
我准备不用物理。尝试用模拟的方式去实现了 :rofl: :rofl:

我看竞品也拉扯关节了啊,它最开始上升时,绳子也变长啊,但是收缩得很快。

嗯,不过他也可能是用的非物理模拟出来的。毕竟这个绳子也只是链接绳子两端,不参与任何物理

可以有物理,然后用画图接口,重新根据绳子的每个节点的点,画出一个平滑的多边形。不要显示你有物理的绳子。这样也不会断,而且效果应该还不错。
image

(帖子被作者删除,如无标记将在 24 小时后自动删除)

是的,我之前就是这样做的。刚体和渲染精灵分开。这样,刚体被拉伸了。我精灵图可以根据每个刚体的位置去补齐。
但是无论如何,都要基于刚体的数据。只要刚体的模拟不理想。那我的精灵图渲染肯定也是不行的- -
而且这种方式还繁琐。无情啊 :rofl:

思路是对的,只要调整好物理细节即可啊。 你绘制的时候,不用完全每一节都按照上面图上来。或者 你甚至只需要几个关键节点即可 ,别想太复杂了。
image

嗯~你的方法应该又是一种尝试方法~我也再去试试吧 :smiley_cat:

这个可以不考虑用物理引擎来做吧,直接写效果吧