【Unity入門】Unity上でC#を使おう!基礎部分を一覧まとめ

今回はUnityの基礎中の基礎。スクリプトのC#について見ていきたいと思います。

まずはC#を選ぶメリットなどについて見ていきましょう。

続けてUnity内でのC#の使い方と、オブジェクトの移動などの初心者が最初にやりたくなることを実例ベースで順に見ていきましょう! 初心者向けに、1から簡単にまとめてあるので初心者必見ですよ!

この記事では以下の項目をご紹介致します。

  • [基本] Unityではc#を使えばいいの?
  • [基本] Unityでc#を使ってみよう!
  • [基本] 基本を覚えよう!
  • [応用] オブジェクトを操作しよう!
  • [応用] c#自体についてもっと詳しくなろう!

Unityではc#を使えばいいの?


画像:Shutterstock

Unityでスクリプトを組む場合、現行3つ選択肢があります。

それは「C#」「JavaScript」「Boo」の3言語です。

どれを使うべきか迷っている人もいると思いますので、それらの特徴を一言ずつで見てみましょう! (と言っても現状はほぼC#一択となっていることを最初に説明しておきます。)

C#はどう?

一つ目は言わずと知れたC#です。

Unityで使用できる一番メジャーな言語です。

自分が会社に勤めていたプロジェクトもUnityではC#を使用していました。実践として使うにしても、勉強として使うにしてもC#が一番無難かつ正しい選択肢です。

専門知識いらず!C#とは?言語の特徴やメリットを網羅的に徹底解説
更新日 : 2019年7月2日

JavaScriptどう?

昔はUnityではJavaScriptも使用可能でした。

しかし現行の最新版では、もうUnity上から新たに生成はできません。(使用自体は可能ではあるようです)

あえて「Unityの昔のバージョン」を使うことにして、JavaScriptで開発することも可能ではありますが……。そもそもUnity上で使用できるJavaScriptは別名UnityScriptと呼ばれていてJavaScriptとは少し違いがあるため、普段JavaScriptを使用している人も苦戦必須です。

JavaScriptとは?初心者向けに概要や使い方をわかりやすく解説
更新日 : 2019年9月10日

Booはどう?

BooというPythonベースの言語が存在します。

しかしこちらもJavaScriptと同じく、最新版では新規作成は不可能です。作成できないだけで使用自体は可能ですがいつサポートが終了するかもわからないので使用は避けたほうが良いでしょう。

C#がオススメ!

一通り言語を見てきましたが、現状ではC#一択と言えるでしょう。

ぜひC#を選びましょう。こちらの記事でも、スクリプト部分はC#で説明を進めていきます。

Unityでc#を使ってみよう!

それでは早速Unity上でC#を使ってスクリプトを組んでみましょう!

Unityでスクリプトを実行するには「存在するオブジェクトを作り、それにスクリプトを紐付ける」流れを取る必要があります。

そのため、まずはオブジェクトを作るところから説明してきます。

オブジェクトを作ろう

Unityではスクリプトは、基本的にオブジェクトに持たせることになります。

今回動かすスクリプトを、所持させるオブジェクトを準備しましょう!

unity-c-1

「Hierarchyウィンドウ上で右クリック→3D Object→Cube」を選択し、四角いオブジェクトを作成しましょう。

unity-c-2

四角いオブジェクトが画面に表示されましたね!

スクリプトを作ろう

次は先ほど作ったオブジェクトに、スクリプトを追加しましょう。

unity-c-3

①作成できたら作成したCubeをHierarchyウィンドウ上から選択しましょう。

②Inspectorウィンドウ上に、Cubeオブジェクトの詳細が表示されますのでAddComponentボタンを押しましょう。すると小さなウィンドウが表示されます。

③選択肢から「NewScript」を選び、クラス名は「MyObject」にして「Create And Add」ボタンを押しましょう。

これでスクリプトの作成と追加は完了です!

スクリプトを書いてみよう!

作ったファイルをProjectウィンドウ上からダブルクリックしましょう。もしくは先ほどのCubeオブジェクトにひも付けたファイルをダブルクリックでも開けます。

開くと以下のプログラムが最初から記述されていると思います。

まずは何も考えずに以下のように記述し直してみてください。

追加されたのは以下の部分だけです。

この行だけ追加たら次へ進みましょう!

実行してみよう!

では実行してみましょうか。

unity-c-4

実行時に、ちゃんとログが表示されていますね!

おさらいしましょう。

① オブジェクトを作る
② C#のスクリプトファイルを作り、オブジェクトに持たせる
③ スクリプトを記述する
④ 実行する

今まではこのようなことを行いました。

詳細は後ほど説明するとして、基本的にプログラムを動かすにはこの流れになることを忘れないようにしましょう!

基本を覚えよう!

先ほど見たプログラムの詳細を少し見てみましょう。

using部分について

まずはプログラムの頭の部分です。

usingとは指定した名前空間を使用可能にする仕組みです。

今回はusingを使用して「System.Collections」「System.Collections.Generic」「UnityEngine」の3つの名前空間を使用できるようにしています。

今は気にしなくても問題貼りませんが、新しく何かを学ぶ際に、別の名前空間を使用することもあるでしょう。その場合は、また別の名前空間をusingすることになるでしょう。

クラスの宣言について

クラスの宣言をしています。

Unityで作成され、オブジェクトに紐づくクラスは基本的に「MonoBehaviour」を継承することになります。

またクラス名とファイル名は同じでなければなりません。違うとオブジェクトに追加する際にエラーが出ますので注意してください。

初期化関数について

Start関数はこの処理が紐付いているオブジェクトが生成された時に、1度だけ呼ばれる関数です。

変数の初期化処理などを書きましょう。

更新関数について

Update関数は、このスクリプト紐付いているオブジェクトが存在する限り呼ばれ続けてくれます。常に回し続ける必要のある一部キー入力関連や、オブジェクトの移動などはここで行うことになります。

また以下のリンクで詳細を説明しています。

【Unity入門】Updateメソッドとは?FixedUpdateとの違いも徹底解説!
更新日 : 2018年12月18日

ぜひ読んで理解を深めておきましょう。

ログの表示について

Debug.Log関数を使用することで、ログを表示できます。

変数の中身を表示することもできるので、デバッグで重宝しますよ!

ぜひ最初に覚えておきましょう。

以下のリンクで詳細を説明しています。

【Unity入門】Debug.Logを完全攻略!使いこなせばこんなことまで!?
更新日 : 2018年12月19日

○○を実現しよう!

ここまででオブジェクトを作り、それにプログラムを紐付けるという「プログラムを書くための準備」は整い始めていると思います。

ここから先は、Unityでよく使うプログラムの実例を紹介していきます。それぞれプログラムを書き始めた時に重要となる項目をピックアップしているので、まず一通り網羅しておくことをお勧めします。

移動・回転・拡縮してみよう!

移動や回転・拡縮については、Transformをまず学ぶ必要があります。

Transofrmの基礎と、それを使った移動・回転・拡縮を以下の記事にまとめてありますので、早めに覚えておくことをお勧めします。

【Unity】transformを使いこなす!座標・回転など自在に操作しよう!
更新日 : 2018年12月18日

オブジェクトを取得

オブジェクトをプログラム上から探すにはFind関数で検索をするのが手っ取り早い手段です。

まずはこれだけ覚えておけば存在する大半のオブジェクトは取得することが可能になります。効率などを突き詰めればまだまだ覚えることは多いですが……。

Find関数は、ぜひ最初に覚えておきましょう。

【Unity入門】3分でわかるオブジェクト検索方法!Findを使いこなせ!
更新日 : 2018年12月19日

乱数を使おう!

例えば特にゲームを作るなら、乱数は欠かせない要素でしょう。

例えばジャンケンをするだけのプログラムでも、何の手を出すかはランダムに決めなければつまらないですよね。

乱数は以下の記事にまとめてあります。

ぜひ読んでおきましょう。

【Unity入門】知らないでは済まされない!?乱数の使い方(Random)
更新日 : 2018年4月24日

オブジェクトを生成しよう!

【Unity入門】Instantiateを使いこなそう!使い方・使用例まとめ!
更新日 : 2019年5月28日

オブジェクトをプログラムから生成したい場合は、こちらの記事が参考になります。

また上級者向けの内容となるので、初心者の方は今回スルーしていただいても問題ありませんが、リソースからプレハブを読みこみオブジェクトを生成する方法もあります。

それにはプレハブを理解する必要があるため、以下の記事から理解を深めておきましょう。

【Unity入門】オブジェクトを動的生成!prefabを使いこなそう!
更新日 : 2019年5月13日

オブジェクトを削除しよう!

削除は生成と対になる重要な要素です。

生成を覚えたら合わせて削除も覚えておきましょう。

【Unity入門】Destroyを完全攻略!初心者必見の便利テクも一覧まとめ
更新日 : 2018年5月22日

まとめ

今回はUnityでのC#の使い方を学んできました。

Unity上で、C#でプログラムを動かすには、オブジェクトを作りそれに紐付ける必要があります。

そのことさえ理解してしまえば、あとは実現したいことを学んで実装していくだけですね!

ぜひいろいろなことを学び実践してみてください。

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

sato

sato

学生時代を含めると、かれこれ10年以上プログラマーとして過ごしています。
様々な言語や環境、プロジェクトに関わってきましたので、より実践的な記事をみなさんにお届きるよう情報発信していきます!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説