Unity particle ( 破壊 )

久しぶりにチュートリアルっぽいものをやります。
今回はパーティクルを使ってオブジェクト(壷)の破壊表現してみます。


今回破壊するオブジェクトを3dsMaxで作成。
unity0046.jpg

破壊を表現するオブジェクトの破片を作成。
バリエーションを増やすため、何種類か用意する。
unity0047.jpg

Unityシーンに配置。
unity0048.jpg
壷オブジェクトにRigidbodyとColliderを設定。
Playと同時に落下するようにする。

新たに破壊用のパーティクルを作成。
unity0049.jpg
ポイントは、Durationを短く一瞬で勢い良く発生させる。
unity0050.jpg
更にCollisionを設定し、他のオブジェクトとの物理演算を有効にする。
また、Renderで破片オブジェクトを複数設定。
Prefab化してAssetsに登録。

新たに、壷が衝突したら、自身を消去して換わりにパーティクルを生成するスクリプトを作成。

public GameObject breakPrefab;
+OnCollisionEnter(Collision c)+
Instantiate(breakPrefab, gameObject.transform.position, breakPrefab.transform.rotation);
Destroy(gameObject,0.05f);

パーティクルを途中から表示はできないので、ある程度パーティクルが出揃うまでオブジェクトを表示しておくと違和感が減る。

再生するとこんな感じ。壷をクリックすると落下。

テーマ : Unityゲーム制作
ジャンル : コンピュータ

Unity Resourcesフォルダ

ResourcesフォルダはUnityお約束フォルダのひとつで、フォルダ内にあるアセットを常に読み込める状態にします。
その分、固定でメモリを消費するので常に使うものを入れておくと便利です。

呼び出し方。
Ex; Resources.Load("xxx")as GameObject;

テーマ : Unityゲーム制作
ジャンル : コンピュータ

3dsMax Particle Flow 解説-25 ( Stop Gradually )

パーティクルを減速させてから停止。

3dsmax0193.jpg
+Stop Gradually+

Test True When Particle Stops
Stop Type
Position… 位置モーションを有効。
Rotation… 回転モーションを有効。

Slowdown Start Time
Timing
▼Absolute Time… 減速開始を絶対時間で判定。
▼Particle Age… 減速開始をパーティクル時間で判定。
▼Event Duration… 減速開始をイベント時間で判定。
Time, Age, Event Time… 各パーティクルを減速開始する時間。
Variation… 値の変動値。

Stop Time
Use Different Timing Type… タイミング同期を選択を有効。
Timing
▼Absolute Time… 停止時間を絶対時間で判定。
▼Particle Age… 停止時間をパーティクル時間で判定。
▼Event Duration… 停止時間をイベント時間で判定。
Time, Age, Event Time… 各パーティクルを停止する時間。
Variation… 値の変動値。

Uniqueness
Seed… ランダムシード。

テーマ : 3DCG
ジャンル : コンピュータ

Unity 処理の順番

Awake > OnEnable > Start
さらに詳しくはこちら。

テーマ : Unityゲーム制作
ジャンル : コンピュータ

3dsMax Particle Flow 解説-24 ( Split Source )

選択したソースを次のイベントに分割。

3dsmax0191.jpg



3dsmax0192.jpg
+Split Source+

Test True If Particle
Is From Selected Source… 選択したソースを分割。
Is Not From Sel. Source… 選択していないソースを分割。

Selecte Emission Sources… ソースリスト。

テーマ : 3DCG
ジャンル : コンピュータ

3dsMax Particle Flow 解説-23 ( Split Selected )

選択したパーティクルを次のイベントに分割。

3dsmax0189.jpg



3dsmax0190.jpg
+Split Selected+

Test True Particle
Is Selected… 選択したパーティクルを分割。
Is Not Selected… 選択していないパーティクルを分割。

テーマ : 3DCG
ジャンル : コンピュータ

RealFlow Particle emitter 解説-2 ( Liquid )

液体の設定。

+Node Params+
realflow0003.jpg
+Particle+

Type
▼Gas… 気体型パーティクル。
▼Liquid… 液体型パーティクル。
▼Dumb… 独立したしぶきや泡パーティクル。
▼Elastics… ソフトボディ型パーティクル。ゼリーなど。
▼Script… スクリプトによる設定。


Resolution… 解像度。1.0=1×1×1に1,000粒=1,000kg。
realflow0004.jpg

