[第3回] C#スクリプトの作成・実行方法を学ぶ|Unityで学ぶC#入門
「Unityで学ぶC#入門」の連載第2回は「Unityのセットアップ・使い方を学ぶ」でした。
第3回の今回はC#スクリプトの作成・実行方法についてご紹介していきます。
連載3回目にしていよいよプログラミングをスタートしていきます。はじめは難しく感じることもあると思いますが、少しずつレベルアップしてC#およびオブジェクト指向プログラミングについて学んでいきましょう。
C#スクリプトを作成する
プロジェクトの作成
UnityでC#スクリプトを作成する方法をご紹介します。
Unityでプロジェクトを作成して、以下のような画面まで進めてください。
↓「Default」の画面
本記事ではレイアウト「2 by 3」を使用しますので、もし気になる方はレイアウトを変更して進めてください。
レイアウトの変更方法は連載第2回の記事でご紹介しています。
C#スクリプトの作成
ではここからC#スクリプトの作成方法をご説明していきます。
まずはじめにプロジェクトウィンドウにある以下赤枠「Assets」フォルダを選択してください。
↓Assetsを選択
次にプロジェクトウィンドウ左上にある「Create」→「C#Script」を選択してください。作成したスクリプトの名前を「Test」としてください。
↓C#Scriptを選択してC#スクリプト「Test」を作成する
これでC#スクリプトの作成は完了です。
C#スクリプトの構造
作成したC#スクリプトの構造について解説していきます。
スクリプトの開き方から具体的な中身まで丁寧にご説明していきます。
VisualStudioセットアップ確認
作成したC#スクリプトの中身をVisualStudioで確認していきます。
連載第2回の記事を参考にUnityをセットアップしてくださった方は、Unityにプラスして「VisualStudio」のセットアップも完了していますのでご安心ください。
もしUnityのセットアップは完了してるけどVisualStudioのセットアップはできていない!という方がいらっしゃいましたら、Unityのいインストーラを再度開いていただき、取得するコンポーネントでVisualStudioのみにチェックを入れてインストールすれば問題ありません。
C#スクリプトの開き方
C#スクリプトを開いて中身を確認していきます。
VisualStudioのセットアップまで完了していれば、方法は非常に簡単です。
プロジェクトウィンドウで先ほど作成したTestスクリプトをダブルクリックしてください。
すると、VisualStudioが立ち上がって、スクリプトを確認、編集することができます。
↓このような画面が開けば問題ありません
C#スクリプトの構造
ではここから具体的な構造について確認していきましょう。
Unityで作成したC#スクリプトにはデフォルトでコードが記述されています。このように作成したときにコード自動生成してくれる環境もあります。
作成したスクリプトには以下のようなコードがすでに記述されています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } } |
上から順に確認していきましょう。
usingディレクティブ
1 2 3 |
using System.Collections; using System.Collections.Generic; using UnityEngine; |
現段階で詳しく理解する必要はありません。あくまでC#スクリプトを記述するときに書いておかなければいけないもの程度の認識で構いません。
クラス定義
1 2 |
public class Test : MonoBehaviour{ } |
クラスとは機能の設計書のようなものです。クラスをC#ではこのように定義します。
ここではパブリックなTestクラスをMonoBehaviourを継承して定義しています。これも現段階ではC#を書くためのルールと思っていただければ構いません。後ほどの連載でアクセス制御やクラス、継承について詳しく触れていきます。
Start関数
1 2 3 |
// Start is called before the first frame update void Start(){ } |
現段階では通常のMain文に代わるものという認識で構いません。連載ではこのStart関数の中に処理を記述していきます。
また、関数ってなに?と思う方もいらっしゃると思いますが、ここでは難しく考えずに、Start関数は自分が実現したい処理を書くためのノートくらいの感覚で問題ありません。
関数についても後ほどの連載で詳しく触れていきます。
Update関数
1 2 3 |
// Update is called once per frame void Update(){ } |
簡単にいうと常に呼び出され続ける関数です。Unityでのゲーム開発においてとても便利な関数です。
序盤ではUpdate関数は使用しませんが、後ほどゲーム開発と絡めてC#を勉強するときに使用しますので乞うご期待ください。
C#スクリプトの実行
スクリプトの記述
それでは実際にコードを記述してプログラミングの第一歩を踏み出しましょう。
まずはじめにStart関数のなかに以下の一文を記述してください。
1 |
Debug.Log("Hello World"); |
「Debug.Log()」でCUI(キャラクターユーザーインターフェース)出力ができます。CUIとは、文字のみの出力のことです。UnityではコンソールでこのCUI出力を確認できます。
↓全体はこのようになります(Update関数は削除してあります)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour { // Start is called before the first frame update void Start() { Debug.Log("Hello World"); } } |
「;」セミコロンは文の終わりを意味します。セミコロンを忘れるとエラーになりますのでご注意ください。
また「{}」大括弧はそれ自体で終わりを意味することができるのでセミコロンが必要ありません。
ここまで記述することができたら、実際に実行していきます。
コンソールウィンドウの開き方
Unityの画面に戻ったら「コンソール」と呼ばれるウィンドウを開きます。
メニューバーの「Window」→「General」→赤枠「Console」を選択してください。
選択すると以下のようなウィンドウが現れます。
↓コンソールウィンドウ
これでコンソールの準備は完了です。
ゲームオブジェクトの作成
次にゲームオブジェクト(GameObject)を作成します。UnityではゲームオブジェクトにC#スクリプトを取り付けることでプログラムを実行することができます。
詳しい仕組みについて理解する必要はありませんが、もしゲーム開発に興味があれば以下記事もぜひご参考ください。
参考記事)Unityの基本的な使い方
ヒエラルキーウィンドウ左上のCreate→赤枠「CreateEmpty」を選択してください。
↓ヒエラルキーウィンドウに新しい「GameObject」が作成される
スクリプトの設置
スクリプトを先ほど作成したゲームオブジェクトに設置します。
方法はとても簡単で、先ほど作成したTestスクリプトをプロジェクトウィンドウで選択してヒエラルキーウィンドウにあるGameObjectにそのままドラッグ&ドロップすれば完了です。
↓ドラッグ&ドロップによる方法
実行・結果の確認
それでは実際に実行して確認してみましょう。
Unityでは真ん中上部にある再生ボタンを押すことで実行することができます。
↓実行結果
コンソールに「Hello World」が出力されたのが確認できました。
エラーが出力された場合
ここまでの作業を進めて実行したときにエラーが出力されてしまった方がいらっしゃるかもしれません。
考えられるエラーの原因・解決策を以下にまとめておきましたので、改善してみてください。
- 原因:作成したスクリプトの名前とスクリプトに記述してあるクラスの名前が違う
- 解決策:スクリプトの名前をTest、スクリプト内クラス定義の記述を「public class Test」にする
- 原因:スクリプトがゲームオブジェクトに適切に設置できていない。
- 解決策:一度作成したオブジェクトを右クリックで選択して「Delete」、改めて作成し直す。
- 原因:スクリプト内の大括弧の数があっていない
- 解決策:大括弧の数を確認して直す
- 原因:スクリプト内のDebug.Log()のセミコロン記述忘れ
- 解決策:セミコロンを書く
まとめ
いかがでしたでしょうか。
現段階では、C#スクリプトの作成方法と実行方法をご理解いただいていれば問題ありません。
最初はUnityとC#どちらも並行してキャッチアップしていかなければならないので大変かと思いますが、UnityについてもC#についても徐々に慣れていってもらえれば問題ありません。ご自身のペースに合わせて進めてみてください。
続けて第4回の記事に読む方はこちらをクリック
他の回の記事について気になる方はこちらをクリック
この記事はいかがでしたか?
もし「参考になった」「面白かった」という場合は、応援シェアお願いします!