Tech

【Unity】AssetStoreで取得したCharactorにThirdPersonCharacterの動きを設定する。

投稿日:

はじめに

こんにちは、suzukiです。今回は前回に続きUnityの記事です。インポートしたモデルを簡単に動かす方法について触れていきます。

AssetStoreからインポート

RPG Hero PBR HP Polyart

RPG Hero PBR HP PolyartというライブラリをAssetStoreからインポートします。
下記のディレクトリにPrefabがあるので今回はそちらを変更していきます。
/RPGHero/Prefabs/RPGHeroHP.prefab

StandardAssets

StandardAssets
をAssetStoreからインポートします。
下記のディレクトリにPrefabがあるので今回はそちらを利用していきます。
/Characters/ThirdPersonCharacter/Prefabs/ThirdPersonController.prefab

ThirdParsonCharactorの動きについて

ThirdPardonCharactorがどのように動いているのかを簡単に把握しましょう。
今回RPGHeroHPに設定するのは下記の2つのファイルです。
ThirdPersonUserControl
ThirdPersonAnimatorController

ThirdPersonUserControl

ThirdPersonUserControlはユーザーの入力によってどのようにキャラクターを動かすかという内容が設定されています。
このスクリプトを利用するには、ThirdPersonCharacterスクリプトが必要なのですが、RequireComponentで定義されているため自動でコンポーネントに追加されます。
また、ThirdPersonCharacterにもRequireComponentが定義されており、ThirdPersonUserControlを追加するだけで下記の5つのコンポーネントが追加されます。
・ThirdPersonUserControl
・ThirdPersonCharacter
・Rigidbody
・CapsuleCollider
・Animator
もし元から設定されている場合は新たに追加はされません。

Keyの入力部分としては下記がこのスクリプトでは実装されてます。

ThirdPersonAnimatorController

Animatorに設定されているControllerを確認すると、ThirdPersonAnimatorControllerが設定されています。
ThirdPersonAnimatorControllerによって様々なアニメーションが行われています。

下記にそれぞれのアニメーションが設定されています。
Ground:地面(通常)
AirBorne:空中
Crouching:地面(しゃがんでいる状態)

RPGHeroHPに設定を行う

Scene上に追加していない場合はRPGHeroHP.prefabをScene上に追加します。

ThirdPersonUserControlを設定

RPGHeroHPを選択しinspectorで表示し、Add Componentを選択します。

ThirdPersonUserControlを入力し、追加を行うと下記が追加されます。
・ThirdPersonUserControl
・ThirdPersonCharacter
・Rigidbody
・CapsuleCollider

ThirdPersonAnimatorControllerを設定

AnimatorコンポーネントのControllerの右側の◉を選択し、ThirdPersonAnimatorControllerに変更します。
これでユーザの入力を受け取り、アニメーションを行う準備ができました。

その他の調整

うまく動けばいいのですが、デフォルトで追加されたCapsuleColliderのあたり判定のサイズと、キャラクターのサイズによってはうまく動かない場合があります。
今回追加したRPGHeroHPには下記の設定をしております。
Center:0.92
Radius:0.4
Height:1.8
上記設定が完了するとThirdPersonCharacterと同じようにアニメーション付きで動くようになります。

追加したキャラクターによって調整するサイズは異なりますが、実際に動かして下記をチェックして調整してください。
・地面に着地すること
・cを押した際にきちんとしゃがむこと
・多少凸凹した地面で動きがおかしくならないこと

さいごに

Unityはちょっと動かすまでのハードルが低いのですが。調整に時間がかかるイメージですが、値を変更して思ったように動くと気持ちいいですね。

おすすめ書籍

Unityの教科書 Unity2019完全対応版 2D&3Dスマートフォンゲーム入門講座 作って学べる Unity 超入門 スラスラ読める Unity C#ふりがなプログラミング

blog-page_footer_336




blog-page_footer_336




-Tech
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

祝!iOS15でハーフモーダルが追加

1 はじめに2 早速使ってみる2.1 準備2.2 実装2.3 detents2.4 コードでの高さ切り替え2.5 モーダル内のスクロール許可2.6 グラバーの表示2.7 角丸2.8 親Viewとの併用 ...

入門スクラム〜スクラムフレームワーク

1 はじめに2 スクラムの特徴2.1 シンプルなフレームワークであること2.2 素早い反復を繰り返すこと2.3 検査・適応・透明性3 スクラムの役割3.1 プロダクトオーナー3.2 スクラムマスター3 ...

[React]MUIのコンポーネントを使用したUI作成(Button、Alert編)

1 はじめに2 MUI3 Button3.1 Buttonの実装3.2 Buttonの使い分け3.2.1 不可逆な操作など、より強調したい時の使い方4 Alert4.1 Alertの実装4.2 Ale ...

Apple製のフレームワークCombineを触ってみた

1 はじめに2 Combineとは3 Publishers3.1 Future4 Subscribers4.1 sink4.2 assign5 Operators5.1 Prepend5.2 Appe ...

React+axiosでhttpリクエスト

1 はじめに2 axiosとは2.1 XMLHttpRequest2.2 Promise3 準備4 実装4.1 resultsの中身4.2 エラーハンドリング4.3 カスタムヘッダーの付与5 Reac ...

フォロー

blog-page_side_responsive

2022年7月
 12
3456789
10111213141516
17181920212223
24252627282930
31  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。