Unityの衝突判定

Unityには主に物理的な衝突判定 OnCollision と フラグ的な OnTrigger があります。
この他にも、WheelやTerraなど特殊なものもあります。

物理衝突した瞬間時に実行される関数。
Ex; OnCollisionEnter(Collision c)
{
   Destroy(gameObject);


物理衝突している間中実行される関数。
Ex; OnCollisionStay(Collision c)
{
   Destroy(gameObject);


物理衝突から離れた瞬間実行される関数。
Ex; OnCollisionExit(Collision c)
{
   Destroy(gameObject);


コライダのIs Triggerを有効にする。

コライダと接触した瞬間時に実行される関数。
Ex; OnTriggerEnter(Collider c)
{
   Destroy(gameObject);


コライダと接触中実行される関数。
Ex; OnTriggerStay(Collider c)
{
   Destroy(gameObject);


コライダから離れた瞬間実行される関数。
Ex; OnTriggerExit(Collider c)
{
   Destroy(gameObject);


※Colliderで取得したオブジェクトにはSendMassageできる。

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

Unity Wheel Collider 解説

車などのタイヤの挙動に特化した物理セッティング。
※独自計算によりPhysic Material は無効になる。

Component > Physics > Wheel Collider

+Inspector+
unity0028.jpg

+Wheel Collider+

Mass… オブジェクトの質量 。Kg。
Radius… ホイールの半径。
Suspension Distance… 中心からのサスペンションの最大延長距離。

Center X,Y, Z… ホイールの中心位置。

Suspension Spring
Spring… サスペンションのスプリングの力。
Damper… スプリングが戻る速さを鈍くする力。
Target Position… サスペンションの位置。
※0=伸びきった状態。1=最大圧縮状態。


※以下マニュアルより。

Forward Friction… 前転するときのタイヤの摩擦。
Extremum Slip… 極値点でホイールがスリップし出す力。
Extremum Value… 極値点でホイールから出る力。
Asymptote Slip… 漸近線でホイールがスリップし出す力。
Asymptote Value… 漸近線でホイールから出る力。
Stiffness Factor… 各変数の乗算値。回転方向のグリップ。

Sideways Friction… 横移動するときのタイヤの摩擦。
Extremum Slip… 極値点でホイールがスリップし出す力。
Extremum Value… 極値点でホイールから出る力。
Asymptote Slip… 漸近線でホイールがスリップし出す力。
Asymptote Value… 漸近線でホイールから出る力。
Stiffness Factor… 各変数の乗算値。スライドのグリップ。

+Script+
ホイールを回転させる… Ex; WheelCollider.motorTorque = 10;
ブレーキをかける… Ex; WheelCollider.brakeTorque = 1000;
ホイールの向きを変える… Ex; WheelCollider.steerAngle = 0;

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

3dsMax Particle Flow 解説-1 ( 概要 )

3dsMaxのパーティクルは、様々なものがありますが、その中でも汎用性が高いのが Particle Flow です。

Create > Geometry > Particle Systems > PF Source

3dsmax0138.jpg
+Particle Flow+
3dsmax0139.jpg

+Setup+

Enable Particle Emission… パーティクルエミッションの表示。

Particle View… Particle Viewウィンドウの起動。

+Emission+

Emitter Icon
Logo Size… 矢印の大きさ。
Icon Type… エミッタエリアの表示種類。
▼Rectangle, Box, Circle, Sphere
Length, width, Height… エミッタエリアの縦横高さサイズ。
Show Logo, Icon… 矢印、エミッタエリアの表示。

Quantity Multiplier
Viewport… ビューポートでのパーティクル表示割合。
Render… レンダリング時のパーティクル割合。

+Selection+

Particle… 範囲でパーティクルを選択。
Event… イベント別にパーティクルを選択。

ID… 選択したいパーティクルのIDを設定。
Add… 選択IDのパーティクルを追加。
Clear Selection… すべての選択パーティクルを解除。
Remove… 選択IDのパーティクルを解除。

Get From Event Level… イベントレベルの選択をパーティクルレベルに変換。
Select by Event… イベントのパーティクルを選択。

+System Management+

Particle Amount
Upper Limit… パーティクルの最大数。

Integration Step
Viewport… ビューポートの計算の精度。
Render… レンダリング時の計算の精度。

+Script+

Every Step Update
Enable Script… 更新毎に使用するスクリプトを有効。
Edit… スクリプトを編集。※エディタ起動。
Use Script File… 既存のスクリプトを使用。

Final Step Update
Enable Script… 最終ステップで使用するスクリプトを有効。
Edit… スクリプトを編集。※エディタ起動。
Use Script File… 既存のスクリプトを使用。

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

Unity Collider 解説 (Box, Sphere, Capsule, Mesh )

オブジェクトのコライダセッティング。
コライダは、オブジェクトの形状によって組み合わせることもできる。
※デフォルトの状態ではMesh Collider同士の衝突は演算できない。

Component > Physics > XXX Controller

+Box Collider+
unity0024.jpg
Is Trigger… 衝突のチェックのみを検出。※コライダの物理挙動はなくなる。
Material… オブジェクトの材質となるPhysic Materialの設定。
Center X, Y, Z… Boxコライダの位置。
Size X, Y, Z… Boxコライダのサイズ。

+Sphere Collider+
unity0025.jpg
Is Trigger… 衝突のチェックのみを検出。※コライダの物理挙動はなくなる。
Material… オブジェクトの材質となるPhysic Materialの設定。
Center X, Y, Z… Sphereコライダの位置。
Radius… Sphereコライダの大きさ。

+Capsule Collider+
unity0026.jpg
Is Trigger… 衝突のチェックのみを検出。※コライダの物理挙動はなくなる。
Material… オブジェクトの材質となるPhysic Materialの設定。
Center X, Y, Z… Capsuleコライダの位置。
Radius… Capsuleコライダの大きさ。
Height… Capsuleコライダの高さ。
Direction X,Y,Z-Axis… Capsuleコライダの向き。

+Mesh Collider+
unity0027.jpg
Is Trigger… 衝突のチェックのみを検出。※コライダの物理挙動はなくなる。
Material… オブジェクトの材質となるPhysic Materialの設定。
Convex… Meshコライダの凹み部分を省略して他のMeshコライダとの衝突を有効にする。
Smooth Sphere Collisions… コライダの表面を滑らかにする。※多角形回転させない。
Mesh… コライダに指定するメッシュオブジェクト。

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

Unity Character Controller 解説

オブジェクトのキャラクターコントロールセッティング。
Character Controllerは、コライダとキー入力による移動操作から構成されている。
※各インプットの情報は、 Edit > Project Settings > Input で確認できる。

Component > Physics > Character Controller

+Inspector+
unity0022.jpg

+Character Controller +

Slope Limit… 勾配を登ることのできる角度の限界。

Step Offset… 登れる段差の高さ限界。

Skin width… コライダがすり抜ける深さ。
※Radiusの10%程度にすると良い。

Min Move Distance… キャラクターが示された値未満で動こうとしても、移動しない。 ※通常は0でよい。

Center X,Y,Z… キャラクターカプセルコライダの位置。

Radius… キャラクターカプセルコライダの太さ。

Height… キャラクターカプセルコライダの高さ。

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

3dsMax CAT解説-8 ( CATMotion Editor - Arms )

+Arms+ のセッティング。
3dsmax0140.jpg
Arms Bend… 1サイクルに対する前腕の角度。

Limbs… リムの個別制御。
Copy, Paste… コントローラの設定コピー、ペースト。
Scale… カーブ全体Valueをスケール。
Reset… カーブをリセット。
Offset… 時間オフセット、Valueをオフセット。
Curve Editor, Zoom… Curve Editor起動、グラフをスケールフィット。

Time… 1サイクルにおける現在キーの場所。※両サイドが0.0、真ん中で50.0。
Value… 現在キーの値。
Tangent… 現在キーのベジェカーブの量。
Lengths… イン、アウトのベジェハンドルの長さ。

Arms Twist… 1サイクルに対する腕のX軸回転。
Arms CrossSwing… 1サイクルに対する上腕のY軸回転。
Arms Swing… 胴体と並行する、1サイクルに対する腕の前後スイング。
Arms OffsetRot… 上腕の回転のオフセットXYZ。

+CollarBone+ のセッティング。
3dsmax0141.jpg
CollarBone MotionZ… 1サイクルに対するカラーのローカルX軸回転。
CollarBone MotionY… 1サイクルに対するカラーのローカルY軸回転。
CollarBone MotionX… 1サイクルに対するカラーのローカルZ軸回転。
CollarBone OffsetRot… カラーの回転のオフセットXYZ。
※各パラメータはArmsとほぼ同じ。

+Palm+ のセッティング。
3dsmax0142.jpg
Palm OffsetRot… 手のひらの回転のオフセットXYZ。
Palm HandTwist… 胴体と並行する、1サイクルの手ひらの回転。
Palm HandFlopY… 1サイクルに対するカラーのローカルY軸回転。
Palm HandFlopY… 1サイクルに対するカラーのローカルZ軸回転。
※各パラメータはArmsとほぼ同じ。

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

Unity Rigidbody 解説

オブジェクトの物理セッティング。

Component > Physics > Rigidbody

+Inspector+
unity0021.jpg

+Rigidbody+

Mass… オブジェクトの質量 。Kg。
Drag… 移動の空気抵抗。
※0 = 無限の場合、直ちに動きを止める。
Angular Drag… 回転の空気抵抗。
※0 = 空気抵抗なし。

Use Gravity… 重力の影響を有効。

Is Kinematic
… 外部からの力の影響を無視。Transform での移動以外を無視。

Interpolate
▼None… 補間しない。
▼Interpolate… 前フレームにもとずいて Transform を補間。
▼Extrapolate… 次フレームにもとづいて Transform を補間。

Collision Detection
▼Discrete… 必要な時だけ衝突判定。※高速だとすり抜けやすい。
▼Continuous… 動的なコライダには不連続、静的なコライダには常に衝突判定。
※地面などの衝突判定に有効。
▼Continuous Dynamic
…ContinuousおよびContinuous Dynamicを適用したオブジェクトと静的なコライダに対して、常に衝突判定。

+Constraints+

Freeze Position X,Y,Z… 物理演算に対するX,Y,Z移動をロック。
Freeze Rotation X,Y,Z… 物理演算に対するX,Y,Z回転をロック。

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

3dsMax CAT解説-7 ( CATMotion Editor - Legs )

+Legs+ のセッティング。

3dsmax0130.jpg
Legs KneeAngle… 1サイクルに対する膝の角度。
1… 接地中の膝の角度。
2… 離地する時の膝の角度。
3… 宙にある状態の膝の角度。
4… 着地した時の膝の角度。

Limbs… リムの個別制御。
Copy, Paste… コントローラの設定コピー、ペースト。
Scale… カーブ全体Valueをスケール。
Reset… カーブをリセット。
Offset… 時間オフセット、Valueをオフセット。
Curve Editor, Zoom… Curve Editor起動、グラフをスケールフィット。

Time… 1サイクルにおける現在キーの場所。※両サイドが0.0、真ん中で50.0。
Value… 現在キーの値。
Tangent… 現在キーのベジェカーブの量。
Lengths… イン、アウトのベジェハンドルの長さ。

Legs KneeAngle, Twist, CrossSwing, Swing… 1サイクルに対する膝の角度。
OffsetRot… 膝の回転のオフセットXYZ。
※FK割合によって効果が明確になる。

3dsmax0131.jpg
Legs LegWeight… Platformが地面に接地する強さを編集。

Limbs… リムの個別制御。
Copy, Paste… コントローラの設定コピー、ペースト。
Scale… カーブ全体Valueをスケール。
Reset… カーブをリセット。
Offset… 時間オフセット、Valueをオフセット。
Curve Editor, Zoom… Curve Editor起動、グラフをスケールフィット。

Time… 1サイクルにおける現在キーの場所。※両サイドが0.0、真ん中で50.0。

3dsmax0132.jpg
Legs LiftPlantMod… Platformが地面に接地している時間と、空中にある時間の割合。
※脚のみ有効。

+Ankle+ のセッティング。

Ankle OffsetRot… 膝の回転のオフセットXYZ。

3dsmax0133.jpg
Ankle TargetAlign… 足首の基点位置。

※各パラメータはLegsとほぼ同じ。

Time… 1サイクルにおける現在キーの場所。
Value… 現在キーの値。0.0(つま先)-1.0(踵)。

3dsmax0134.jpg
Ankle FootBend… 足首の角度。

※各パラメータはLegsとほぼ同じ。

+FootPlatform+ のセッティング。

FootPlatform Twist… PlatformのY軸回転。
FootPlatform Roll… PlatformのX軸回転。
FootPlatform Pitch… PlatformのZ軸回転。
※各パラメータはLegsとほぼ同じ。

FootPlatform TwistPivotPos… PlatformのY軸の基点位置。
FootPlatform PitchPivotPos… PlatformのZ軸の基点位置。
※Ankle TargetAlignとほぼ同じ。

FootPlatform Lift… Platformの高さ位置。
FootPlatform FootPush… Platformの前後位置。
FootPlatform Swerve… Platformの左右位置。
※各パラメータはLegsとほぼ同じ。

FootPlatform OffsetPos… Platformの位置のオフセットXYZ。
FootPlatform OfsetRot… Platformの回転のオフセットXYZ。

3dsmax0135.jpg
FootPlatform StepShape… Platformが空中にいる間の速度。

Lengths… イン、アウトのベジェハンドルの長さ。

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

3dsMax CAT解説-6 ( CATMotion Editor - Hub )

Hubのセッティング。

3dsmax0119.jpg
Hub Twist… 1サイクルに対するHubのY軸の回転具合。

Copy, Paste… コントローラの設定コピー、ペースト。
Scale… カーブ全体Valueをスケール。
Reset… カーブをリセット。
Offset… 時間オフセット、Valueをオフセット。
Curve Editor, Zoom… Curve Editor起動、グラフをスケールフィット。

Time… 1サイクルにおける現在キーの場所。※両サイドが0.0、真ん中で50.0。
Value… 現在キーの値。
Tangent… 現在キーのベジェカーブの量。
Lengths… イン、アウトのベジェハンドルの長さ。
3dsmax0118.jpg

3dsmax0120.jpg
Hub Roll… 1サイクルに対するHubのX軸の回転具合。
※パラメータは、Twistとほぼ同じ。
3dsmax0121.jpg

3dsmax0122.jpg
Hub Pitch… 1サイクルに対するHubのZ軸の回転具合。
※パラメータは、Twistとほぼ同じ。3dsmax0123.jpg
3dsmax0124.jpg
Hub Lift… 1サイクルに対するHubのY軸の移動具合。
※パラメータは、Twistとほぼ同じ。
3dsmax0125.jpg
3dsmax0126.jpg
Hub Push… 1サイクルに対するHubのX軸の移動具合。
※パラメータは、Twistとほぼ同じ。
3dsmax0127.jpg
3dsmax0128.jpg
Hub WeightShift… 1サイクルに対するHubのZ軸の移動具合。
※パラメータは、Twistとほぼ同じ。
3dsmax0129.jpg
OffsetPos… Hubの位置のオフセットXYZ。
OfsetRot… Hubの回転のオフセットXYZ。

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

3dsMax CAT解説-5 ( CATMotion Editor - Presets, Globals, LimbPhases )

CATMotion Editorでは、歩行サイクルを詳細に設定できます。

3dsmax0114.jpg
+CATMotion Presets+

Available Presets… 使用可能CATRigプリセットの一覧表示。

Current Layers… 現在のレイヤ構成。
Name… レイヤの名前を編集。
Weight… レイヤの影響度。
Open,Save CATMotion Preset… プリセット読み込み、保存。
Add CATMotion Layer… レイヤを追加。
Delete CATMotion Layer… レイヤの削除。
Curve Editor: CATMotion Weights… レイヤウエイトのカーブエディタ起動。

3dsmax0115.jpg
+Globals+

CATMotion Range
Start, End… アニメーション全体の長さ。

Stride Parameters
Max Step Time… 1ステップの最大時間。
Max Stride Length… 一完歩の長さ。
Velocity… キャラクタの速度。
Direction… 歩行の方向。90だと横歩き。
Gradient… 歩行の上下方向。

Walk Mode
Walk On Spot… その場歩き。
Walk On Line… 直進方向に歩行。
Walk on Path Node… 指定したオブジェクトに追従。
Path Node… 指定するオブジェクト。※Walk on Path Node時。

Character Motion
Preserve Character Shape… リグ脊椎の形状保持度合い。
3dsmax0116.jpg

Retargetting… 位置を再設定。※1.0で完全有効。

3dsmax0117.jpg
+LimbPhases+

FootPrints
Step Masks… 歩行の自動停止を有効。
Create… フットプリントを作成。
Delete… フットプリントを削除。
Selected… 個別にフットプリントを選択。
All… 全てのフットプリントを選択。
Reset… フットプリントを初期位置に移動。
Pick Ground… フットプリントを指定した地面に設定。

Limb Phase Sliders… 各肢サイクルのタイミングのオフセット。※手脚の数分表示。

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

プロフィール

Rich

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

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




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



access
QRコード
QR