Unity体験 第3回 ~初めてプログラムで動かしてみよう~
はじめに
これまでは、Unityエディターの操作だけでゲームの世界を作ってきました。
今回は、初めてC#のプログラムを書いてみます。
たった数行のプログラムでも、オブジェクトが動きます。
今日は「プログラムを書くと画面が動く」という体験を楽しみましょう。
今日の目標
今日は次のことを体験します。
- C#スクリプトを作成する
- Cubeにスクリプトを付ける
- PlayするとCubeが動く
- 数値を変更して動き方を変える
① C#スクリプトを作ろう
Projectウィンドウで
Create → Scripting → MonoBehaviour Script
を選択します。
名前を
MoveCube
に変更します。
ダブルクリックすると、Visual Studioが起動します。
② プログラムを書いてみよう
次のように書いてみます。
using UnityEngine;
public class MoveCube : MonoBehaviour
{
void Update()
{
transform.Translate(0, 0, 0.01f);
}
}
保存したらUnityへ戻ります。
③ Cubeへスクリプトを付けよう
HierarchyからCubeを選択します。
Projectウィンドウにある
MoveCube
をCubeへドラッグ&ドロップします。
これでCubeにプログラムが設定されました。
④ Playしてみよう
Playボタンを押してみましょう。
Cubeが少しずつ前へ進みます。
たった数行のプログラムで、オブジェクトが動きました。
⑤ 数値を変えてみよう
例えば
transform.Translate(0, 0, 0.05f);
に変更すると、
Cubeはもっと速く動きます。
逆に
transform.Translate(0.01f, 0, 0);
にすると横へ動きます。
いろいろ試してみましょう。
Updateとは?
Update()は、ゲームが動いている間、何度も繰り返し呼ばれるメソッドです。
そのため、
transform.Translate(...)
も何度も実行されるため、Cubeが少しずつ動いて見えます。
transformとは?
transformは、
オブジェクトの
- 位置(Position)
- 回転(Rotation)
- 大きさ(Scale)
を管理しているものです。
今回は、その中の「位置」を変更しました。
Translateとは?
Translateは
「移動する」
という意味です。
transform.Translate(0, 0, 0.01f);
は
「毎回少しだけ前へ進む」
という命令になります。
今日のまとめ
今日は初めてC#を書きました。
今日体験したこと
- ✅ C#スクリプトを作成した
- ✅ Cubeへスクリプトを付けた
- ✅ プログラムでCubeを動かした
- ✅ 数値を変更して動きを変えた
最後に
今日書いたプログラムは、とても短いものでした。
しかし、この数行だけでもゲームの世界を動かすことができます。
3か月後のUnityの授業では、今日体験した内容をさらに発展させ、プレイヤーを操作したり、ゲームを完成させたりしていきます。
今日は、「自分の書いたプログラムで画面が動いた!」という体験を持ち帰ってください。



ディスカッション
コメント一覧
まだ、コメントがありません