IshidaGames【UnityC#講座】無料アセットで一人称視点に剣を振らせるTweetnoteで管理人イシゲーのゲームの思い出記事を100円で公開しました。■■■Unity2018.1.5f1Windows10□Terrainのアセットを試した時など、少しマップを歩き回りたいという時に気軽に利用できる一人称視点で動くスクリプトを書きました。ObjectのCapsuleにアタッチするだけで気軽に利用できます。ついでにAnimationで剣を振る動作を作ったので紹介します。移動するまずはCapsuleを出します。Capsule次に以下のスクリプトをCapsuleにアタッチします。WASD、または上下左右キーで移動します。左右どちらかのShiftを押すと速く移動し高くジャンプをします。マウスでCameraの向きを変えます。移動するだけならこれで終わりです。ちなみにCaracterComponentはどのくらいの角度の坂を上れるようにするか、どのくらいの高さの段差・階段を上れるようにするかを設定できる便利なコンポーネントです。■剣を振るアニメーションを作る剣を用意するAnimationウィンドウで剣を振るアニメーションクリップを作り、Animationコンポーネントでゲーム再生中に再生します。剣を用意しますが、今回は以前の記事で使ったものをPrefab化して使用しました。Swardを置いてください。位置をちょうど良いように置きましょう。Animationウィンドウを開く次にAnimationウィンドウを開きましょう。height=”235′′>これがAnimationウィンドウです。アニメーションを作りたいオブジェクトはHierarchyから選びます。選んだらCreateをクリックしてファイルを保存しましょう。今回は通常時のNormalSwordと剣を振るSwingSwordの2つを作ります。スポンサーリンクNormalSwordを作る赤丸を押すとTransformを動かすだけで記録されます。そのひし形のものをキーフレームと言います。目盛りがついている欄でTransformの値を記録する場所を決める線、再生ヘッドをドラッグできます。今回は最初の位置から30秒かけてY軸で下がり、そして60秒目で元の位置に戻ります。0秒と60秒のTransform。角度は変えないのですが、キーフレームを作っておかないと角度がおかしくなるのでRotationの適当に数値を変えて記録しておいてください。30秒のTransform。こちらも同じようにRotationのキーフレームを作ってください。アニメーションを再生してみましょう。再生ボタンを押してください。ちなみにキーフレームは動かせますので楽に再生時間を詰めたり伸ばせたりできます。最後にNormalSwordは待機状態に出るアニメーションなのでループするようにしましょう。ModeをLoopに設定します。ClipをクリックしてSwingSwordを作りましょう。今回は大上段から振り下ろすような形にし、PositionとRotationを変更します。0秒10秒20秒それでこのようになります。SwardのAnimationコンポーネントはこのようになっているでしょうか。なっていなければセットしてください。Swardにアタッチするスクリプトを書きます。Swardに追加していなければ追加しておいてください。アニメーションイベントの設定スクリプトをアタッチしてもまだ終わりではありません。左クリックで再生されたSwingSwordが終わったらNormalSwordに戻り、CapsuleColliderのオンオフされるようにします。SwingSwordのAnimationウィンドウに戻ってください。Eventボタンをクリックすることでアニメーションイベントが追加されます。最初と最後から少し手前に追加します。最後にアニメーションイベントを追加したら作動しませんでした。それらをクリックしInspectorからスクリプトの関数を設定します。初めの方はSwingStart()。終わりの方はSwingEnd()をセットします。