Unityで作る3D脱出ゲームの作り方を紹介している記事その23です。
僕が所属しているオンラインサロンの
先生である嶋津さんが作成された動画を
見ながら勉強した内容について、
「3D脱出ゲームの作り方」
としてまとめている記事になります。
その23となるこの記事では、
「アニメーションを制御する方法」
についてお伝えしています。
参考となる動画はこちらです。
【Unity3D】脱出ゲームの作り方 # 23アニメーションの制御
この動画で勉強すること
▶︎Plateをアニメーションで開けたり閉めたりする方法を学ぶ。
目標1
アニメーションを制御するコードを書く準備をする。
=>スクリプトを作成する。(Plate)
=>PlateParentにPlateスクリプトをつける。
目標2
アニメーションを行うためのコードを書く。
=>クリックすると、Plateが開く関数を作る(Open関数)
=>もう一度クリックすると、Plateが閉まる関数を作る。(Close関数)
目標3
クリックした時の処理を作る。
=>PlateにEvent Triggerをつける。
=>Event Triggerを設定する。
目標4
開けたり閉めたりするアニメーションの制御を行うコードを書く。
=>Plateスクリプトにコードを書く。
Plateスクリプトのコード
アニメーションの制御を行うために
作成したPlateスクリプトのコードは
以下となります。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Plate : MonoBehaviour
{
[SerializeField] Animator animator = default;
bool isOpen = false;
// やりたいこと
// ・クリックすると、Openする(Animater)
// ・もう一度クリックすると、Closeする(Animater)
public void OnClickObj()
{
if(isOpen)
{
Close();
}
else
{
Open();
}
}
void Open()
{
isOpen = true;
animator.Play("PlateOpenAnim");
}
void Close()
{
isOpen = false;
animator.Play("PlateCloseAnim");
}
}
アニメーションの制御で勉強したことのまとめ
3D脱出ゲームの作り方その23
「アニメーションの制御」で
勉強した内容についてのまとめです。
・Plateのアニメーション制御を
行うには、まずC#スクリプトを
作成し、PlateParentにつけます。
・そして、Plateスクリプトに
アニメーションを行うための
コードを書きます。
・次にクリックした時の処理を作成します。
・そして最後にPlateを開けたり
閉めたりするアニメーションを
制御するためのコードを書きます。
以上の作業を行なった後にPlateを
クリックすると、Plateが開閉する
アニメーションを行うようになります。
「アニメーションの制御」の目標は以上で達成です!