【Unity】公式のVisualScriptのローラーボールチュートリアルから実際に作ってみる

Unityには、C#でコーディングする方法とビジュアルスクリプティングでノーコードでゲームを作成する方法が提供されています

公式のチュートリアル

練習の進捗具合(どれくらい進めてかをポイントで管理できます)を自分のアカウントで管理できますので、ログインしてから進めましょう

ログインIDは、Unityアカウントになります
Unityをダウンロード実行するときに登録していると思います

シーンの構成

危険な壁に衝突した時の処理の違い

今回は、実際に公式のチュートリアルを通して違いをみていきましょう
次のケースは、赤色の壁(デンジャーウォール)にプレイヤーが接触した時の処理について作成されたメソッドです

C#コーディング

using UnityEngine;
using UnityEngine.SceneManagement;

public class DengerWallController : MonoBehaviour
{
    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            SceneManager.LoadScene(SceneManager.GetActiveScene().name);
        }
    }
}

OnTriggerEnterメソッド

このメソッドは、このスクリプトがアタッチされたゲームオブジェクトのコライダーが他のコライダーと接触したときに呼び出されるコールバックメソッドです。

条件文

if (other.CompareTag(“Player"))という条件文は、接触したコライダーが"Player"というタグを持つオブジェクトであるかどうかを確認しています。この条件が成立する場合、以下の処理が実行されます。

SceneManager.LoadSceneメソッド

このメソッドは、現在のシーンを再度読み込むために使用されています。具体的には、SceneManager.GetActiveScene().nameを使用して現在のシーンの名前を取得し、それをSceneManager.LoadSceneメソッドに渡しています。これにより、プレイヤーが"DengerWall"に接触した場合、現在のシーンが再起動されます。

ビジュアルスクリプティング

上記C#のコードと同様の動きをします
比較して違いをみてみましょう

プロジェクトの全て

おまけ

ビジュアルスクリプティングの条件は、前処理を先行して実行されると考えられます
次のように更新しても動作します

C#,Unity,Visual Scripting

Posted by hidepon