ホーム » 覚書 » Sword & Shield Motion Packドキュメント和訳

Sword & Shield Motion Packドキュメント和訳

Sword & Shield Motion Pack 。
近接戦闘用の基礎パック。
Motion Controller v2 と連動してるので、ついでに購入しました。

Motion Controller v2 を併せて購入しないと使用できないので注意。
Motion Controller同様に、ドキュメントが英語の為、日本語和訳したものをメモ。覚書。


武器
武器のプレハブをセットアップするときは、コライダーとリジッドボディの両方があることを確認してください。
武器Rigidbodyは、次のプロパティでセットアップする必要があります。
Use Gravity = false
Is Kinematic = true
Collision Detection = Continuous Dynamic
Freeze Position = true (all)
Freeze Rotation = true (all)

アニメーションは剣の位置と回転を制御するため、キネマティックは重要です。

衝突検出は、高速でスイングする剣の衝突をキャプチャするために重要です。

UnityのOnCollisionX関数は、コライダーの1つに非キネマティックリジッドボディが接続されていない限り起動しないため、代わりにOnTriggerX関数を使用します。
したがって、武器のコライダーは「Trigger」に設定する必要があります。
剣と盾のロジックは、実際に剣が衝突するオブジェクトに物理的な力を適用します。
そのため、剣が別の剛体に当たると、物理ベースの効果が得られます。

ただし、必要に応じて、別のコライダーを武器に追加し、2番目のコライダーをトリガーにしないようにすることができます。これはお勧めしませんが可能です。

シールドについては、単に標準コライダーを使用します。

攻撃スタイル
BasicMeleeAttackモーションは、いくつかのスタイルの攻撃をサポートしています。各スタイルは個別のアニメーションに関連付けられていますが、必ずしもそうである必要はありません。 「攻撃スタイル」の背後にある考え方は、戦闘中に攻撃固有の情報を提供できるということです。

[Reset]ボタンを押すと、デフォルトの攻撃スタイルが追加されますが、必要に応じて追加または削除できます。

各攻撃スタイルには次のプロパティがあります。 標準プロパティ/Standard Properties
Name:攻撃スタイルのフレンドリ名。このキャラクターの他の攻撃スタイルに固有のものでなければなりません。

Parameter ID:これは、特定のアニメーションをトリガーするためにアニメーターサブステートマシンによって使用されるL0MotionParameterIDです。

Is Blockable:この攻撃スタイルをシールドでブロックできるかどうかを決定します。
Damage Modifier:武器の基本ダメージで使用する乗数。

攻撃のアプローチ
以下のプロパティは、「攻撃のフィールド」戦闘アプローチを使用する場合にのみ重要です。

Attack Forward:攻撃の中心方向。

Field of Attack:攻撃が発生する水平および垂直角度。

Range:攻撃の最小および最大範囲。最後の攻撃では、戦闘員の到達範囲も考慮されます。
Attack Style Examples
左がフォワードスラッシュ、右がスピンスラッシュです。
アニメーションイベント
どちらのアプローチでも、アニメーションイベントを使用して、攻撃が実際に有効になるタイミングを判断します。 この方法では、剣が引き戻されている間、攻撃イベントは発生しません。 各攻撃アニメーションには、次のイベントを定義できます。

BeginFOA-攻撃イベントが発生する可能性がある時間を開始します。

EndFOA-攻撃イベントが発生する可能性がある時間を終了します。

Hit-接触をテストする特定の時間。 これは、BasicMeleeAttackモーションが「continuous」に設定されていない場合に役立ちます。

この場合、戦闘の衝突をチェックするのは、「Hit」アニメーションイベントが発生したときだけです。

連鎖攻撃

Sword and Shield Motion Packには、コンボ攻撃またはチェーン攻撃を作成する非常に基本的な方法が含まれています。

各攻撃アニメーション中に、別の攻撃がすぐに発生する可能性のある時間を定義する2つのアニメーションイベント(上記と同様)を追加できます。 プレイヤーがこのウィンドウ内で2回目の攻撃を行うと、すぐに発生します。

各攻撃アニメーションには、次のイベントを定義できます。

BeginChain-攻撃がすぐに発生する可能性がある時間を開始します。

EndChain –攻撃がすぐに発生する可能性のある時間を終了します。
アニメーションイベント内で、[Int]フィールドを使用して、次に発生する攻撃を指定することもできます。

プレイヤーが攻撃を連鎖しなければならない時間を増やすことは、アニメーションイベントを広げるだけの問題です。
デバッグ
デバッグを支援するために、「BeginChain」ウィンドウと「EndChain」ウィンドウ内にいるときは、キャラクターの根元に緑色の円が表示されます。

「コア」の概要
「コア」は、キャラクターまたはオブジェクトのハートビートを表します。通常、 これは、Update()関数がオブジェクトを制御するMonoBehaviourです。
このパックには、3つの特定のコアがあります。

Actor Core(アクターコア)-このコアはキャラクターのコンポーネントであり、OnDamaged()およびOnDeath()関数を備えています。これにより、アクターは矢印のヒットやその他のイベントに応答できます。
Actor CoreはIActorCoreインターフェイスを実装します。この方法で、インターフェイスを独自の「コア」(使用している場合)で使用できます。

Sword Core(ソードコア)-ソードコアは、ソードプレハブのコンポーネントであり、衝撃力やダメージなどを定義します。このようにして、独自の機能を備えた2つの異なる剣を持つことができます。

Shield Core(シールドコア)–シールドプレハブのコンポーネントとして、このコアは衝突のテストと保護領域の決定を担当します。また、損傷がブロックされると、受ける損傷が減少します。

