发射、收回鱼枪这类的链条怎么做,使用物理关节吗?

  • Creator 版本: 3.5.1

  • 目标平台: Google chrome

  • 重现方式:

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:

写一个捕鱼的游戏,但是不是大炮发射渔网,而是一杠鱼枪发射鱼枪,然后收回鱼枪。但是鱼枪是一个链条式的东西,我设想使用物理关节-铰链关节来实现,但是好像有点想不通,因为回收鱼枪的时候,鱼枪的链条会慢慢变短,直至没有。所以现在想法是第一步代码动态创建链条,发射鱼枪;收回鱼枪的时候每个铰链关节做动画移动到保存鱼枪的地方,然后一个一个关节删除,再改变相应的关节锚点和关联刚体。但是这样有点扯蛋。所以现在没有实现思路。请教各位大神,能不能给个思路。感谢!!!!
鱼枪:
微信截图_20220919135246

发射鱼枪:

收回鱼枪:


微信截图_20220919140800

顶,铰链关节等都测试过,没有思路。动画也想不通啊,求帮助,好纠结。

之前看见过一些绳子效果不知道符不符合你的需求,关键字好像是反向IK,你可以搜索看一下

插眼,有合适的解决方案我也学习一下

插眼,如果是3.x 不知道能不能用线段组件来实现

插眼,这个游戏有点意思的

发射鱼枪,好像是反向动力学,鱼枪带动铁链移动到目标点。回收鱼枪是正向动力学,铁链回收带动鱼枪,我先试试看

bb6a17b99a989a0b29471768ed8b1d9f.zip (989.0 KB)

整个鱼枪发射回收视频,我又反复想了下,这又好像跟动力学不对,像是有重力,铁链的反弹拉力。动力学追随目标点,好像并没有这些属性。:pensive:

插眼,不会做~

我有做过相同的功能
解决方案是手刻一个绳索物理系统
具体算法在下方连结, 不算太难懂

绳索收回时, 我是对rope上所有stick做长度的缩短
当绳索收到底时端点上的锚会受惯性摆动或旋转
此时在增添额外的stick将锚固定住即可

https://betterprogramming.pub/making-a-verlet-physics-engine-in-javascript-1dff066d7bc5

参考一下这个
Chains and Unity Character Joints Pt. 1 – Spennerino | Game Development Blog (wordpress.com)
Chains and Unity Character Joints Pt. 2 – Spennerino | Game Development Blog (wordpress.com)

1赞