銃器は発射物を発射します。このコンポーネントの目的は、キャラクターに関連する武器の動作を制御することです。発射物の動作には関係ありません。発射点、使用する発射物、発射方向、回転方法、反動、その他の機能を指定します。これらのプロパティを使用して、さまざまな銃器のバリエーションを作成できます。
セットアップするには、空のゲームオブジェクトを作成し、銃器コンポーネントを追加します。武器を表示する場合は、このゲームオブジェクトにスプライトを追加します (スプライトピボットを左に設定します)。このゲームオブジェクトを、銃器を使用するキャラクターの子にします。
プレイヤーは、Firearms abilityを有効にする必要があります (反動が機能するため、および機能の例外を適用するため)。
Note
一度に複数の銃器をアクティブにすることができ、アイテムクラスはツールを拾うための便利な方法を提供します。
Property | |
---|---|
Name | 識別のために銃器に固有の名前を付けます。 |
Fire Point | 発射物のスポーン ポイント。 発射ポイントのトランスフォームを作成し、それを銃器の子にします。ここで参照を設定します。発射ポイントは通常、銃口の端に配置されます。 |
Button | 発射ボタンです。 ボタンとそのトリガー イベントを選択します。 |
Local Position | 銃器の現地位置。 |
Stop Velocity | 有効にすると、キャラクターは発射物を発射している間、指定された時間の間動きを停止します。 |
Off Near Wall | キャラクターが壁の隣にいて、武器が壁の内側にある場合、これを true に設定すると、武器が発射されなくなります。これにより、武器が別の部屋に発射されなくなります。 |
On Activated | 銃器のゲームオブジェクトがアクティブに true に設定されたときに呼び出される Unity イベント。 |
Method | |
---|---|
Pause(bool value) | 一時停止すると、プレイヤーはこの銃器を使用できなくなります。 |
Shoot() | 必要に応じて、このメソッドを使用して発射イベントをトリガーします。 |
AnimationComplete() | 射撃アニメーションが完了したら、このメソッドを呼び出します。射撃イベントはトリガーされませんが、銃器のアニメーション状態は終了します。ShootAndWaitForAnimation() が以前に呼び出されていることが前提となります。Sprite Engine を使用する場合は、Loop Once イベントでこれを呼び出します。 |
ShootAndAnimationComplete() | スプライトが完了したら、このメソッドを呼び出します。これにより、射撃イベントがトリガーされ、銃器のアニメーション状態が終了します。スプライト エンジンを使用している場合は、Loop Once イベントでこれを呼び出します。 |
ShootAndWaitForAnimation() | 射撃が必要なスプライト フレームでこのメソッドを呼び出します。これによって銃器のアニメーション状態が終了されるわけではありません。 したがって、射撃アニメーションの最後のフレームでは AnimationComplete() を呼び出す必要があります。 |
ChangeDefaultProjectile (ProjectileBase newProjectile) | 発射物の種類を変更します。 |
ChangeChargeProjectile (ProjectileBase newProjectile) | チャージ弾の種類を変更します。 |
Note
The animation methods are only necessary if Shoot Animation is enabled. If Shoot Animation is enabled, the firearm will enter an animation wait state upon shooting, where the system will wait for the animation to complete.
Projectile
Property | |
---|---|
Default Projectile | 銃器が使用する発射体。 |
Inventory (Optional) | 発射物インベントリへの参照。これには発射物のリストが含まれており、これによりシステムは銃器上の発射物を簡単に交換できるようになります。 |
Auto Discharge | キャラクターが射撃を終えた後、銃器が射撃を続ける短い時間を指定します。値が 0 の場合、この機能は無効になります。 |
Shoot Animation | 有効にすると、キャラクターが射撃する前に再生するアニメーションになります。システムは、指定されたアニメーション信号を true に設定します。Sprite Engine を使用する場合は、シグナル名が存在することを確認し、それに応じて Sprite State を構成し、Loop Once に設定します。 これが有効になっている場合は、戻り信号が必要です。そうしないと、システムが停止したままになります。 通常は、ShootAndAnimationComplete () または ShootAndWaitForAnimation () を呼び出し、その後 AnimationComplete () を呼び出します。 |
Extra Animation. | ルールはシュートアニメーションと同じです。ただし、使用するスプライト エンジンを指定できる点が異なります。そのため、スプライト エンジンへの参照とアニメーションシグナルの名前を指定する必要があります。 |
Property | 反動により、銃器を発射したときに押し戻しが発生します。 |
---|---|
Type | スライドバックが有効になっている場合、プレーヤーは後ろにスライドします。 シェイクが有効になっている場合、プレーヤーは後ろにスライドしてから前にスライドします。シェイクは短時間のみ有効です。 |
Recoil When | Velocity Zero が有効になっている場合、反動はプレイヤーが静止している場合にのみ機能します。 |
Distance | プレイヤーが反動する距離。 |
Time | 反動に必要な時間。 |
Has Gravity | プレイヤーが重力の影響を受ける場合は、これを有効にして反動システムが重力の効果を考慮に入れるようにします。 |
Signals: recoil, recoilLeft, recoilRight, recoilDown, recoilUp, recoilSlide, recoilShake
Important
反動を機能させるには、プレイヤーがFirearms abilityを有効にする必要があります。
Note
反動はキャラクターに速度を適用するため、スプライトの方向が反転します。スプライト エンジンを使用する場合、スプライトを正しい状態に保つには、recoil、recoilLeft、recoilRight 信号を有効にし、スプライトの方向の状態を構成します。通常、recoilLeft が true の場合は flipLeft を設定し、recoilRight が true の場合は flipRight を設定します。
Rotation
銃器を回転させます。
Property | |
---|---|
Rotate With | 銃器の回転方法: マウス、8方向、自動シーク、固定角度、固定方向、回転なし。 |
Point Towards | 銃器が向く方向。キャラクター方向が有効になっている場合、銃器はキャラクターの移動方向を向きます。 マウス方向が有効になっている場合、銃器はマウスの方向を向きます。 トランスフォーム方向が有効になっている場合、銃器は指定されたトランスフォームの方向を向きます。 これは、銃器が NPC に属している場合に役立ちます。指定されたトランスフォームは、プレイヤーの方向を向くように設定できます。 |
Signals: mouseDirectionLeft, mouseDirectionRight
Note
スプライト エンジンを使用する場合は、マウス信号を有効にして、プレイヤーが反対方向に走っている場合でも、マウスの方向を向いたままにします。通常、mouseDirectionLeft が true の場合は flipLeft を設定し、mouseDirectionRight が true の場合は flipRight を設定します。キャラクターの走っているスプライトは、後ろ向きに走っているように見せるために逆方向に再生する必要がある可能性が高いため、特別な考慮が必要になる場合があります。
Property | マウスで回転 |
---|---|
Top Limit | 銃器の可動範囲は 0 度から 180 度です。これは、Point Towards が Character Direction に設定されている場合にのみ有効になります。 |
Bottom Limit | 銃器の可動範囲は 0 度から -180 度までです。 |
Angle Offset | 必要に応じて、銃器に適用されるオフセット。 |
Note
上限と下限の両方の値がゼロの場合、銃器の可動範囲は 360 度になります。それ以外の場合、銃器は固定されているとみなされ、指定された制限によって制限されます。
Property | キーボードで回転 |
---|---|
Buttons Left, Right, Up, Down | 銃器の方向を変更するためのキーボードボタンを指定します。 |
Diagonal | 有効にすると、銃器を 45 度の角度で向けることができるようになります。 |
Property | 自動シークで回転(ターゲットに向かって自動的に回転) |
---|---|
Target Layer | ターゲットを検索するレイヤー。 |
Search Radius | 銃器の中心からこの半径内のターゲットのみが検出されます。 |
Search Rate | 銃器がターゲットを捜索する頻度。 |
Auto Shoot | 有効にすると、銃器は自動的にターゲットを射撃します。 |
On Found New Target | 銃器が新しいターゲットを見つけるたびに呼び出される Unity イベント。 |
Aim
プレイヤーが狙いを定めるのに役立つビームやレチクルなどの視覚要素を追加します。
Property | ビーム |
---|---|
Line Of Sight Beam | 銃からビームが伸びます。ゲームオブジェクトを作成し、ビームを表すスプライトを配置します。スプライト ピボットを左に設定します。このゲームオブジェクトは銃の子である必要があり、有効になっている必要があります。 |
Layer | ビームが相互作用できるレイヤー。 通常は壁や敵のターゲットです。 |
Beam | ここにビーム ゲームオブジェクトの参照を配置します。 |
Beam End | ビームがターゲットレイヤーに当たると、このゲームオブジェクトはビームの終了時に有効になります。特殊効果の目的でスプライトを再生できます。このゲーム オブジェクトを作成し、銃器の子にします。このゲームオブジェクトは有効にしないでください。システムがそのアクティブ状態を制御します。(オプション) |
Max Length | ビームの最大長。 ターゲット レイヤーにヒットしない場合は、ビームはこの長さまで延長されます。 |
Target | 敵のみを含むレイヤー。ビームが敵ターゲットに当たると、On Target Hit イベントが呼び出されます。 |
Auto Shoot | 有効にすると、ターゲット レイヤーを使用して敵ターゲットがヒットすると、銃器が自動的に発砲します。 |
On Target Hit | ターゲットレイヤーを使用して敵にヒットしたときに呼び出される Unity イベント。 |
On Beam Hit | ビームが何かに当たったときに呼び出される Unity イベント。 |
On Nothing Hit | ビームが何も当たらなかったときに呼び出される Unity イベント。 |
Property | レチクル |
---|---|
Line Of Sight Reticle | 銃器から特定の距離にレチクルが表示されます。ゲームオブジェクトを作成し、レチクルとして機能するスプライトを配置します。このゲームオブジェクトを銃器の子にします。 |
Aim Reticle | ここにレチクルゲームオブジェクトの参照を配置します。 |
Follow Type | 「Fixed Position」が有効になっている場合、レチクルは指定された距離で銃器の方向を指します。「Follow Mouse」が有効になっている場合、レチクルはマウスの正確な位置に従います。 |
Distance | 固定位置が有効になっている場合は、照準線を銃器からどのくらい離すかを指定します。 |
Charge
銃器をチャージしてスーパーチャージ弾攻撃を放ちます。
Property | |
---|---|
Projectile | チャージ攻撃で使用する発射体 |
Charge Time | 発射をトリガーする前にユーザーがボタンを押し続けなければならない時間。 プレイヤーが銃を発射できる最小しきい値時間を設定することもできます。 |
Discharge Time | 銃器を完全に発射するのに必要な時間。 |
Cooldown Time | 次の充電が開始されるまでに経過する必要がある時間。 |
Shoot Animation | 有効にすると、キャラクターが放電する前に再生するアニメーションになります。システムは、指定されたアニメーション信号を true に設定します。スプライトエンジンを使用する場合は、信号名が存在することを確認し、スプライト状態を適切に構成し、ループ ワンスに設定します。 これが有効になっている場合は、戻り信号が必要です。そうしないと、システムが停止したままになります。充電セットアップの場合は、アニメーションが完了したら ShootAndAnimationComplete() のみを呼び出します。 |
Extra Animation. | ルールはシュートアニメーションと同じです。ただし、使用するスプライトエンジンを指定できる点が異なります。そのため、スプライトエンジンへの参照とアニメーション信号の名前を指定する必要があります。 |
Event | |
---|---|
OnCharging | 銃器が充電されているときに呼び出される Unity イベント。 |
OnCharging Complete | 銃器の充電が完了したときに呼び出される Unity イベント。 |
OnDischarging | 銃器が発射されるときに呼び出される Unity イベント。残りの発射時間を表す 0 から 1 の間の値を返します。 |
OnDischarging Complete | 銃器の発射が終了したときに呼び出される Unity イベント。 |
OnDischarging Failed | 銃器が発射に失敗した場合に呼び出される Unity イベント。これは、弾薬が足りないことが原因である可能性があります。 |
OnCooling Down | 銃器がクールダウンしているときに呼び出される Unity イベント。残りのクールダウン時間を表す 0 から 1 の間の値を返します。 |
Recoil | |
---|---|
On Discharge | この反動は、デフォルトの発射物の反動と同じ特性を持ちます。発射中に、プレイヤーが反動を 1 回だけ受けるか、発射期間中に必要な回数だけ受けるかを指定します。 |
Note
チャージ システムでは、ユーザーはボタンを押し続けないとチャージできません。そのため、通常の射撃ボタンのトリガータイプを On Press に設定するのが最適です。こうすることで、チャージ中に銃器が弾丸を発射することはありません。また、チャージに使用する発射体は、連続発射の利点を生かすために、発射速度と発射速度を高く設定する必要があります。