主に、LightWave3Dに関する事を書き記します。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
衝突して飛び散った破片が地面に落ちて更に砕ける・・・というところまで作り込んだ事が無かったのでテストしました。
作り方を簡単にまとめていきます。
【1】
【2】
【利用させていただいたプラグイン】
・CrackIt!
・Polygon Coloring(セル調の場合)
【モデラー作業】
1.CrackIt!でオブジェクトを粉砕して、Distributeで破片を空きレイヤーに分配します。
2.更にその破片の中で大きい塊をCrackIt!で粉砕していきます。
3.全てのレイヤーを表示させた状態でポリゴンの「三角分割」を行います。破片に輪郭線を出したい場合は、三角分割する前にPolygon Coloringをしておくとサーフェイス境界で破片のエッジを表示させることが出来ます。
4.各レイヤーに名前を付けて保存したらレイアウトに移ります。
【レイアウト作業】
1.オブジェクトファイルを読み込み、衝突エフェクタを3つ用意します。
衝突用コリジョン×1(Mode:バウンス)
地面用コリジョン×2(Mode:バウンス、イベント)
地面用のコリジョンイベントは破片が地面に当たって砕ける時の影響範囲になります。
【Event(黄)の高さによる影響の比較】
コリジョンイベントが高い位置にあると破片が地面に当たった瞬間粉々になり、低い位置にあると少し欠けた状態になります。
コリジョンイベントが地面より上(外側)にある限り、時間が経つにつれボロボロと崩れていきますので、これ以上崩したくない場合は地面より下(内側)へコリジョンイベントを移動させます。
2.破片オブジェクトにHardFXを追加していきます。必要な設定が済んだら演算ボタンを押して、破片の落下と着地具合を確認します。破片の動きを1個ずつ制御するので理想通りの動きが作れますが、破片の数が多いとかなり大変な作業になります。
[ HardFXのだいたいの設定 ]
Piece Mode:「1Piece>Parts(Event)」
Gravity:(大)-100~-86、(中)-85~-66、(小)-65~-50(破片の大きさ)
「Start by Collision」をオン。
3.衝突する瞬間のフレームに合わせて、破壊前と破壊後のオブジェクトアイテムをオブジェクトディゾルブで置き換えます。1個ずつ設定をしていくのは大変なので、オブジェクトディゾルブの設定をまとめておこなうスクリプトを書きました。オブジェクトアイテムを複数選択して以下のLスクリプトを実行します。
・DissoEnv_ds
オブジェクトディゾルブのエンベロープボタン(【E】)をオン/オフします。
・DissoKey_ds
現在のフレームにオブジェクトディゾルブのキー作成&値の変更(0%⇔100%)を行います。(キーカーブはステップ状です。)
・DissoDel_ds
現在のフレームに存在するオブジェクトディゾルブのキーを削除します。
↓3つのスクリプトはここにあります。ご自由にどうぞ。
Dissolve_Tools
4.後はEmitterを追加して、破片より細かい粒子を散らせて細かい味付けをしていくと良い感じになると思います。
これでお終い。
1m四方のBox程度ならサクサク作れたので、充分に使える表現だと思いました。
けれど、破片が多いとHardFXの追加と設定が面倒で演算に掛かる時間が長くなるので、場合によってはここぞという所で使っていくのが良いかなと思います。
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |