『たのしい2Dゲームの作り方 Unityではじめるゲーム開発入門』よくある質問

『 たのしい2Dゲームの作り方 Unityではじめる』のよくある質問をまとめました。本書でUnity入門を始めた方、ご参考下さい。

f:id:studioshin:20210211071330j:plain

  • ゲームのための素材はどのようにして用意すれば良いのでしょうか?

本書の25ページ〜26ページにサンプルデータをダウンロードしてそれを使うという内容が記載してありますのでご自分でゲーム用の画像を用意できない場合はこれをご利用ください。また各章の先頭にサンプルのダウンロードURLを記載してありますので、必要であればそのデータをダウンロードしてお使いください。

https://www.shoeisha.co.jp/book/download/3601/read

  • サンプルプロジェクトをダウンロードしましたが開くことができません

ダウンロードできるサンプルプロジェクトは、本書執筆時での最新バージョンであるUnity2020.1.15f1を使用しています。これより新しいバージョンであればサンプルプロジェクトは問題なく開くことができますので、Unity HubのUnityバージョンからUnity2020.1.15f1より新しいバージョンを指定すれば開くことができます。

f:id:studioshin:20210611154313p:plain

  • 横スクロールゲームでキャラをジャンプさせることができません

ジャンプについて、以下を確認してみて下さい。
・キャラ画像のpivotがBottomになっているか?(47ページ)
画像のpivot(基準点)をBottomにしてキャラの足元に設定しています。これでPhysics2DクラスのLinecastメソッドで地面との当たりを判定していますので、初期状態のCenterのままでは地面との当たり判定が取れません。

f:id:studioshin:20210611154659p:plain

・地面にGroundレイヤーを設定しているか?(96ページ)
ゲームオブジェクトを「ジャンプ可能な地面」と判定するためにGroundレイヤーを追加して使用します。このGroundレイヤーを作成して、地面となるゲームオブジェクトのLayerに設定されているか確認して下さい。

f:id:studioshin:20210611154809p:plain

・PlayerControllerのgroundLayerにGroundを設定(115ページ)
追加したGroundレイヤーをPlayerControllerスクリプトで「地面」と判定するためにLayer MaskのgroundLayer変数を追加しています。この変数にUnityエディターのInspectorでGroundが設定されているか確認して下さい。

f:id:studioshin:20210611154935p:plain

  • 横スクロールゲームでCameraManagerスクリプトでカメラの制御がうまくできません

カメラの位置を設定するX,y,zが正しく設定されていますか?176ページのこの部分のスクリプトを確認して下さい。Vector3を作るときのxとyとzですが、xとyはプレイヤーのtransformから、zは自分自身(カメラ)のtransformから値がとられているか確認して下さい。

// カメラ位置の Vector3 を作る
Vector3 v3 = new Vector3(x, y, z);
transform.position = v3;