前回は、Unity の TopDown Engine アセットのサンプル KoalaRifle を見本に、作成した薬きょうパーティクルを放出する Particle System がなぜか武器を装備した瞬間しか放出されないテストプレイの現象を説明しました。
その対策のために ProjectileWeapon コンポーネントの自作とサンプルのプロパティの違いをグループ単位 (ID, Use, Magazine) で変化させ、連射速度や弾数の変更による効果を紹介しました。
前回の記事:TopDownEngine Weapon設定値の調査1/4 | Compota-Soft-Press
今回は前回の続きで、自作とサンプルの武器プレハブそれぞれの ProjectileWeapon コンポーネントの値の意味についてグループ単位(今回は 12 個中 4 個) で調べ、差分を確認します。
今回紹介するグループによって射撃中の移動速度の低下や、射撃の反動による後退などを設定できます。
※ Unity のバージョン 2021.3.25f1、 TopDown Engine のバージョンは 3.2 です。
Position グループ (Weapon.cs)
差分がないので各プロパティの説明だけ記載します。
WeaponAttachmentOffset | an offset that will be applied to the weapon once attached to the center of the WeaponAttachment transform. WeaponAttachment トランスフォームの中心にアタッチされた武器に適用されるオフセット。 |
FlipWeaponOnCharacterFlip | should that weapon be flipped when the character flips? キャラクターが反転するときにその武器も反転する必要がありますか? |
RightFacingFlipValue | the FlipValue will be used to multiply the model’s transform’s localscale on flip. Usually it’s -1,1,1, but feel free to change it to suit your model’s specs FlipValue は、反転時にモデルの変換のローカルスケールを乗算するために使用されます。通常は -1,1,1 ですが、モデルの仕様に合わせて自由に変更してください。 |
LeftFacingFlipValue | the FlipValue will be used to multiply the model’s transform’s localscale on flip. Usually it’s -1,1,1, but feel free to change it to suit your model’s specs FlipValue は、反転時にモデルの変換のローカルスケールを乗算するために使用されます。通常は -1,1,1 ですが、モデルの仕様に合わせて自由に変更してください。 |
WeaponUseTransform | a transform to use as the spawn point for weapon use (if null, only offset will be considered, otherwise the transform without offset 武器使用のスポーンポイントとして使用する変換 (null の場合はオフセットのみが考慮され、それ以外の場合はオフセットなしの変換が考慮されます) |
WeaponShouldFlip | if this is true, the weapon will flip to match the character’s orientation これが true の場合、武器はキャラクターの向きに合わせて反転します。 |
IK グループ (Weapon.cs)
差分がないので各プロパティの説明だけ記載します。
LeftHandHandle | the transform to which the character’s left hand should be attached to キャラクターの左手を接続するトランスフォーム |
RightHandHandle | the transform to which the character’s right hand should be attached to キャラクターの右手を接続するトランスフォーム |
Movement グループ (Weapon.cs)
サンプルに合わせて値を変更すると、射撃中の移動速度が遅くなりました。
ModifyMovementWhileAttacking | if this is true, a multiplier will be applied to movement while the weapon is active これが true の場合、武器がアクティブになっている間の移動に乗数が適用されます。 |
MovementMultiplier | the multiplier to apply to movement while attacking 攻撃中の動きに適用される乗数 |
PreventAllMovementWhileInUse | if this is true all movement will be prevented (even flip) while the weapon is active これが true の場合、武器がアクティブになっている間はすべての動きが (反転も) 防止されます。 |
PreventAllAimWhileInUse | if this is true all aim will be prevented while the weapon is active これが true の場合、武器がアクティブになっている間はすべての照準が阻止されます。 |
Recoil グループ (Weapon.cs)
サンプルの値に合わせると、射撃するとその方向とは逆の方向に少しずつ後退しました。キャラクターの向きは変わりません。
RecoilForce | the force to apply to push the character back when shooting – positive values will push the character back, negative values will launch it forward, turning that recoil into a thrust 射撃時にキャラクターを押し戻すために適用される力 – 正の値はキャラクターを押し戻し、負の値はキャラクターを前方に発射し、その反動を推進力に変えます |
今回はここまで
今回は、Unity の TopDown Engine アセットのサンプル KoalaRifle を見本に、作成した薬きょうパーティクルを放出する Particle System がなぜか武器を装備した瞬間しか放出されないテストプレイの現象を説明しました。
その対策のために ProjectileWeapon コンポーネントの自作とサンプルのプロパティの違いをグループ単位 (Position, IK, Movement, Recoil) で変化させ、射撃中の移動速度や反動による後退の効果を紹介しました。
参照サイト Thank You!
- Unity のリアルタイム開発プラットフォーム | 3D/2D、VR/AR のエンジン
- TopDown Engine | システム | Unity Asset Store
- TopDown Engine: MoreMountains.TopDownEngine.ProjectileWeapon Class Reference
- TopDown Engine Weapon.cs, ProjectileWeapon.cs のツールチップ文章。
記事一覧 → Compota-Soft-Press
コメント