粒子系统说明书

http://bbs.ra2diy.com/forum.php?mod=viewthread&tid=12917

基础知识:什么是粒子和粒子系统? 粒子和动画、单位等一样,是游戏中的一种“物体”,粒子系统则是控制粒子产生的一种逻辑 举个例子:工程师步兵车维修时会冒出火花,每一个火花“点”都是一个粒子,而控制这些粒子的产生数量、分布方式和产生速度的是粒子系统 其他的还有病毒狙击手的病毒、坦克损伤时的烟雾、喷火器、轨道炮等

粒子不一定必须由粒子系统产生 例如动画也能直接产生粒子

粒子和粒子系统皆须注册才能使用。 反正某些自学能力低下的菜逼找个注册表都懒得找,就直接贴上来吧 [ParticleSystems]粒子系统 [Particles]粒子

粒子及粒子系统的调用方式:

1 下文的[XXXWeapon]为在武器上调用粒子系统的方式

注:武器发射粒子系统时 必须等上一次发射的粒子消失 才能再次发射 举个栗子:某轨道炮武器burst=2 粒子持续时间为20 则第二发要等20帧才能发出来

注2:同一单位同一级别下不能同时携带两个带有粒子系统的武器,否则可能无法正常开火。 举个栗子:主武器、副武器、盖特武器

2 动画调用粒子(非系统) 动画结束产生粒子 art里 [XXXAnim] … SpawnsParticle=填写粒子名 NumParticles=粒子数量

3 弹头调用粒子系统 [XXXXWH] … Particle= 填写粒子系统名称 (你可以做个远程维修车 火花在被维修的目标上产生)

4 覆盖物调用粒子系统 (比如打死金矿后刷出一团毒气) [TIB01];一种金矿 … Explodes=yes ;必须 BarrelParticle=填写粒子系统名称

5 单位损伤调用粒子系统 (坦克残血冒烟) [MTNK] … DamageParticleSystems= 填粒子系统名称 (ares有更多相关功能 具体看ares说明书) 运用实例 来自mk 受损粒子刷维修罩:http://bbs.ra2diy.com/forum.php?mod=viewthread&tid=10177

6 ares新功能 抛射体调用烟雾粒子系统 具体看ares说明书

粒子系统通用代码 [XXXSys] HoldsWhat = 粒子系统产生的粒子名称 BehavesLike= 填写系统类型 Gas Smoke Fire Spark Railgun

注:粒子系统和粒子的BehavesLike不一定是同类的。你完全可以用smoke系统产生毒气粒子 例如:Railgun粒子系统如果用smoke粒子形态就可以自定义轨道炮粒子的图像,用GAS的话更可以直接散布大量毒气粒子

毒气粒子系统 无甚可说 (弹头和覆盖物刷毒气专用?) [GasCloudSys] HoldsWhat=GasCloud1 BehavesLike=Gas 硬编码移动速度2无法强制固定位置不移动

烟雾粒子系统(车辆黄血冒烟等) [SmallGreySSys] HoldsWhat=SmallGreySmoke Spawns=yes 是否用此系统不停刷出粒子 SpawnFrames=10 和上一句连用,刷粒子的间隔 SpawnRadius=5 产生粒子的范围 单位为像素 Slowdown=.0025 系统速率衰减 ParticleCap=7 最高同时存在的粒子数目 SpawnCutoff=13.0 多长时间后停止产生粒子 SpawnTranslucencyCutoff=12.5 多长时间后粒子变为半透明 BehavesLike=Smoke

喷火粒子系统和喷火粒子 放在一起 特征为射出一团向目标运动的粒子 (西木SB 逻辑糟糕 懒得说明 也就改改什么速度、伤害、图像、持续时间之类的吧) 中文解释参考坛友双杀步枪做好的实例→http://bbs.ra2diy.com/forum.php?mod=viewthread&tid=14734 [XXXWeapon] … UseFireParticles=yes AttachedParticleSystem=FireStreamSys [FireStreamSys] HoldsWhat=FireStream Spawns=yes SpawnFrames=4 BehavesLike=Fire Image=TWLT036 Lifetime=30 [FireStream] Image=FLAMEALL Deacc=0.01 Velocity=28.0 BehavesLike=Fire MaxEC=400 MaxDC=1 Warhead=Fire Damage=4 StartStateAI=1 EndStateAI=19 StateAIAdvance=6 Translucent50State=15 Translucent25State=10 DeleteOnStateLimit=yes Normalized=yes FinalDamageState=14 Report=FLAMTNK1

