Unityでキャラクターに正確に武器を持たせる

記事内に広告が含まれています。

今回はUnityで主人公キャラクターに正確な位置と角度で武器を持たせてみようと思います。

例えばキャラクターが武器を持っているようにキャラクターの子要素に武器を配置し、なんとなく位置と角度を指定したとします。
ですが、実際に銃を構えてみると銃を構えるアニメーションの手の位置と銃の位置が一致しません。

これを小まめに修正していってそれなりの位置や角度を指定していた方も多いと思います。わたしだけ?(謎)
新しい武器を手に入れる度にこんな面倒臭い事を繰り返すのはかなり大変です。

そこでもっと簡単に正確に銃を構えた時の手の位置と角度に銃を合わせられるようにしたいと思います。

正確性1

上のようなキャラクターの右手の子要素に装備品を持っているとします。

正確性2

上のようにそれなりに位置が合っている場所に銃を移動し、角度を合わせます。
銃を持っている状態のキャラクターではないのでここでは正確に位置などを合わせるのは難しいです。

正確性3

スポンサーリンク

Unityを実行している時に正確な位置を取得する

実際にUnityの実行ボタンを押して一時停止してSceneウインドウでキャラクターの手の位置を見てみましょう。

この記事を作成する段階でちょっと角度を合わせてしまったので手の位置以外は合ってしまってますが・・・(^_^;)
正確に持たせたつもりでもかなりのギャップがあります。

一時停止ボタンを押したままでシーン上の銃の位置と角度を合わせます。

正確性4

上のように位置と角度を合わせました。

銃の所にはみ出ているのは左手の位置なので、今回は無視します。
この左手の位置も正確に置きたい場合はあらかじめ持たせる武器に合わせてBlender等で作成するアニメーションの手の位置と角度を作成したり、

Blenderを使ってUnityで使うアニメーションを作成する
Unityで使用するキャラクター用のアニメーションをBlenderを使って作成していきます。作成方法を学べば自分のゲームに自作のアニメーションを使うことが出来ます。

IKを使うとうまく合わせられます。

IKを使って手を合わせたい方は

FPSを作ってみよう8-IKを使って銃に手を合わせる-
FPSゲームでIKを使って銃に手を合わせていきます。またblenderでうまくアニメーションが出来ない人用に両手にIKをほどこしUnityのAnimationで銃を持ったり、構えたりするアニメーションを作成するやり方も載せています。

を参照してみてください。

銃を選択した状態のインスペクタを表示します。

正確性5

↑のように歯車をクリックします。

正確性6

Copy Componentを選択します。

正確性7

Unityの実行ボタンを押して、実行画面を解除し編集状態に戻します。
次に銃を選択し、インスペクタ上の歯車をクリック、Paste Component Valuesを選択します。
これで銃を構えた時の正確な位置が設定されました。

もう一度Unityの実行ボタンを押して試してみましょう。
銃を構えた状態の銃の位置と角度が先ほど修正した位置にちゃんと置かれていると思います。

正直なところ、武器をうまく持たせる為ずーっと調整してましたが・・・、こんなに簡単に位置を合わせる事が出来たんですね。
他の武器を装備させる時ももちろん使えます。

タイトルとURLをコピーしました