第7回では、空のPlayerへ人型モデルを追加する準備をします。無料アセット「Character Pack: Free Sample」を読み込み、Unity 6のURPで表示できるところまで進めます。
キャラクターのPrefabを開いて顔と体のTextureを表示し、Playerの子としてSceneへ配置します。一人称画面では、頭が少し見える位置まで調整します。
プレイヤー用アセットを選ぼう
Character Pack: Free Sampleを使います。無料のローポリ人型モデルで、Humanoid Rigと複数のアニメーションが入っています。
すでにあるCharacter Controller、PlayerMove、Main Cameraはそのまま使います。今回追加するのは、プレイヤーの見た目とアニメーションです。
Package Managerから読み込もう
Window → Package Management → My Assetsを開き、Character Pack: Free SampleをDownloadします。
Import Unity Packageでは、Animations、AnimatorControllers、Materials、Models、Prefabsなど、すべてにチェックを入れたままImportします。
アセットのフォルダーを確認しよう
インポート後は、ProjectにSupercyan Character Pack Free Sampleフォルダーが作られます。
今回使う人型PrefabはFreeSample_male_1です。髪、服、風船、バッグなどのPrefabは、キャラクターへ追加する個別パーツです。
ピンク色のPrefabをURPへ合わせよう
Prefabがピンク色で表示される場合、付属MaterialのShaderがBuilt-in Render Pipeline用になっています。
Materials/High Qualityを開き、使用するMaterialのShaderを次へ変更します。
Universal Render Pipeline/Lit
顔のTextureを戻そう
FreeSample_male_1をPrefab編集画面で開きます。Texturesフォルダーにある顔の画像を、free_male_1_head MaterialのBase Mapへ設定します。
体が白いのは失敗?
モデルとURP Shaderは読み込めています。白い部分は、体用MaterialのBase Mapが未設定であることを示します。Texturesフォルダーから体用Textureを確認して設定します。
体用Textureも設定する
free_male_1_body MaterialのBase Mapへ、服、腕、脚、靴が描かれた体用Textureを設定します。顔にはfree_male_1_headを使います。
PrefabをPlayerの子にしよう
Prefab編集画面からSampleSceneへ戻ります。ProjectのFreeSample_male_1 Prefabを、HierarchyのPlayerへドラッグして子にします。Sceneに置かれたPrefabはPrefab Instanceと呼びます。
Player
├─ FreeSample_male_1
└─ Main Camera
モデルのLocal PositionとRotationを調整して、Playerと同じ場所・向きに合わせます。画像ではモデルのRotation Yを-90にしています。
一人称画面に頭を少し見せよう
モデルをMain Cameraと同じPlayerへ入れると、カメラの位置によって自分の頭が画面へ映ります。今回は完全には隠さず、プレイヤーがそこにいることを感じられるように、頭の上側を少しだけ表示する位置へ調整しました。
一般的なFPSでは自分の頭を非表示にすることもあります。この教材では、少し見せる表現を選びました。狙いにくい場合は、モデルのPositionを下げるか後ろへ動かして調整できます。
- WASDでPlayerとモデルが一緒に移動する。
- 照準が頭で隠れすぎていない。
- 射撃、スコア、HP、タイマーがこれまでどおり動く。
歩行アニメーションを設定しよう
次回はAnimator Controllerを設定し、待機と歩行のアニメーションをPlayerの移動に合わせます。


コメント