Maya nParticleのキャッシュファイルを自前で作成したくなって、まずは読み込みから。
Devkitの中に「cacheFileExample.py」が入ってますが間違ってる箇所が多いので、必要のないものをバッサリ削って、整理して。で、いちから書きました。
One File/One file per object なmcxファイルの読み込みテストです。PythonスクリプトはTest for Reading mcx file[GitLab]へ置きました。
読み込み結果は長いので別ページ。
以下2フレーム分のコピーです、なんとなく読めた? バイナリデータの書き込みはこれからです、知らないことだらけ。Mayaへの読み込みにはxmlファイルも必要になるし道のりは長い。
消えないパーティクル、life foreverなやつのライフスパンってただ大きな値が入ってるだけなんですね。
1秒を6000ticksで計算してることも初めて知りました。たまに「unitConversion」ノードが自動的に作成されて「Converion Factor」に200と入力されている事があり、その値の意味がわかりませんでしたけど、30fps*200=6000ticks(1sec.)みたいな事?
-----Reading maya mcx----- FOR8 header size 76 -----Header----- tag: CACH tag: VRSN size: 4 version: 0.1 tag: STIM size: 4 start time: 0 tag: ETIM size: 4 end time: 1 --frame 1-- FOR8 frame data block size: 116 tag: MYCH tag: TIME size: 4 time: 200 end of frame info position: 136 Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 1 Data channel name size: 22 /Channel name: nParticleShape1_count Data format DBLA /Buffer length: 8 array('d', [0.0]) --frame 2-- FOR8 frame data block size: 1548 tag: MYCH tag: TIME size: 4 time: 400 end of frame info position: 268 Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 19 /Channel name: nParticleShape1_id Data format DBLA /Buffer length: 24 array('d', [0.0, 1.0, 2.0]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 1 Data channel name size: 22 /Channel name: nParticleShape1_count Data format DBLA /Buffer length: 8 array('d', [3.0]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 25 /Channel name: nParticleShape1_position Data format FVCA /Buffer length: 36 array('f', [-0.014299958944320679, 0.00462706945836544, -0.013823986053466797, -0.013400747440755367, -0.005261476617306471, 0.008030020631849766, -0.00470898998901248, -0.006676089484244585, 0.005732767283916473]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 25 /Channel name: nParticleShape1_velocity Data format FVCA /Buffer length: 36 array('f', [-0.6126813292503357, 0.1829606592655182, -0.5922881960868835, -0.8443002104759216, -0.20108866691589355, 0.5059232115745544, -0.6279500126838684, -0.25145256519317627, 0.7644720077514648]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 29 /Channel name: nParticleShape1_acceleration Data format FVCA /Buffer length: 36 array('f', [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 30 /Channel name: nParticleShape1_worldPosition Data format FVCA /Buffer length: 36 array('f', [-0.014299958944320679, 0.00462706945836544, -0.013823986053466797, -0.013400747440755367, -0.005261476617306471, 0.008030020631849766, -0.00470898998901248, -0.006676089484244585, 0.005732767283916473]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 30 /Channel name: nParticleShape1_worldVelocity Data format FVCA /Buffer length: 36 array('f', [-0.6126813292503357, 0.1829606592655182, -0.5922881960868835, -0.8443002104759216, -0.20108866691589355, 0.5059232115745544, -0.6279500126838684, -0.25145256519317627, 0.7644720077514648]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 43 /Channel name: nParticleShape1_worldVelocityInObjectSpace Data format FVCA /Buffer length: 36 array('f', [-0.6126813292503357, 0.1829606592655182, -0.5922881960868835, -0.8443002104759216, -0.20108866691589355, 0.5059232115745544, -0.6279500126838684, -0.25145256519317627, 0.7644720077514648]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 21 /Channel name: nParticleShape1_mass Data format DBLA /Buffer length: 24 array('d', [1.0, 1.0, 1.0]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 26 /Channel name: nParticleShape1_birthTime Data format DBLA /Buffer length: 24 array('d', [0.04333544765935452, 0.05074393202995968, 0.0590502852940529]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 20 /Channel name: nParticleShape1_age Data format DBLA /Buffer length: 24 array('d', [0.023331219007312144, 0.015922734636706987, 0.007616381372613765]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 32 /Channel name: nParticleShape1_finalLifespanPP Data format DBLA /Buffer length: 24 array('d', [3.4028234663852886e+38, 3.4028234663852886e+38, 3.4028234663852886e+38]) Data tag: CHNM Data tag: SIZE /size: 4 /Array length: 3 Data channel name size: 27 /Channel name: nParticleShape1_lifespanPP Data format DBLA /Buffer length: 24 array('d', [3.4028234663852886e+38, 3.4028234663852886e+38, 3.4028234663852886e+38])