takeyohのおぼえがき

気になったこと、試したことの記録です。

particle_fxで光を放つ

assettocorsaのCSPを導入すると、particle_fxで車が道路や壁にこすれると火花が散るエフェクトが出ます。

content managerの設定だけでなく、

steamapps\common\assettocorsa\extension\configにある

particles_fx.iniでは開発中のパラメータも操作できるので、これでキラキラ度MAXにするとド派手な火花を散らすことができます。

パラメータのメモを貼ります。

[SPARKS]
ENABLED=1 ; Active; 1 or 0
LIMIT=40000 ; Limit for particles; from 1000 to 40000, round to 1000
SPAWN_RATE=100000 ; Spawn rate; from 200 to 2000, round to 100

 

[SPARKS_DEV]
; hidden

SIZE_MULT=1
BLUR_MULT=1000
; BRIGHTNESS_BASE=6
; BRIGHTNESS_EXTRA=6
BRIGHTNESS_BASE=10000
BRIGHTNESS_EXTRA=10000
FADING_BASE=10
FADING_LIFE_LEFT_K=2

; drag value; set to 0 to remove any wind resistance
DRAG_K=0

; gravity value
GRAVITY=0

; lifespan parameters
; formula is LIFESPAN_MIN+(LIFESPAN_BASE+LIFESPAN_EXTRA×<random value>)×<surface lifespan mult.>
LIFESPAN_MIN=5
LIFESPAN_BASE=5
LIFESPAN_EXTRA=5

; how much to sides would particles fly
SPREAD_MULT=0.09

; force pushing sparks from wheels while they’re beneath
FORCE_WHEEL_PUSH=5.0
FORCE_WHEEL_SPEED_BASE=40.0
FORCE_WHEEL_SPEED_FACTOR=1.6
FORCE_WHEEL_SPEED_RADIUS=0.4

; force sending particles away when they’re in front
; nice to have a small radius so only a few sparks would be affected
FORCE_FRONT_UP=2.0
FORCE_FRONT_PUSH=4.0
FORCE_FRONT_FORCE_OFFSET=5.5
FORCE_FRONT_FORCE_RADIUS=4.0

; force sending particles up when they pass behind the car
; nice to have a small radius so only a few sparks would be affected
; and force is big to compensate for smaller radius
FORCE_REAR_UP=24.0
FORCE_REAR_PUSH=0.0
FORCE_REAR_FORCE_OFFSET=-0.8
FORCE_REAR_FORCE_RADIUS=0.32

あと、car mod側もblenderで光を表現するためのオブジェクトを各種追加。

これまでの説明で使ってきた速度による制御で88mphを超えると光るように設定。(笑

で、出来上がったのがこれです。

www.youtube.com

(補足)

もう少しパラメータ変更してみました。

[SPARKS]
ENABLED=1 ; Active; 1 or 0
LIMIT=40000 ; Limit for particles; from 1000 to 40000, round to 1000
SPAWN_RATE=1000 ; Spawn rate; from 200 to 2000, round to 100

 

[SPARKS_DEV]
; hidden

SIZE_MULT=10
BLUR_MULT=1000
; BRIGHTNESS_BASE=6
; BRIGHTNESS_EXTRA=6
BRIGHTNESS_BASE=10000
BRIGHTNESS_EXTRA=10000
FADING_BASE=10
FADING_LIFE_LEFT_K=10

; drag value; set to 0 to remove any wind resistance
DRAG_K=0

; gravity value
GRAVITY=0

; lifespan parameters
; formula is LIFESPAN_MIN+(LIFESPAN_BASE+LIFESPAN_EXTRA×<random value>)×<surface lifespan mult.>
LIFESPAN_MIN=5
LIFESPAN_BASE=5
LIFESPAN_EXTRA=5

; how much to sides would particles fly
SPREAD_MULT=0.09

; force pushing sparks from wheels while they’re beneath
FORCE_WHEEL_PUSH=5.0
FORCE_WHEEL_SPEED_BASE=40.0
FORCE_WHEEL_SPEED_FACTOR=1.6
FORCE_WHEEL_SPEED_RADIUS=0.4

; force sending particles away when they’re in front
; nice to have a small radius so only a few sparks would be affected
FORCE_FRONT_UP=2.0
FORCE_FRONT_PUSH=4.0
FORCE_FRONT_FORCE_OFFSET=5.5
FORCE_FRONT_FORCE_RADIUS=4.0

; force sending particles up when they pass behind the car
; nice to have a small radius so only a few sparks would be affected
; and force is big to compensate for smaller radius
FORCE_REAR_UP=24.0
FORCE_REAR_PUSH=0.0
FORCE_REAR_FORCE_OFFSET=-0.8
FORCE_REAR_FORCE_RADIUS=0.32

こっちのほうが、未来へ飛んでいく感じが出るかもしれません。(笑)

/* -----codeの行番号----- */