粒子系统说明书:修订间差异
创建页面,内容为“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= 填写系统类型 | |||
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] | |||
… | … | ||
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 毒气 | |||
RailGun 轨道炮 | RailGun 轨道炮 | ||
<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