Developer

【Unity実践】#6 ユニティちゃんを走らせる【ランゲーム】
2021.09.05
Lv2

【Unity実践】#6 ユニティちゃんを走らせる【ランゲーム】

今回の内容

前回はコース上をキューブが走るように実装しました。
今回の記事では、キューブをユニティちゃんに置き変えたいと思います!

※初めての方はこちらから
【第1回記事】導入とサンプルの紹介

ユニティちゃんのインポート

ユニティちゃん公式ページから3Dモデルデータをダウンロードします。
ダウンロードページ

ダウンロードしたパッケージをインポートします。
Assets > Import Package > Custom Package からインポートしてください。

インポートすると以下のようなコンパイルエラーが出るので修正します。

エラーメッセージをダブルクリックすると AutoBlink.cs がエディタで開くので、
エラーの出ている行をコメントアウトします。(8行目をコメントアウト)

ファイルを保存して、コンソールのエラーが消えていれば成功です。

ユニティちゃんを配置

シーンにユニティちゃんのモデル(下記)を配置します。
Assets > UnityChan > Models > unitychan

その際、MovementBase の子要素となるように配置します。

続けて下記の操作を行ってください。
・unitychan の名前を Player に変更
・タグを Player に変更
・位置を(0, 0, 0)に変更

ここまでで一旦、プレハブ化しておきます。(ProjectビューでPrefabsフォルダにドラッグ&ドロップ)

MovementBase の子要素としていたCubeは非表示としておきます。

アニメーターの作成

ユニティちゃんのアニメーターを作成します。
Projectビューで Assets直下に Animationsフォルダを作成し、
その中に新規アニメーターコントローラーを作成してください。
名前は PlayerAnimController とします。

Animatorビューで PlayerAnimController を開いて、
下記のアニメーションをドラッグ&ドロップで配置します。
・Assets > UnityChan > Animations > unitychan_WAIT00 > WAIT00
・Assets > UnityChan > Animations > unitychan_RUN00_F > RUN00_F

下図の遷移として下さい。

Bool型のパラメータ「IsRunning」を追加します。

遷移条件を以下の通り設定します。
① WAIT_00 ⇒ RUN00_F

② RUN00_F ⇒ WAIT_00

後々はさらに遷移を追加しますが、待機と走るアニメーションが設定できたので一旦アニメーターの作成は完了です。

PlayerAnimController を Playerプレハブに設定しておきましょう。

アニメーションを再生する

最後にプレイヤーにスクリプトを作成して、走るアニメーションが再生されるようにします。
Assets > Scripts フォルダに新規スクリプトを作成して、名前は PlayerScript とします。
以下を記述してください。

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

public class PlayerScript : MonoBehaviour
{
    Animator animator;

    bool isRunning;

    void Start()
    {
        animator = GetComponent<Animator>();
    }

    void Update()
    {
        isRunning = true;
        animator.SetBool("IsRunning", isRunning);
    }
}

後々の変更に備えて、PlayerScript側に用意した isRunning の値をアニメーターに伝える実装となっています。
このスクリプトを Playerプレハブにアタッチしたら、シーンを再生しましょう。

ユニティちゃんが経路に沿って、走っていれば成功です。

(関連記事)
アニメーションの遷移を検証①

おわりに

プレイヤーとしてユニティちゃんを配置したので全体の見た目はかなり良くなってきましたが、
カメラが追従していなかったり、スワイプによる操作ができていなかったりやることは多く残っています。

次回以降でこの辺りの実装を進めていきたいと思います!

 

 
関連リンク ➡ 「初心者のための」Unityゲーム制作 目次

© Unity Technologies Japan/UCL