Unityで武器に揺れ効果を追加する

Unity に武器の揺れエフェクトを追加すると、キャラクターの手にある武器の自然な動きをシミュレートし、ゲームのリアリズムと没入感を高めることができます。ゲームにおける武器の揺れとは、キャラクターが持つ銃器やその他の武器の微妙な動きや揺れを指し、通常はユーザー入力の影響を受けます。以下は、これを達成するのに役立つコード例とステップバイステップのチュートリアルです。

ステップ

  • 新しい Unity プロジェクトを作成するか、既存のプロジェクトを開きます。
  • 武器モデルをプロジェクトにインポートします。必要に応じてアニメーションを使用して適切に設定されていることを確認してください。
  • という "WeaponSway" という新しい C# スクリプトを作成し、それを武器 GameObject にアタッチします。
  • "WeaponSway" スクリプトを開き、次のコードを追加します。

'WeaponSway.cs'

using UnityEngine;

public class WeaponSway : MonoBehaviour
{
    public float swayAmount = 0.02f;
    public float maxSwayAmount = 0.06f;
    public float smoothAmount = 6f;

    private Vector3 initialPosition;

    void Start()
    {
        initialPosition = transform.localPosition;
    }

    void Update()
    {
        float moveX = -Input.GetAxis("Mouse X") * swayAmount;
        float moveY = -Input.GetAxis("Mouse Y") * swayAmount;

        moveX = Mathf.Clamp(moveX, -maxSwayAmount, maxSwayAmount);
        moveY = Mathf.Clamp(moveY, -maxSwayAmount, maxSwayAmount);

        Vector3 targetPosition = new Vector3(moveX, moveY, 0f);
        transform.localPosition = Vector3.Lerp(transform.localPosition, targetPosition + initialPosition, Time.deltaTime * smoothAmount);
    }
}
  • "swayAmount"、"maxSwayAmount"、および "smoothAmount" 変数を調整して、揺れ効果の強度と滑らかさを制御します。目的の効果が得られるまで、これらの値を試してみてください。
  • スクリプトを保存し、Unity エディターに戻ります。
  • 階層内で武器ゲームオブジェクトを選択し、シーンの中央になるように位置を調整します。
  • ゲームを実行してマウスを動かし、ゲームをテストします。実際に武器の揺れ効果が確認できるはずです。
  • 必要に応じてパラメータを微調整して、揺れ効果が自然で臨場感のあるものになるようにします。

結論

Unity ゲームに武器の揺れエフェクトを追加することに成功しました。特定のニーズに合わせてコードを自由にカスタマイズし、全体的なゲーム エクスペリエンスを向上させてください。

おすすめの記事
Poppy Playtime からインスピレーションを得て Unity で GrabPack を作成する
Unity でバレットタイムエフェクトを作成する
Unity でインタラクティブなオブジェクトを作成する
Unity でのキネティック インタラクションの実装
Unity で特定のキーを使用して引き出しや食器棚を開ける
Unity のインベントリを使用しないピック アンド ドロップ システム
Unity で車にプレーヤー エントリを追加する