Scratch のブロックを Unity で再現するときに、どのような方法があるのかを紹介していきます。
ScratchのブロックをUnityで再現しよう
インストール
はじめて Unity に触る方もいると思いますので、Unity のインストールから行きます。
すでに、インストールしている方は飛ばしてください。
↓こちらのサイトから、Unity Hub をダウンロードしてインストールします。
Unity は複数バージョンインストールできます。
その Unity のバージョンを管理するのが Unity Hub になります。
Unity Hub をインストールして、起動したら、左側のメニューから「インストール」をクリックします。
「LTS」と書かれたUnity最新版をインストールするのがオススメです。
2023年6月時点では、Unty 2022.3.3f1 LTS が最新の LTS になります。
右上の「エディターをインストール」をクリックします。
最新 LTS をインストール。ここでは、2022.3.3f1 を選択しました。
「モジュールを加える」では、「Microsoft Visual Studio Community 2022」と「言語パック(プレビュー)」の「日本語」を選択しました。後から追加することも可能です。
「インストール」ボタンを押して、しばらくするとインストール完了です。
プロジェクトの作成
Scratch が2Dなので、2Dのプロジェクトを作成します。
Unity Hub の「プロジェクト」から「新しいプロジェクト」をクリックします。
「2D(URP)」を選択します。
「プロジェクト名」と「保存場所」を決めます。
「プロジェクトを作成」をクリックして、しばらく待つとプロジェクトが作成されます。
10歩動かす
Scratch の「10歩動かす」ブロックを Unity で作ってみましょう。
三角形の配置
三角形を配置します。
Hierarchyビューを右クリックして、「2D Object」→「Sprites」→「Triangle」を選択します。
MoveTriangleコンポーネントの追加
Triangleにコンポーネント(機能)を追加します。
コンポーネントはC#プログラムになっています。
Hierarchyビューの Triangle を選択して、Inspectorビューの「Add Component」ボタンをクリックします。
コンポーネントの名前は自由に付けられます(今回は MoveTriangle にします)。
Inspectorビューの MoveTriangleコンポーネントの Script をダブルクリックするか、あるいは、Projectビューの MoveTriangle をダブルクリックすると、Visual Studio が起動して C#スクリプトを編集できるようになります。
Rigidbody2Dコンポーネントの追加
Triangle を動かすために Rigidbody2Dコンポーネントを追加します。
Rigidbody2Dコンポーネントは、ゲームオブジェクトを物理的な挙動で動かせるようになる機能を持っています。
10歩動かすプログラムを書く
それでは、さきほどの MoveTriangleコンポーネントに C#プログラムを記述して、10歩動かしてみましょう。
Start()メソッドに4行追加しました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveTriangle : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
Rigidbody2D rRigidbody2D = GetComponent<Rigidbody2D>();
if (rRigidbody2D != null) {
rRigidbody2D.MovePosition(new Vector2(10f, 0f));
}
}
// Update is called once per frame
void Update()
{
}
}
動かしてみる
最初はプログラムの意味が分からなくても大丈夫です。
とりあえず、動かしてみましょう。
保存しないと反映されないので、プログラムを編集したら忘れずに保存しましょう。
Unity 上部の真ん中にある再生ボタンを押すと動き出します。
三角形が右に10動いた状態で開始します。
Rigidbody2Dコンポーネントで重力の影響を受けるようになっていますので、三角形が下に落ちていきます。
まとめ
Scratch の「10歩動かす」ブロックと同じ動きを Unityで作ってみました。
Triangle(ゲームオブジェクト)に Rigidbody2Dコンポーネントを追加して、ゲームオブジェクトを動かす機能を付けました。
MoveTriangleコンポーネントを新しく作成し、10歩動かすプログラムを追加してみました。
Unity が提供しているコンポーネントの機能を覚えて、C#プログラムで動かせるようになると、いろいろなゲームなどを作れるようになります。
コメント