Scratch のブロックを Unity で再現するときに、どのような方法があるのかを紹介していきます。
ScratchのブロックをUnityで再現しよう
1秒でどこかの場所へ行く
Scratch の「1秒でどこかの場所へ行く」ブロックを Unity で作ってみましょう。
準備
「動き②」と同様に三角形を配置してMoveTriangleスクリプトを用意します。
DOTweenをインポートする
今回のように時間をかけて移動するときは、DOTweenを使うと簡単に作れます。
Asset Store から DOTween をインストールします。
Asset Store からダウンロードして「Unityで開く」をクリックします。
Package Manager に追加された DOTween を選択して「Import」をクリックします。
アセットの中身を確認して「Import」をクリックします。
「Open DOTween Utility Panel」をクリックして DOTween Utility Panel を開きます。
「Setup DOTween」をクリックして、「Apply」をクリックします。
これで DOTween が使えるようになりました。
どこかの場所へ行く
それでは、MoveTriangleコンポーネントに C#プログラムを記述して、どこかの場所へ行くようにしてみましょう。
プログラムを作成後、画面上部の再生ボタンを押すと、三角形がランダムな場所に移動します。
using UnityEngine;
public class MoveTriangle : MonoBehaviour {
void Start() {
transform.position = new Vector3(Random.Range(-5f, 5f), Random.Range(-3f, 3f), 0f);
}
}
x座標を0、y座標を0にする
次は、x座標とy座標を指定して移動させましょう。
ここでは、x座標に -2、y座標に 1.5 を指定しています。
using UnityEngine;
public class MoveTriangle : MonoBehaviour {
void Start() {
transform.position = new Vector3(-2f, 1.5f, 0f);
}
}
1秒でどこかの場所へ行く
次は、1秒でどこかの場所へ行くようにしましょう。
ここで DOTween を使います。
using UnityEngine;
using DG.Tweening;
public class MoveTriangle : MonoBehaviour {
void Start() {
transform.DOMove(new Vector3(Random.Range(-5f, 5f), Random.Range(-3f, 3f), 0f), 1f);
}
}
1秒でx座標を0、y座標を0にする
最後に、1秒で指定した座標まで移動させましょう。
ここでは、x座標に -2、y座標に 1.5 を指定しています。
using UnityEngine;
using DG.Tweening;
public class MoveTriangle : MonoBehaviour {
void Start() {
transform.DOMove(new Vector3(-2f, 1.5f, 0f), 1f);
}
}
プログラムのちょこっと解説
今回は「1秒でどこかの場所へ行く」ために、DOTween というアセットを使ってみました。
Unity にもともと用意されている機能以外にも、Asset Store などで提供されているアセットを使うと、新しい機能を使えるようになります。
Asset Store には画像や3Dモデルなどもありますので、面白そうなものを探して使ってみましょう。
まとめ
Scratch の「1秒でどこかの場所へ行く」ブロックと同じ動きを Unityで作ってみました。
DOTween は、オブジェクトをアニメーションさせるのに便利な機能が用意されています。
DOTween のドキュメントを見て、他にどのような機能があるのか調べてみてもいいですね。
Unity に機能を追加して、さらに面白いゲームを作れるようになりましょう。
コメント