火花粒子系统(维修车) [XXXWeapon] … UseSparkParticles=yes AttachedParticleSystem=WeldingSys [WeldingSys] HoldsWhat=WeldingSpark BehavesLike=Spark ParticleCap=15 此粒子系统最高产生的粒子数目 SparkSpawnFrames=20 产生粒子的所用的帧数 SpawnSparkPercentage=.4 每次产生粒子的几率 LightSize=25 闪光大小 OneFrameLight=true 是否产生闪光

轨道炮粒子系统(特征为 在发射者和目标之间的连线上立刻产生一列螺旋分布的粒子) [XXXWeapon] … IsRailgun=true AttachedParticleSystem=PsyBeamSys [XXXRailgunSys] HoldsWhat=XXXPart (该粒子类型非Railgun时 粒子不会运动) BehavesLike=Railgun SpiralRadius=6 轨道炮粒子扩散的最大半径 ParticlesPerCoord=a 这是粒子密度,越大越密 算法为 1/a (例:填写.05 即每1/.05=20个像素产生一个粒子) SpiralDeltaPerCoord=b 波长 控制粒子排列的弯曲度 越大弯曲度越小 算法为b/a (例:填写 .3 即.3/.05=6 每像素粒子方向绕圆柱轴心旋转.3,那么每相邻的两个粒子之间角度相差6)以上两条具体算法来自耗神 VelocityPerturbationCoefficient=0 速度扰动系数 算法不明 影响railgun粒子出膛后的运动速度 MovementPerturbationCoefficient=0 运动扰动系数 算法不明 影响railgun粒子出膛后的运动方向 PositionPerturbationCoefficient=0 位置扰动系数 算法不明 影响railgun粒子出膛后的位置 增大以上三条的数值能让轨道炮粒子的弥散运动更加不确定 Laser=yes 是否产生一条激光细线 LaserColor=255,0,255 线的颜色

;粒子注释 ;乱七八糟的太多 说几个常见的 (以下代码并非对所有类型粒子都有效,建议用的时候复制原版写好的粒子再改数据) ; BehavesLike= 粒子类型 Spark 火花(维修车) Smoke 烟雾(车辆损伤等) Fire 火焰(喷火) Gas 毒气 RailGun 轨道炮 ; Image = 此粒子的外形 直接写shp名 无需且无法在art里定义 色盘默认为anim (Spark和RailGun无效) ; Translucency= 图像透明度 25 50 75 ; MaxEC = 此粒子的存在时间 ; StartFrame = 粒子动画的起始帧号 ; EndStateAI = 粒子动画的结束帧号 ; StateAIAdvance= 图像每帧持续多少帧时间 控制图像播放速度 越大越慢(相当于art里的rate,算法相反) ; Damage = 每次产生的伤害 ; Warhead = 用来产生伤害的弹头(弹头范围无效) ; MaxDC = 间隔多少帧产生一次伤害 ; NumLoopFrames =多少帧是一个循环 ; NextParticle= 循环结束后产生另一粒子的名称 ; ColorList=(255,0,0),(150,150,150) 轨道炮粒子颜色渐变始末 ; ColorSpeed=.009 变色速度 ; Persistent =永远是yes,当成无效代码好了 ; WindEffect = 风力影响,改数值貌似没用 ; Velocity = 粒子运动的速度,默认0 ; Deacc= 速度衰减 ; DeleteOnStateLimit=yes 图像播放结束后立刻移除粒子 ; Radius = 伤害范围?貌似无效,粒子最多影响1X1

编写修订: 紫色放逐 协力:moderKenosis

2017 03 12