よくあるTPSのRPGを作りたい!!その2 忘備録
こんにちは、こんばんは!Misagonです!!
今回はよくあるスマホゲーRPGの基礎を独学自力で作成していきたいと思います!
C#を使用するのですが、私はスクリプト系の知識はほぼないので、極力スクリプトは自分で書かずに他力本願でいきたいと思います。
使用機材、ソフトはこちら↓
Unity
まずはProjectを作成します。今回使用したAssetはこちら↓
"Unity-Chan!"model (後述するアニメーションのmotionなどが含まれています。)
3rd Person Controller +Fly Model(シンプルな人型のキャラクターオブジェを使用するためだけに使用)
Joystick Pack (ジョイスティックパッドの導入に使用)
Mecanim Locomotion (アニメーションを動かすのに使用)
を使用します。
まず3DでProjectを作成します。
今回はとりあえず、フィールドを作ってその上をキャラクターに歩かせたいので、
ヒエラルキーを右クリック→3Dオブジェクト→Terrainを選択します。
画面上にTerrainが表示されるので、右側のインスペクタービューで
x-256 y 0 z -256に設定するとTerrainが真ん中に来ます。
この時点で画面上部からファイル→「シーンを別名で保存」で保存しておきます。
次に、画面下部のAssetsから「Virtual joystick Pack」を開き、中にある「3DExampleScene」をダブルクリックして開きます。
するとSceneが開くので、ヒエラルキーにあるCanvas、Scene、Player Example 3Dを選択してコピーします。
コピーした状態で、先ほど保存したSceneを開き、ヒエラルキーに貼り付けます。
すると画像のようになります。
これでフィールドとキャラクター、キャラクターを操作するためのjoystickを追加することができました。ここから調整していきます。
まずはTerrainにテクスチャを貼りましょう。
画面上部のアセット→パッケージをインポート→環境を選択しTerrain関係のテクスチャやオブジェクトをダウンロードします。
Terrainを選択した状態で、インスペクターの筆マークを選択し、下の「テクスチャを編集」を選択し、「GrassHill」を追加します。
追加するとフィールドにテクスチャが貼られます。
次にキャラクターを追加します。今の状態では白い四角しかいないので、別のキャラクター追加します。
3rd Person + Fly→Modelsからchar_shadowを選択し、画面にドラッグします。
キャラクターを選択した状態で、Assets→Virtual Joystick Pack→3D Example内の
「Player 3D Example(Script)」をキャラクターのインスペクタービューにドラッグアンドドロップします。その後、Joystickの項目が追加されるので、Joystickの横の○から対応する「Fixed joystick」を追加します。これで、キャラクターをJoystickで操作することができます。
ヒエラルキーのPlayer Example 3Dを参考にすると分かりやすいと思います。
ここまで設定できたらもう役目を果たしたので削除して大丈夫です。
次はキャラクターにアニメーションを追加しましょう。
キャラクターを選択した後、Assets→Locomotion Setup→Scropts→LocomotionPlayerをインスペクタービューにドラッグしてアタッチします。
そのあと、アニメーター内のControllerにLocomotionのアニメーションコントローラーを設定します。これで、矢印キーで移動&アニメーション動作が可能になります。
これはMecanimという機能?によって可能になるのですが、まだJoystickのではアニメーションが動作しないため、設定していきます。
アニメータータブを選択すると、アニメーター画面に移動します。
Joystickで動かすために、色なしのWalkRun以外は削除します。
パラメーターの+からboolを追加して、名前をRunningにします。
IdleとWalkRunの間の→を選択し、conditionsにRunningをtrueで追加します。
他の項目は削除します。
反対側の矢印も選択し、同様に追加し、falseにします。
その後、Player 3D Exampleスクリプトを編集します。
元のスクリプトはこちら。
if(moveVector = (Vector3.right ❇︎joystick.Horiontal + Vector3.forward❇︎joystick.Vertical);
がジョイスティックの動作の部分(だと思う)なのでここにアニメーターを動作するスクリプトを追加します。
以下のように書き足します。
これでJoystickでの操作時にも、アニメーションが動作します。(前述の矢印キーでの操作時に比べアニメーションが一つなので少し質は下がります泣)
アニメーター画面で、WalkRunを選択し、インスペクタービューでmotionを選択することで、アニメーションを選ぶことができます。RUN_00Fを選ぶことで走るアニメーションにできます。
最後にカメラの追従を設定します。ヒエラルキーのScenes内のMaincameraを選択し、コンポーネントを追加でCameraControllerを追加します。Focus objにキャラクターオブジェクトを選択して終了です。(一番上のMain cameraは削除して問題ありません)
おすすめはFocus x0 y1.5 z0です。
カメラのClear Flagsをスカイボックスにすると、空を自然な色に変更できます。
この段階でもう一度シーンの保存を行い、ファイル→ビルド設定→プラットフォームをiOSに変更し、プラットフォーム切り替えを行います。
プレイヤー設定でアイコンを指定した後、スクリプティックバックエンドを「IL2CPP」に変更しさらに下のArchitectureをUniversalに変更します。
(これをしないとCPUタイプが違うとでて実機にインストールできません。)
ビルドを実行してXcodeに書き出しを行い、iPhoneにインストールして完成です。
以上できちんと動作すると思います!参考までにどうぞ!
わからないことがあればコメント欄にお願いします!!