Unityのスクリプトを実際に使ってみよう!

ゲームを作成する際に必ず必要になるのが、スクリプトです。今回は、Unityのスクリプトの注意点簡単なスクリプトを書いて実際に使ってみる方法などを紹介します。

スクリプトを作った際には、何らかのオブジェクトに付与するアタッチという作業が必要になるので注意しましょう。

 

今回はunityの画面構成などは知っている前提で説明しますので、こちらの記事を一度目を通していただくと安心です。

まずはここから!Unityの画面構成について学ぼう!

2018.09.05

スクリプトとは?

はじめに、スクリプトについて紹介します。

スクリプトは、ゲーム中のオブジェクトを動かすための台本のようなものです。Unityで使用されるスクリプトはC#(シーシャープ)というプログラミング言語を用いて記述されます。

スクリプトを習得するには、「読める・模写・自分で考える」という3つのステップが大切になります。

Unityのスクリプトの内容を理解しよう

続いて、Unityのスクリプトの内容について紹介します。

Unityのスクリプトを開くと、最初はこのように記述されています。

最初の1,2行目はUnity独自のクラスをパッケージとして使用するための記述であり、3行目はUnity を動かすために必要な機能を呼び出すための記述です。

初めはこれらを理解する必要はないので、Unityで使用するために必要な記述であるという認識で問題ありません。5行目の詳細に付いても今回は省略します。

実際に読み込まれるのは、StartやUpdateの{}内に記述された内容になります。また、私たちが実際に記述していくのは5行目の{から16行目の}までになります。

①と②で囲われた内容はそれぞれメソッドと呼ばれます。それぞれの違いを比較すると次のようになります。

①Startメソッド

スクリプトが起動した際、最初に一度だけ読み込まれる

②Updateメソッド

それぞれのフレームごとに繰り返し実行される

 

フレームというのは1秒間あたりの静止画数のことで、FPS(frames per secomd)という単位で表されます。シューティングゲームなどで30fpsや60fpsといった言葉を聞いたことはないでしょうか?

まずは、Startメソッドは一度だけ、Updateメソッドはフレームの数だけ繰り返し実行されるということを押さえましょう。

スクリプトはアタッチして初めて機能する

スクリプトは作成し、記述しただけではいくつファイルを作っても意味を持ちません。何らかのオブジェクトにスクリプトをくっつけるアタッチという操作が必要になります

例えば、主人公を動かすスクリプトを書いた際には主人公へ、カメラを移動するスクリプトを書いた際にはカメラへとスクリプトをアタッチする必要があります。

オブジェクトは必ずしも実際に存在する必要はなく、スクリプトをアタッチするためだけの空のオブジェクトというのも存在します。

スクリプトを書く際の注意点

スクリプトを書く際にはいくつかの注意点が存在します。スクリプトを書いていくと、最初は予期せぬエラーが発生しますが、こういったミスをしていないか注意して見てみましょう。

①スクリプトは半角で書く

スクリプトに記述する際の基本は、半角英数字になります。日本語で記述すると、後述のコメントと文字列型以外ではエラーが発生するので注意が必要です。

②大文字と小文字は区別される

スクリプトにおいては、大文字と小文字は区別されます。例えばスクリプトでは変数という箱を使用するのですが、「newBox」と「newbox」という二つの名前が付いた変数は別物として扱われます。

③行の終わりは「;(セミコロン)」

Unityの開発で用いるC#という言語では、行の終わりに「;(セミコロン)」を付けます。他のプログラミング言語を最初に学んでいた人は忘れがちなので気をつけましょう。

④コメントをうまく使う

コメントという機能を使用することで、スクリプトにプログラム以外の内容を記述することができます

コメントを残すことで、それがどういう意味をもったコードなのかを後から理解しやすくなります。また、複数人の開発ではコメントすることで他の人が何を書いてあるのかをわかりやすくすることが一般的です。

一行のコメントは行のはじめに半角スラッシュを二つ並べた「//」を使用します。また、複数行に渡ってコメントを記述したい場合には最初と最後を「/*(この中にコメントを書く)*/」で囲うように記述します。

一人で開発を行う際にも、後で理解しやすいようにコメントを残しておくことをおすすめします

⑤スクリプトの句切れは半角スペースを空ける

スクリプトにおいて、変数を使ったり計算をするという機会は非常に多いと思います。そういった場合に、変数や演算子の間は半角スペースを空けるという決まりがあります。

全角でスペースを空けるとエラーが生じてしまうので気をつけてください。

スクリプトを作成してみよう

それでは、ここから実際にスクリプトを作成して試してみましょう。今回は立方体を回転させるスクリプトを試してみます。

プロジェクトを作成しよう

まずはスクリプトを試す前に、Unityで新しいプロジェクトを作成します。

今回はUnity Hubで作成しますが、お使いでない場合は普段と同じように作成しても問題ありません。

もしUnity Hubでないと不安だという方は、こちらをご覧ください。

【2018年最新版!】これで解決?簡単にUnityの最新版をインストールしよう!日本語化についても解説!

2018.09.05
  1. 名前は「ScriptSample」など好きな名前で大丈夫です
  2. 今回は、バージョン5.6.5を使用しますが、おそらくどのバージョンでも問題ないです
  3. お好きな保存場所を選択してください
  4. 今回は「3D」にします

ここまで完了したら、最後に「Create project」をクリックしてください。AnalyticsもOFFで大丈夫です。

プロジェクトを立ち上げたら、シーンビュー上にキューブを配置します。

キューブの配置は簡単で、ヒエラルキーウィンドウ上で右クリックし、「3D Object」から「Cube」を選択します。

これでキューブの配置が完了しました。

スクリプトを作成してみよう

続いて、スクリプトを作成し、実際にスクリプトの内容を追加していきます。

スクリプトをするためには、プロジェクトウィンドウ上で右クリックし、「Create」から「C# Script」を選択します。

スクリプトを作成したら、ダブルクリックで開き、以下の内容に変更します。
今回は、実際にスクリプトを使ってみることがメインなので内容については説明を省略します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour {

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
        var position = new Vector3(1.0f,1.0f,1.0f);
        transform.Rotate(position);
	}
}

これで物体を回転させるスクリプトの作成ができました。

実際にオブジェクトにアタッチしてみよう

それでは作成したキューブを回転させるというスクリプトを、実際にキューブにアタッチしてみましょう。

アタッチの方法は簡単で、作成したスクリプトをドラッグ&ドロップで先ほど作成した「Cube」というオブジェクトの上で離すだけです。ドラッグしていくとCubeの周りが囲われるので、その後ドロップするようにしてください。

 

実際に上の再生ボタンを押してプロジジェクトを実行させるとこのような感じになります。再度、再生ボタンか右隣の一時停止ボタンを押すと回転が止まります。

まとめ

いかがでしたでしょうか?

今回は、Unityで使用するスクリプトの扱い方の基本について解説しました。スクリプトを開いた際、多くの内容が書いてあり戸惑うかもしれませんが、最初はStartメソッドとUpadateメソッドなどの違いなどの基本事項さえ覚えていれば問題ありません

徐々にスクリプトに慣れていきましょう。

オススメアプリ!渋谷で気軽に友達を作れるアプリが登場!