Unityで3D脱出ゲーム

Unity 3D脱出ゲームの作り方その10:ズームオブジェクトを回転させる方法

2020年12月13日

Unityで作る3D脱出ゲームの作り方を紹介している記事その10です。

僕が所属しているオンラインサロンの
先生である嶋津さんが作成された動画を
見ながら勉強した内容について、

3D脱出ゲームの作り方

としてまとめている記事になります。

その10となるこの記事では、

アイテムをズームした時のズームオブジェクトを回転させる方法

についてお伝えしています。

参考となる動画はこちらです。

【Unity3D】脱出ゲームの作り方 # 10ズームオブジェクトの回転

Udemyの場合は、
セクション6の52

「アイテム回転の実装#1 簡易実装」

セクション6の53

「アイテム回転の実装#2」

セクション6の54

「アイテム回転の実装#3 バグの修正」

の内容です。

スポンサーリンク

この動画で勉強すること

▶︎ズームオブジェクトを回転できるようにする。

目標1

ズームオブジェクトを回転させる
処理を書くC#スクリプトを用意する。

=>ItemRotationスクリプトを作成する。

目標2

ズームアイテムを回転させる処理を作る。

=>ItemRotationスクリプトにコードを書く。

目標3

マウスをクリックした時にだけ回転させるようにする。

=>ItemRotationスクリプトの編集をする。

目標4

ズームアイテムが回転する方向などの修正を行う。

=>ItemRotationスクリプトの編集をする。

ItemRotationスクリプトのコード

ズームオブジェクトを回転させる
ために作成したItemRotationの
コードは以下となります。

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

public class ItemRotation : MonoBehaviour
{
    [SerializeField] Transform parent = default;
    float k = 500f;

    // ドラッグで回転させる
    void Update()
    {
        if (Input.GetMouseButton(0))
        {
            float x = -Input.GetAxis("Mouse X") * Time.deltaTime * k; //回転する角度x
            float y = Input.GetAxis("Mouse Y") * Time.deltaTime * k;  //回転する角度y
            //transform.Rotate(x, y, 0);
            //RotateAround(中心, 軸, 回転する角度)
            transform.RotateAround(transform.position, Quaternion.Euler(parent.rotation.eulerAngles) * Vector3.up, x);
            transform.RotateAround(transform.position, Quaternion.Euler(parent.rotation.eulerAngles) * Vector3.right, y);
        }
    }
}

ズームオブジェクトの作成で勉強したことのまとめ

3D脱出ゲームの作り方その10
「ズームオブジェクトの作成」で
勉強した内容についてのまとめです。

ズームオブジェクトの回転を
 するには、まずC#スクリプトの
 作成をします。

次に、ズームアイテムを回転させる
 処理を行うコードを書きます。

そして回転の方向を修正する
 コードを書きます。

今回の内容を実践してPlayボタンで
実行すると、

ズームオブジェクトをマウスで
ドラッグすることで回転させることが
できるようになります。

ズームしたアイテムを回転させる画像1

以上で「ズームオブジェクトの回転」
の目標は達成です!

スポンサーリンク

-Unityで3D脱出ゲーム