Density… 密度。Ex, 水=1,000 kg/m3。
realflow0005.jpg

Int Pressure… 内部圧力。膨張する力。
realflow0006.jpg

Ext Pressure… 外部圧力。膨張を抑える力。
realflow0007.jpg

Viscosity… 粘度。
realflow0008.jpg

Surface Tension… 表面張力。
realflow0009.jpg

Interpolation… パーティクル量の補間。任意のフレームからパーティクル量を増やしたりする場合効果的。
▼None… 補間しない。
▼Local… 流体の内側のみを補間。
▼Global… 流体全体を補間。

Compute Vorticity… 渦シミュレーションの使用。

Max Particle… パーティクルの最大量。

テーマ : 3DCG
ジャンル : コンピュータ

Unity 二点間のベクトル

二点間のベクトルの求め方。

2数間の乱数。
Ex; Vector 3 vec = ( target.transform.position - transform.position ).normalized;
target方向の向きが出る。

テーマ : Unityゲーム制作
ジャンル : コンピュータ

RealFlow Particle emitter 解説-1 ( 共通パラメータ )

流体パーティクルの共通項目。

realflow0002.jpg


+Node Params+
realflow0001.jpg
+Node+

Simulation Inactive, Active, Cache… シミュレーションの無効、有効、キャッシュノード。
Position, Rotation, Scale… エミッタノードの位置、回転、スケール。
Shear… エミッタノードノードの空間的な歪み。
Pivot… 基点位置。
Parent to… エミッタノードノードのペアレント。
Color… エミッタノードノードのビューポートカラー。
Xform Particles… Noだとアニメーションエミッタの後にパーティクルを作成。Yesだとエミッタに追従。

+Initial State+

Use Initial State… プリセットを使用してその地点から計算。
Make Initial State… プリセットの作成。

+Statistics+

Existent Particles… シーンの現存パーティクル数。
Emitted Particles… 総パーティクル数。
Particle mass… パーティクルの総重量。
Min Speed… 計測されたパーティクルの最遅値。m/s。
Max Speed… 計測されたパーティクルの最速値。

+Display+

Visible… エミッタノードの表示/非表示。
Detail… 表示レベル。Best, High, Medium, Low, Draft。
Display type… Point/Sphere。
Size… ビューポートでのパーティクルのサイズ。
Show icon… エミッタアイコンの表示/非表示。
Show arrows… パーティクルの方向表示。
Arrow length… パーティクル方向の長さ。
Property
▼Velocity… 3軸で表示。
▼Velocity X, Y, Z… 各軸で表示。
▼Pressure… 圧力を表示。
▼Density… 密度の移行を表示。
▼Vorticity… 渦巻きの表示。
▼Temperature… 気体の表示。
▼Constant… すべてのパーティクルを1色で表示。
Automatic range… カラーグラデーションの自動表示。
Min, Max range… グラデーションレンジの最小、最大値。
Min, Max range color… グラデーションレンジの最小、最大時の色。
Fluid… オリジナル/修正されたBINパーティクルの表示。

テーマ : 3DCG
ジャンル : コンピュータ

3dsMax Particle Flow 解説-22 ( Split Group )

選択をグループオペレータに基づいて、パーティクルを分割。

3dsmax0188.jpg
+Split Group+

Group Selection Operators
Add… パーティクルグループの追加。
Remove… パーティクルグループの削除。

Use Proxy Particles… グループを分割を除く、パーティクルの選択に基づいて分割。
Proxy Particle System… プロキシパーティクルシステムの選択。

Proxy Index --> Particle Index
Multiplier… 分割されるパーティクルのインデックス値の乗算値。
Index Offset… 分割されるパーティクルのインデックス値のオフセット値。

Test True if Particle
▼Selected In All Groups… すべてのグループに属するパーティクルを分割。
▼Selected In Any Group… いくつかのグループに属するパーティクルを分割。
▼Selected In Single Group… 1つのグループに属するパーティクルを分割。
▼Not Selected In Any Group… どのグループにも属さないパーティクルを分割。

Uniqueness
Seed… ランダムシード。

テーマ : 3DCG
ジャンル : コンピュータ

プロフィール

Rich

Author:Rich
3DCGから派生する関連ソフトの備忘録。

最新記事
カテゴリ
月別アーカイブ
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
PR




注目!!自宅で本気痩せダイエット!!



access
QRコード
QR