Delamer
本帖最后由 Delamer 于 2019-10-25 04:21 编辑



射击效果模拟




话不多说,直接上图.

效果实现基于便利的工具人区域效果云(area_effect_cloud,以下简称AEC).
设计思路:
1.设置两个单位的AEC,分别生成在玩家位置(A)与目标位置(B).
2.让A去找B玩.咳咳,对A高频执行TP,目的地为B.
3.A与B交汇后,或是命中实体后,判定完成一次射击.
原理不复杂,但是遇到了不少预想外的情况,着实费了一番功夫.
由于不知名原因我发代码的时候总是被吞的只剩一行,这次就直接折叠不加代码格式了.
下面上代码.

一个代码段就是一套连锁,将第一个设置成高频即可实现效果.
除去不需占用方块的计分板预设,一共需要用到14(单体攻击)或11(贯穿攻击)个命令方块

下面为不怎么熟悉指令的人补上话痨版,便于自行调整参数


呼,该摆上去的都摆完了,接下来说一些小细节.

1.没有对墙体进行任何处理,所以这个子弹是能穿墙的
思路写出来了,在子弹移动的时候判断它所处的位置是不是空气,如果不是,移除
就当做课后题给大家吧.才不是我懒得做.

2.上面的话痨版有提到,多人游戏的时候需要调整很多内容
理论上来讲每个玩家都需要一套命令方块组,AEC与Damage等等标签的命名都需要独立才不会互相冲突.
想知道冲突的时候会怎么样,请把CD设置为0,然后朝不同方向射击,观察弹道.

3.这种攻击方式不吃仇恨,这点已经拿狼和僵尸猪人测试过了
所以就算没有小伙伴我也不难推断这个东西是没有击杀归属的
这也是要做多人对战的时候需要调整的东西之一

4.粒子效果不是我的专长,如果有玩粒子的大佬能给出更好看的轨迹效果那就再好不过了,
欢迎大佬晒粒子

5.如果有使用这个思路做出什么好玩的东西,请务必通知我去围观

好了,就是这样,收工.





xmdhs
稍微改改,改成追踪要更有意思呢。

另外为什么不用函数呢。

Delamer
xmdhs 发表于 2019-10-25 11:48
稍微改改,改成追踪要更有意思呢。

另外为什么不用函数呢。


函数啊...因为调整函数不是很熟练总是出现一些莫名其妙的现象所以干脆就没有封装...

kongbaiyo
如果用函数的话
让shoot=1的玩家执行函数 就可以避免多人游戏的冲突了

8765432
111111111111111111111

8765432
11111111111111111111111111111

Delamer
kongbaiyo 发表于 2019-10-25 19:22
如果用函数的话
让shoot=1的玩家执行函数 就可以避免多人游戏的冲突了

可是子弹路径终点如果还是用同一个标签,不同玩家同时进行射击的时候还是会互相干扰到,因为使用的是同一个标签选择器,所以得重新命名才行...
或许换个思路来执行子弹的寻路会更好些?

第一页 上一页 下一页 最后一页