跳转到内容
RA2DIY-WIKI 当前处于维护模式:页面上的内容随时可能发生更改且不会事先告知。

粒子系统说明书:修订间差异

来自RA2DIY
创建页面,内容为“http://bbs.ra2diy.com/forum.php?mod=viewthread&tid=12917 基础知识:什么是粒子和粒子系统? 粒子和动画、单位等一样,是游戏中的一种“物体”,粒子系统则是控制粒子产生的一种逻辑 举个例子:工程师步兵车维修时会冒出火花,每一个火花“点”都是一个粒子,而控制这些粒子的产生数量、分布方式和产生速度的是粒子系统 其他的还有病毒狙击手的病毒、…”
 
无编辑摘要
第1行: 第1行:
http://bbs.ra2diy.com/forum.php?mod=viewthread&tid=12917
<nowiki>http://bbs.ra2diy.com/forum.php?mod=viewthread&tid=12917</nowiki>


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


第9行: 第12行:


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


粒子及粒子系统的调用方式:
粒子及粒子系统的调用方式:
第19行: 第24行:


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


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


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


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


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


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


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


粒子系统通用代码


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


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


毒气粒子系统 无甚可说 (弹头和覆盖物刷毒气专用?)


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


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


喷火粒子系统和喷火粒子 放在一起


特征为射出一团向目标运动的粒子


(西木SB 逻辑糟糕 懒得说明 也就改改什么速度、伤害、图像、持续时间之类的吧)


中文解释参考坛友双杀步枪做好的实例→<nowiki>http://bbs.ra2diy.com/forum.php?mod=viewthread&tid=14734</nowiki>


[XXXWeapon]


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


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


轨道炮粒子系统(特征为 在发射者和目标之间的连线上立刻产生一列螺旋分布的粒子)


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


<nowiki>;</nowiki>粒子注释
<nowiki>;</nowiki>乱七八糟的太多 说几个常见的 (以下代码并非对所有类型粒子都有效,建议用的时候复制原版写好的粒子再改数据)
<nowiki>;</nowiki> BehavesLike= 粒子类型
Spark   火花(维修车)
Smoke   烟雾(车辆损伤等)
Fire    火焰(喷火)
Gas  毒气


;粒子注释
;乱七八糟的太多 说几个常见的 (以下代码并非对所有类型粒子都有效,建议用的时候复制原版写好的粒子再改数据)
; BehavesLike= 粒子类型
Spark  火花(维修车)
Smoke  烟雾(车辆损伤等)
Fire    火焰(喷火)
Gas  毒气
RailGun 轨道炮
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


<nowiki>;</nowiki> Image = 此粒子的外形 直接写shp名 无需且无法在art里定义 色盘默认为anim (Spark和RailGun无效)
<nowiki>;</nowiki> Translucency= 图像透明度 25 50 75
<nowiki>;</nowiki> MaxEC = 此粒子的存在时间
<nowiki>;</nowiki> StartFrame = 粒子动画的起始帧号
<nowiki>;</nowiki> EndStateAI = 粒子动画的结束帧号
<nowiki>;</nowiki> StateAIAdvance= 图像每帧持续多少帧时间 控制图像播放速度 越大越慢(相当于art里的rate,算法相反)
<nowiki>;</nowiki> Damage = 每次产生的伤害
<nowiki>;</nowiki> Warhead = 用来产生伤害的弹头(弹头范围无效)
<nowiki>;</nowiki> MaxDC = 间隔多少帧产生一次伤害
<nowiki>;</nowiki> NumLoopFrames =多少帧是一个循环
<nowiki>;</nowiki> NextParticle= 循环结束后产生另一粒子的名称
<nowiki>;</nowiki> ColorList=(255,0,0),(150,150,150) 轨道炮粒子颜色渐变始末
<nowiki>;</nowiki> ColorSpeed=.009 变色速度
<nowiki>;</nowiki> Persistent =永远是yes,当成无效代码好了
<nowiki>;</nowiki> WindEffect = 风力影响,改数值貌似没用
<nowiki>;</nowiki> Velocity = 粒子运动的速度,默认0
<nowiki>;</nowiki> Deacc= 速度衰减
<nowiki>;</nowiki> DeleteOnStateLimit=yes 图像播放结束后立刻移除粒子
<nowiki>;</nowiki> Radius = 伤害范围?貌似无效,粒子最多影响1X1


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


2017 03 12
2017 03 12

2025年5月19日 (一) 21:35的版本

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