粒子系統說明書
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