Combatant(戦闘員)-「Combatant 」は、戦闘状態の管理に役立つ一種のコアです。
ターゲット、主な武器などが含まれています。これは、このオブジェクトを渡して戦闘員の状態を確認できるため便利です。

モーションパック/Motion Packs

モーションコントローラーのUIがわずかに変更され、「Packs」のボタンが追加されました。
「Packs」ボタンを押すと、プロジェクトにインポートされたモーションパックがリストされます。パックを選択すると、パックに関する詳細情報が提供されます。

この場合、「Sword and Shield」パックを選択すると、Sword and Shield Packの詳細が一覧表示されます。

各パックには異なるオプションが表示される場合があります。
Sword and Shield Packについては、各オプションについて説明します。下部の「Setup Pack」ボタンをクリックすると、チェックされたオプションが実行されます。

Create Mecanim States–このオプションは、パックのモーションで使用されるMecanimサブステートマシンを作成/再作成するために使用されます。
これがまさに通常のモーションで行うことです。ここでショートカットを作成します。

Create Input Aliases-チェックすると、モーションで使用されるすべての必要な入力エイリアスがUnityの入力マネージャーで作成されます。これは、プロジェクト全体で行う必要があるだけです。

Create Inventory -インベントリソリューションがない場合、このオプションは「基本インベントリ」コンポーネントを作成し、キャラクターに追加します。

Create Attributes-健康などの属性ソリューションがない場合、このオプションは「基本属性」コンポーネントを作成し、キャラクターに追加します。

Create Combatant-キャラクターにアクターコアがない場合は、作成されます。これにより、Combatantコンポーネントも作成されます。

Create Motions -これは、実際にパックのモーションを作成するオブジェクトです。
通常、「Setup Pack」を押す前に、これらのオプションをすべてチェックしたままにします。ただし、キャラクターをカスタマイズして他のアセットを含めると、基本的なインベントリソリューションが不要になる場合があります。


パックには、ゲームで使用できる剣が含まれています。
ここで説明するガイドラインに従って、プロパティをカスタマイズするか、独自の剣を作成できます。

剣は、モデル、コア、プレハブの3つの部分で構成されています。
モデルとプレハブは、Unityの標準的なものです。
静的な剣のモデルを使用して、いくつかのプロパティを設定し、それをプレハブに変えます。

ソードコア/Sword Core
Sword Coreは、Sword Prefabで動作するMonoBehaviourです。剣の仕組みに関する基本情報が含まれています。

Local Position & Rotation
キャラクターの右手に置かれた場合、位置と回転値はキャラクターを正しく配置するために使用されます。

Range:剣の到達範囲。

Damage:ヒットに適用されるダメージの量。現在、「最小」値(最初の数値)のみを使用しています。

Impact Power
ヒットに適用される物理的影響の程度。
現在、「最小」値(最初の数値)のみを使用しています。

Damaged and Death Motions:ターゲットでトリガーするモーション。
ターゲットはこのモーションを使用する必要はありませんが、使用する別のモーションを知らなければ可能です。

Sounds:特定のイベントで再生されるサウンド。

シールド
パックには、ゲームで使用できるシールドが含まれています。
後で説明するガイドラインに従って、プロパティをカスタマイズするか、独自のシールドを作成できます。

シールドは、モデル、コア、プレハブの3つの部分で構成されています。モデルとプレハブは、Unityの標準的なものです。
静的シールドモデルを使用して、いくつかのプロパティを設定し、それをプレハブに変えます。

シールドコア/Shield Core
シールドコアは、シールドプレハブ上に存在するMonoBehaviourです。シールドの機能に関する基本情報が含まれています。

Local Position & Rotation:キャラクターの右手に配置すると、位置と回転の値を使用して正しく配置されます。

Field of Attack:円錐を作成する水平および垂直の角度。
そのコーン内から攻撃が来た場合、ブロックされます。

Absorption Factor:0〜1の値(0%〜100%を表す)
これは、入ってくるダメージがどれだけ減少するかを示しています。
シールドはこの損傷を吸収します。残りのダメージはキャラクターに適用されます。

Max Health:ブロックモーションが無効になる前にどれだけのダメージを吸収できるか。

Sounds:特定のイベントで再生されるサウンド。


Positioning Items
マウントポイントを使用している場合、この部分は無視してください。

マウントポイントを使用していない場合は、キャラクターに合わせてローカル位置とローカル回転を調整する必要があります。

すべてのキャラクターモデルは異なる可能性があるため、キャラクターの手と腕の骨に合わせて位置と回転を変更する必要があります。

実際、異なるキャラクターをサポートするために、複数の剣プレハブと複数のシールドプレハブが必要になる場合があります。

それぞれ、ローカルポジションとローカルローテーションを入力する最も簡単な方法は、剣とシールドのプレハブをシーンに配置することです。
次に、それらを手動でキャラクターのボーンに取り付け、好みに合わせて配置および回転します。次に、Transformの値をLocal PositionおよびLocal Rotationプロパティにコピーします。これについては、カスタムソードのステップ4で詳しく説明します。

Unityの[Apply]ボタンを押してから、シーンからプレハブを削除することを忘れないでください。

また、変更を加えるために私のプレハブのコピーを作成することをお勧めします。それ以外の場合は、更新中に変更を上書きします。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

管理人

ハンドルネーム:タケハタ
本名:波田野剛望(はたのたけみ)

お絵描きとゲームが好きなオス。
2020年の目標は、スチームでゲームをリリースすること。