この記事では操作可能なキャラクターの作り方を紹介していこうと思います。キャラクターが作れるようになると一気にゲーム性が増すので、頑張っていきましょう!
作るための手順
キャラクターを作成するためにはいくつかの手順が必要になります。
- Characterクラスを親クラスにしてBPクラスを作成
- スケルタルメッシュコンポーネントを追加し見た目を作成
- キャラクターコントローラーBPを作成
- ゲームモードBPを作成
- ゲームモードBPに初期のキャラクターとコントローラーを設定
- ゲームモードBPを適用
- コントローラからの入力設定、アニメーション設定
以上のような手順を踏むことになります。大変そうに見えますが最低限の設定まではゆっくりやれば必ずできるようになっているので頑張っていきましょう。
キャラクターBPの作成
まずは、キャラクターBPを作成していきましょう。サードパーソンテンプレートを使います。
まずファイルから新規レベル→Basicを選択しましょう。
コンテンツブラウザーからブループリント→Characterを選んでBP_Characterと名付けてください。今なにをしたかというと、もともと存在していたCharacterクラスというものを型に、新たな機能を追加するBPクラスを作ったことになります。この時CharacterクラスはBP_Characterクラスの親クラスであるといいます。Characterクラスの機能を持ったまま新たな機能を追加されるBP_Characterクラスは上位互換的な存在であるといえるかもしれません。またこのような考え方を継承といいます。
前置きが長くなってしまいましたが、早速やってみましょう。
BP_Characterクラスを開き、Meshコンポーネントのメッシュに自分の好きなスケルタルメッシュを選択しましょう。
最初はキャラクターが上に出現しているはずなので、位置を調整し、青い矢印を向くように回転します。
次に視点を司るカメラコンポーネントを追加していくのですが、ただ追加するだけでは問題が発生してしまいます。それはカメラとキャラクターの間に壁が設置されているとき、壁が映ってしまう点です。
それを解決するためにはSpringArmコンポーネントというものを設置します。これによって壁があった場合にもカメラが縮んで常にキャラクターが映るようになります。
写真のようにSpringArmとCameraを親子付けして追加しましょう。
カメラとキャラクターとの距離感を調整する場合にはSpringArmの詳細パネルにあるTargetArmLengthの値を変更します。今回は600にします。
キャラクターを操作するには、コントローラー一つをつなげる必要があります。逆に言うと、コントローラーがつながっていないアクタにはコントローラーの入力が伝わりません。今からつなげる作業をしていきます。
追加→ブループリント→PlayerControllerを選択し、BP_Controllerと名前を付けます。
追加→ブループリント→GameModeBaseを選択しBP_GameModeと名前を付けます。
BP_GameModeを開き、詳細パネルからPlayerControllerClassにBP_Controllerを、DefaultPawnClassにBP_Characterを選択してください。これで最初にスポーンするキャラクターとコントローラーがリンクしたことになります。
最後にこのゲームモードをゲームに適用する作業をします。
メインツールバーの右側にある設定からプロジェクト設定を選択してください。
左側でプロジェクト→マップ&モードを選択して、デフォルトのゲームモードをBP_GameModeに設定しましょう。これで変更ができました。
ゲームを実行すると自分が作成したキャラクターが映りました。
次回からはキャラクターと視点を移動していきたいと思います。
コメント