马某 发表于 2023-3-10 13:53:49

一个模块船的模块部分与母体共享(传递)伤害的问题

本帖最后由 马某 于 2023-3-10 14:00 编辑

事情是这样的,

我做了一艘比较特殊的模块船,它的母体上设置了一个底部模块,这个模块的碰撞体积大于母体,并且由于其他模块的组装美观原因不能将其缩小,也不能缩减其碰撞体积。
同时,我需要这个底部模块在母体被摧毁前不会被摧毁,因此我给这个模块增加了“庞然大物”船插,但这带来了另一个问题,当这个模块大于母体的部分被击中时,它不会受到伤害(当然母体也不会),因此表现上变成了母体船凭空多出了一部分无限的装甲,这显然是不合理的。

我现在想到的解决方案是,当该模块受到伤害时,将伤害传递到母体(模块自身不受损伤),以达到受击时正常受损的效果。
该解决方案的实现思路之一是在“庞然大物”船插之外再增加另一个船插用来同步伤害给母体,
另一个思路是直接用传递伤害效果的船插替代掉“庞然大物”船插。
但遗憾的是,无论哪一种思路,我都暂时不明白具体该如何实现这个效果,如果有坛友在游戏中遇到过类似的效果实现,请告诉我这种实现的参考代码,感激不尽。


PS:或许可以取消掉“庞然大物”带来的无敌效果,然后每一帧检查HP受损状况,然后直接粗暴地扣除母体HP并把子模块的HP设置为满值?(但这太丑陋了)

乙政 发表于 2023-3-10 14:49:41

给你取巧一点的思路1母体和底部就一个得了为啥要分两块2既然想他俩一起死,爆炸效果猛一点就好了,取消庞然大物,外面一炸直接把母体一起扬了,大不了多给加点血量

马某 发表于 2023-3-10 15:05:08

乙政 发表于 2023-3-10 14:49
给你取巧一点的思路1母体和底部就一个得了为啥要分两块2既然想他俩一起死,爆炸效果猛一点就好了,取消庞然 ...

thx,不过由于一些模组设计上的原因,母体和底是必须要分开的,
目前用了群友建议的传递伤害的办法(底座的伤害直接等量扣给本体,底座每帧回满),问题暂时解决啦。
页: [1]
查看完整版本: 一个模块船的模块部分与母体共享(传递)伤害的问题