红警DIY论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1391|回复: 21

粒子系统模拟子弹飞行弹道

[复制链接]
发表于 2018-11-10 15:55:46 | 显示全部楼层 |阅读模式
本帖最后由 双杀步枪 于 2018-11-12 21:28 编辑

说在前面:粒子系统不论如何一次也只能存在一个,即便是Burst=2,第二发也要等第一发消失之后才能发射,不适用于节奏过快的武器,比如ROF=5。一个单位只能有一个武器带粒子系统,两个武器都挂粒子会卡壳!
这点与ROT=1的导弹模拟弹道不同。
好处是用粒子系统不会出现导弹那样的卡位置打不中目标的现象。



粒子弹道一左一右很有节奏的开火。



导弹弹道快速且密集,就是会偶尔出现打不中的窘境。



对于慢节奏如狙击枪来说,这就不是什么问题了。


以下是代码:

rules
-------------------------------------
; 曳光弹系统
[FlameTracerSys]
HoldsWhat=FlameTracerBullet
BehavesLike=Fire ;火焰粒子
Lifetime=1 ;重要,如果Lifetime>1,则会出现连续的多个粒子,串成一条线

; 曳光弹
[FlameTracerBullet]
BehavesLike=Fire ;火焰粒子
Image=FTBULLET ;子弹轨迹的图形,弹道的颜色由他控制
Deacc=0.0 ;速度衰减
Velocity=200.0 ;运动速度,子弹的视觉飞行速度,太慢的话,会出现目标死掉,子弹还没飞到的窘境
MaxEC=500 ;粒子存在的最长时间
;以下为重点,控制粒子存活的时间,也是控制射击频率的主要控制参数。
;以下参数含义,粒子在生成之后具有10寿命,每经过一帧减少1寿命,当粒子的寿命只有3的时候粒子变成半透明,只有2的时候粒子进一步透明,当寿命没有了,从游戏中删除,然后生成下一个粒子。
;Fire类型的例子方向有4个,分别是↑↗→↘,EndStateAI同时也控制了一个方向具有的帧数,具体参考TS的Flameall.shp。
;本例中使用的是无形图像,所以EndStateAI只作为寿命控制。
StartStateAI=1 ;Fire类型的粒子,使用AIState + ((轨迹方向%4) * EndStateAI)作为索引值
EndStateAI=10 ;最大的StateAI值,Fire类型的粒子也作为每一个方向的帧数
StateAIAdvance=1 ;每次经过这么多帧时StateAI就递减1
Translucent50State=3 ;StateAI到达该值透明50%
Translucent25State=2 ;StateAI到达该值透明25%
DeleteOnStateLimit=yes ;StateAI消耗完毕时从游戏中移出粒子
Normalized=yes


[Particles]
+=FlameTracerBullet

[ParticleSystems]
+=FlameTracerSys

; 狙击步枪
[SVD]
Damage=125
AmbientDamage=125        ;轨道伤害
ROF=150
Range=14
Projectile=InvisibleLow
Speed=100
Warhead=HollowPoint
Report=SniperAttack
RevealOnFire=no
OpenToppedAnim=GUNFIRE
OccupantAnim=UCINIT
IsRailgun=yes ;轨道炮,可以串烧
AttachedParticleSystem=FlameTracerSys ;轨道炮使用的粒子系统


;FV装海豹、谭雅的武器
[CRMP5]
Damage=125
ROF=10
Range=7;8;6
ProjectileRange=14
Burst=2
Projectile=InvisibleLow
Speed=100
Warhead=HollowPoint3
Report=SealAttack
Anim=MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-NW
AssaultAnim=UCBLOOD;the anim to play when a UC building is cleared (assaulters need this on their primary weapon)
;OmniFire=yes
;DistributedWeaponFire=yes
UseSparkParticles=yes ;注意是使用闪光粒子,不是Fire粒子
AttachedParticleSystem=FlameTracerSys ;挂载的粒子系统



art
-------------------------------------
;曳光弹,无形图像,用尾烟制造弹道
[FTBULLET]
Image=INVISO
UseLineTrail=yes
LineTrailColor=255,128,0 ;弹道的颜色
LineTrailColorDecrement=64 ;尾烟的长度


-------------------------------------
PS:导弹模拟弹道只要加个抛射体就好
; 曳光弹
[FlameTracer]
Image=FTBULLET
Arm=2
VeryHigh=yes
Shadow=no
AA=yes
;CourseLockDuration=150
Acceleration=1024 ;加速度
Proximity=yes
Ranged=yes
ROT=1
Scalable=yes ;调整高度
SubjectToElevation=yes
SubjectToWalls=yes

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2018-11-10 16:31:17 | 显示全部楼层
没有maxdc,伤害,弹头那一套,也就没有穿透攻击
 楼主| 发表于 2018-11-10 17:30:23 | 显示全部楼层
kenosis 发表于 2018-11-10 16:31
没有maxdc,伤害,弹头那一套,也就没有穿透攻击

穿透攻击直接用RailGun和AmbientDamage,更方便计算,粒子伤害和帧数有关太难计算所以舍弃掉。
发表于 2018-11-10 18:43:05 这篇帖子是使用手机发表的! | 显示全部楼层
maxdc相当于rof,写1就是每帧计算伤害
发表于 2018-11-10 18:49:37 | 显示全部楼层
都是大佬,现在连弹道都可以模拟出来了,去试试看。。。。
发表于 2018-11-10 22:53:13 | 显示全部楼层
用抛射体动画不是效果更好吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2018-11-10 23:31:26 | 显示全部楼层
kyonko 发表于 2018-11-10 22:53
用抛射体动画不是效果更好吗

抛射体动画对 Invisible 类型有效的吗?
发表于 2018-11-11 13:55:07 | 显示全部楼层
AmbientDamage有经验吗
 楼主| 发表于 2018-11-11 14:22:19 这篇帖子是使用手机发表的! | 显示全部楼层
膜术师协会 发表于 2018-11-11 13:55
AmbientDamage有经验吗

应该是有的,轨道炮击杀可以刷所属兵,粒子动画击杀偶尔会刷出中立兵,应该是没有经验
发表于 2018-11-11 14:45:00 | 显示全部楼层
我给美国大兵主副武都加这效果,结果他无论用那种武器,打一下就不打了。只给主武或只给副武加就不会这样。为什么呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY官方论坛

GMT+8, 2019-7-20 19:54 , Processed in 0.065902 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表