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

粒子系統說明書

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