ゲーム化!tomo_manaのブログ

ゲーム化!tomo-manaのブログ

Unityでゲームを作る方法について紹介しています

Unity学習#2~#4 キャラを画面に表示する (Unity 2019.4.4f1)

パソコンを新調したので、以前のプロジェクトを移動しようとしたのですが、うまくいきませんでした。せっかくなので、これまでの記事を頼りに、少しショートカットしながら復元することにしました。
(プロジェクトの移動についてはそのうちに再チャレンジしたいと思います)


Asset Store にある Tiny RPG を使用してキャラクターの動作設定をしていきます。
Tiny RPG - Forest | 2D Characters | Unity Asset Store

Asset のインポート (#4抜粋)

Asset のインポートは、第4回を基にしています。
Unity学習#4 (Unity 2019.4.1f1) マップを創る - tomo_manaのブログ

Asset を購入する(省略)

Asset の購入からダウンロードまでは省略します。

購入した Asset をインポートする

Unity のメインウィンドウ:
(1) Window > Package Manager

Package Managerウィンドウ:
(2) [All Packages] → [My Assets] に切り替え
(3) ログインが必要:Gmail IDなどでログイン
(4) インストールしたパッケージを選択(今回は Tiny RPG - Forest を選択)
(5) ウィンドウ右下 Import をクリック

f:id:tomo_mana:20201231120233p:plain
Package Manager

Import Unity Packageウィンドウ:
(6) ウィンドウ右下 Import をクリック

f:id:tomo_mana:20201231120304p:plain
Import Unity Package

パッケージのインストールが完了すると、Assets フォルダの下に Tiny RPG Forest が追加されました。

キャラクターの配置 (#2抜粋)

Sprite を追加する方法は、第2回を基にしています。
Unity学習#2 (Unity 2019.4.1f1) 画像を表示する - tomo_manaのブログ

オブジェクトの作成 (Sprite)

(1) Hierarchyウィンドウ:[+▼] をクリック
(2) 2D Object > Sprite を選択(New Sprite が作成される)
(3) Hierarchyウィンドウ:先ほど作成したゲームオブジェクトを選択

f:id:tomo_mana:20201231120352p:plain
Hierarchy

(4) Inspectorウィンドウ:名前欄(New Spriteと入力された欄)を編集する
(今回は Player という名前にする)

f:id:tomo_mana:20201231120419p:plain
Inspector

画像をリンクさせる

(5) Projectウィンドウから、キャラクター用に使用する画像の保存フォルダまで移動する
(今回はTiny RPG Forest を使用したため、キャラクターの正面立ち絵は以下のフォルダ:
 Assets > Tiny RPG Forest > Artwork > sprites > hero > idle > hero-idle-front > hero-idle-front.png
(6) Inspectorウィンドウ に 先ほど作成したゲームオブジェクトの情報が表示された状態で、(5)の画像を InspectorSprite Renderer > Sprite の欄にドラッグ&ドロップ

f:id:tomo_mana:20201231120543p:plain
Spriteへの画像のリンク

ただしこのままだと表示される画像が小さいので、画像を表示する大きさを変更します。

画像の設定を変更する

(1) Sprite に割り付ける画像をProjectウィンドウ上で選択すると、Inspectorウィンドウに画像の情報が表示されます。
(2) Sprite Mode 欄内の Pixels Per Unit 欄を 100 → 16 にして、変更を確定するため Projectウィンドウ内の欄内の空いているスペースをクリック

f:id:tomo_mana:20201231222520p:plain
Pixel Per Unit

(3) 以下の警告が出た場合は、Apply を選択

f:id:tomo_mana:20201231120621p:plain
Permission

画像の大きさが変更されました。

Pixels Per Unit の説明は以下のサイトも参考にしました。
さぁ、UnityのTilemapを始めよう! 3/8 ~Spriteの設定編~ - Qiita

キャラクターを動かす (#3, #5抜粋)

キャラクターを最低限動かすためのコードは、第3回、第5回を基にしています。
Unity学習#3 (Unity 2019.4.1f1) キャラクターを動かす - tomo_manaのブログ
Unity学習#5 (Unity 2019.4.1f1) 障害物と当たり判定 - tomo_manaのブログ

InputSystem の設定(第12回)が少し大変なので、最初はInputManagerを使って動かします。

C#スクリプトの作成

(1) ProjectウィンドウAssetsフォルダで右クリック
(2) NewBehaviourScriptという名前のスクリプトが表示されて、名前欄が選択された状態になっているため、Enterキーを押す前にスクリプト名を入力します。今回は PlayerControl.cs とします。(最初のEnterでスクリプトのクラス名が確定します。ファイル名とクラス名は後から変更できますが、ファイル名またはクラス名を変更したときは必ずもう片方もセットで変更します)
(3) 作成したスクリプトファイルをダブルクリックで開き、Update() 関数内を以下のように変更します。

PlayerControl.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerControl : MonoBehaviour
{
    // キー入力
    private Vector3 input = Vector2.zero;
    
    // 移動
    private float speed = 0.1f;
    
    // Start is called before the first frame update
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
        input.x = Input.GetAxis("Horizontal");
        input.y = Input.GetAxis("Vertical");

        if (input == Vector3.zero){
            return;
        }
        gameObject.transform.position = gameObject.transform.position + input * speed;
    }
}

C#スクリプトの割り付け

(4) Inspectorウィンドウ に 先ほど作成したゲームオブジェクトの情報が表示された状態で、Projectウィンドウ上にある (3)のコードを InspectorAdd Componentの少し上の隙間にドラッグ&ドロップ

f:id:tomo_mana:20201231120729p:plain
SpriteへのC#スクリプトの割り付け

動作確認 (#2抜粋)

Gameウィンドウ で動作確認します。
再生ボタンを押した後、キーボードの上下左右キーでキャラクターが動くか確認します。

ここまでの作業が終了したら、Ctrl+S でプロジェクトを保存します。

(以上)