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の授業では、今日体験した内容をさらに発展させ、プレイヤーを操作したり、ゲームを完成させたりしていきます。

今日は、「自分の書いたプログラムで画面が動いた!」という体験を持ち帰ってください。

訪問数 20 回, 今日の訪問数 20回

広告

Unity

Posted by hidepon