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

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

Unityシーンに配置。

壷オブジェクトにRigidbodyとColliderを設定。
Playと同時に落下するようにする。
新たに破壊用のパーティクルを作成。

ポイントは、Durationを短く一瞬で勢い良く発生させる。

更にCollisionを設定し、他のオブジェクトとの物理演算を有効にする。
また、Renderで破片オブジェクトを複数設定。
Prefab化してAssetsに登録。
新たに、壷が衝突したら、自身を消去して換わりにパーティクルを生成するスクリプトを作成。
public GameObject breakPrefab;
+OnCollisionEnter(Collision c)+
Instantiate(breakPrefab, gameObject.transform.position, breakPrefab.transform.rotation);
Destroy(gameObject,0.05f);
パーティクルを途中から表示はできないので、ある程度パーティクルが出揃うまでオブジェクトを表示しておくと違和感が減る。
再生するとこんな感じ。壷をクリックすると落下。
今回はパーティクルを使ってオブジェクト(壷)の破壊表現してみます。
今回破壊するオブジェクトを3dsMaxで作成。

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

Unityシーンに配置。

壷オブジェクトにRigidbodyとColliderを設定。
Playと同時に落下するようにする。
新たに破壊用のパーティクルを作成。

ポイントは、Durationを短く一瞬で勢い良く発生させる。

更に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;
その分、固定でメモリを消費するので常に使うものを入れておくと便利です。
呼び出し方。
Ex; Resources.Load("xxx")as GameObject;
テーマ : Unityゲーム制作
ジャンル : コンピュータ
3dsMax Particle Flow 解説-25 ( Stop Gradually )
パーティクルを減速させてから停止。
+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… ランダムシード。
+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… ランダムシード。
3dsMax Particle Flow 解説-24 ( Split Source )
3dsMax Particle Flow 解説-23 ( Split Selected )
RealFlow Particle emitter 解説-2 ( Liquid )
液体の設定。
+Node Params+
+Particle+
Type
▼Gas… 気体型パーティクル。
▼Liquid… 液体型パーティクル。
▼Dumb… 独立したしぶきや泡パーティクル。
▼Elastics… ソフトボディ型パーティクル。ゼリーなど。
▼Script… スクリプトによる設定。
Resolution… 解像度。1.0=1×1×1に1,000粒=1,000kg。

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

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

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

Viscosity… 粘度。

Surface Tension… 表面張力。

Interpolation… パーティクル量の補間。任意のフレームからパーティクル量を増やしたりする場合効果的。
▼None… 補間しない。
▼Local… 流体の内側のみを補間。
▼Global… 流体全体を補間。
Compute Vorticity… 渦シミュレーションの使用。
Max Particle… パーティクルの最大量。
+Node Params+
+Particle+
Type
▼Gas… 気体型パーティクル。
▼Liquid… 液体型パーティクル。
▼Dumb… 独立したしぶきや泡パーティクル。
▼Elastics… ソフトボディ型パーティクル。ゼリーなど。
▼Script… スクリプトによる設定。
Resolution… 解像度。1.0=1×1×1に1,000粒=1,000kg。

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

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

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

Viscosity… 粘度。

Surface Tension… 表面張力。

Interpolation… パーティクル量の補間。任意のフレームからパーティクル量を増やしたりする場合効果的。
▼None… 補間しない。
▼Local… 流体の内側のみを補間。
▼Global… 流体全体を補間。
Compute Vorticity… 渦シミュレーションの使用。
Max Particle… パーティクルの最大量。
Unity 二点間のベクトル
二点間のベクトルの求め方。
2数間の乱数。
Ex; Vector 3 vec = ( target.transform.position - transform.position ).normalized;
target方向の向きが出る。
2数間の乱数。
Ex; Vector 3 vec = ( target.transform.position - transform.position ).normalized;
target方向の向きが出る。
テーマ : Unityゲーム制作
ジャンル : コンピュータ
RealFlow Particle emitter 解説-1 ( 共通パラメータ )
流体パーティクルの共通項目。

+Node Params+
+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パーティクルの表示。

+Node Params+
+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パーティクルの表示。
3dsMax Particle Flow 解説-22 ( Split Group )
選択をグループオペレータに基づいて、パーティクルを分割。
+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… ランダムシード。
+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… ランダムシード。