Adventure CreatorというAssetを使って、ゲーム作りを勉強中です。
これひとつで、コーディングなしにポイントアンドクリックゲームを作れるという代物。


英語ドキュメントしかないため、手順を途中まで日本語で簡単にまとめてみました。
完全に自分のための覚書なので、キャプチャなどはつけていません。
どこをクリックするかなどわからない場合、公式のYouTubeを見ながら進めると良いです。
今回は下の公式リンク動画の冒頭29分くらいまでの内容で、プレイヤーの設定を中心にまとめています。
この後の手順は別記事に続く...かもしれない。



プロジェクト生成

Asset StoreでAdventure Creator(以下AC)をインポートする。
2Dゲームを作る場合、Importの際には、"Demo"のチェックを外して良い。
AC -> Getting started -> New Game wizardでゲームを作りはじめる。
"2D"ボタンを押して2Dモードにして、"Directional Light"を削除しておく。


背景の設定

背景画像をプレハブ化(Hierarchyにドラッグ&ドロップ)して、Order in Layerを設定。
初期値は0で、遠いものほど数が小さくなる。
画像は、InspectorでSpriteに設定しておく。
背景画像は、_setGeometry配下にドラッグ&ドロップしておく。


プレイヤー初期設定

PlayerStart2D = ゲーム開始時のプレイヤーの地点を動かしておく。
AC Game Editor -> Scene -> Default NavMesh をCreateする。
InspectorのPolygon Collider 2DのEdit Colliderをクリックして、歩ける範囲を設定する。


プレイヤーの稼働可能な部分の設定

木などの、歩けない部分は、GameObject -> Create Emptyをして、Hierarchyの_NavMesh配下におき、Add Component -> Polygon Collider 2Dを選択。Is Triggerにチェックを入れ、歩けない部分をざっくり囲み(NavMeshを重ならないように注意)、名前を変更しておく。
Default NavMeshを選択し、InspectorのNavMesh HolesをCreateして、ここに先ほど作った歩けない部分を設定。


カメラの設定

Main Cameraを選択し、InspectorでField ofViewのサイズを下げてズームし、PositionのY座標を適当に下げて画面いっぱいに背景がおさまるようにする。


プレイヤーの設定

プレイヤーの適当なSpriteをHierarchyにD&D。AC -> Editors -> Character wizardを開く。D&DしたSpriteをPlayerとして設定し、設定を完了させる(他はデフォルトのままで大丈夫)。
作ったPlayerを、Project内の自分で作ったフォルダにD&Dしておく。
AC Game EditorのSettingで、今D&DしたPlayerを、Charater SettingsのPlayer prefabにD&D。

自分のProjectのフォルダで、右クリックしてCreate -> Animator Controllerして名前をつける。PlayerのPlayerSpriteを選択した状態で、InspectorのAnimatorのところのControllerにD&D。
D&DしたAnimatorをダブルクリックで開き、アニメーションをD&D。
アニメーションの末尾の_DRなどが、アニメーションの向きを指定している。

Playerのprefabを選択し、InspectorでStandard 2D Animationsを開く。
このIdle nameなどに、それぞれアニメーションファイルの名前(_より前の部分)を設定しておく。Facind Directionsで、アニメーションが何方向向くか選んで、List expected animationsで、意図したアニメーション名が設定されているか確認。

PlayerのInspectorで、Movement settingsのTurn before walking?にチェックを入れておくと、動きが自然に見える。
Movement settingsで、Turn SpeedやWalk Speedを調整できる。

※アニメーションがうまく設定されないとき、一旦再起動するとちゃんと反映されることがある。
また、異常な動きをする場合は、子スプライトが原点にいるか確認。中心点がnavmeshの中を動くので、例えば縦長のキャラクターなら、pivotを少し下にずらす必要がある。


Sorting map

先ほど設定した、歩けない部分(木など)の周辺を歩くとき、重なり順がおかしくなることがあるので、Sorting mapを設定する。
AC Game Editor -> SceneでDefault Sorting mapをCreate。
Nav Meshの一番高いところにDefault Sorting mapを移動させ(Nav Meshが見えない場合は、Gizmoをonにする)、InspectorでSorting Areaを2つ追加し、境目となる部分の高さをそれぞれ設定。
初期値は1と2にで、これがPlayerのorderの順番となる。つまり、手前側を歩かせたい場合、大きな数を設定する必要がある。

また、プレイヤーが奥に行くほど小さく、手前に来るほど大きく見えるよう設定する。
Sorting mapのInspectorで、Affect Charater Sizeにチェックを入れ、Start ScaleとEnd Scaleをそれぞれ設定。Interplate in-between scalesをクリックすると、奥行きに応じたサイズを自動で計算してくれる。


カメラの移動

カメラがプレイヤーに追随するようにする。
AC Game Editor -> Sceneで、Default Cameraを追加。
この状態だと、Main Cameraとくっついていてうまく映らないので、PositionをZ方向にマイナスする。
追加されたNavCam1のInspectorを開いて、Horizontal Movement とVertical Movementのlockのチェックを外す。
この状態でrunすると、プレイヤーに追随するものの、カメラがゲームの背景からはみ出しているので、runした状態で、Constraintにチェックを入れ、Horizontal Movement とVertical MovementのMaximum Constraint, Minimum Constraintを適宜調整する。
このままrunを止めると、設定値が消えるので、歯車マークからCopy Componentして、止めた後に再び歯車マークを押し、Paste Component Valuesをすると保存される。


次回に続く。