Unity C#プログラミング入門講座 初心者でも挫折しない | Unity入門の森 ゲームの作り方

Unity C#プログラミング入門講座 初心者でも挫折しない

Unity C#プログラミング入門講座 初心者でも挫折しない Unity C#入門講座

この講座は、Unity C#の初心者向けプログラミング入門講座です。

挫折しない!を合言葉に丁寧にUnityC#の解説を行っていきます。

Unityを用いたゲームプログラミングなどに必須の知識が身に付く講座です。

全21回の本格的なUnity C#プログラミング入門講座を制作しました。

ぜひ読んでみてください^^

第1回 Unity C#言語とは

C# Logo

講座の第1回では、ゲームプログラミングを行う上で必要なUnity、そしてそのUnityを動かすためのC#言語について俯瞰的に解説しています。

UnityC#を学ぶことでどんなコンテンツが作れるようになるのかもバッチリ解説。

また、C#を習得するとUnityを用いたゲーム開発はもちろん、Webアプリやモバイルアプリ、VRやMRなど様々なアプリケーションが開発できるようになります。

オブジェクト指向プログラミング言語の一つであるC#を学ぶメリットもわかります。

第1回 Unity C#言語とは

第2回 C#スクリプトの構造とは スクリプトの作成と実行方法

スクリプトをアタッチ(Inspectorから)の画像

この回ではUnityの画面の操作法やC#スクリプトを作って動かす実際のC#プログラミングを学ぶことができます。

制作途中の操作画面を多数キャプチャして解説しているので初心者さんでも安心。目で見て、手で実際に動かしてUnity C#スクリプトを作成してプログラミングできるようになります。

  1. スクリプトを作成
  2. 作成したスクリプトをコンパイルエラーなしになるように編集
  3. 編集したスクリプトを適当なGameObjectにアタッチする

こうした一連のUnityとC#を用いたプログラミング流れを習得することができます。

第2回 C#スクリプトの構造とは スクリプトの作成と実行方法

第3回 コンパイルエラーの種類と対処法について

コンパイルエラーの解説の画像

第3回ではプログラミングに付き物であり、初心者にとっての難関である「コンパイルエラー」の処理方法について学びます。

初心者が起こしやすいコンパイルエラーとその対処法についていくつか解説しています。

第3回 コンパイルエラーの種類と対処法について

第4回 変数と型の使い方 宣言や代入・型変換について

変数には型と名前が必要になるの画像

C#プログラミングにおいて重要な変数を扱います。

変数を使う前の変数宣言や初期化の方法、変数の扱い方、変数の型などについて学んでいきます。

整数を使いたい場合はint, 実数を使いたい場合はfloat, 文字列を使いたい場合はstring。

「型」はプログラミングの世界ではとても重要なのでしっかり学んでいきましょう。

第4回 変数と型の使い方 宣言や代入・型変換について

第5回 演算子の使い方をマスターしよう(算術、比較、論理、代入、条件演算子)

演算子についての画像

第5回では演算子について解説していきます。

演算子は簡単に言うと、足し算、掛け算、引き算、割り算などを意味する記号ですね。

プログラミングする上ではこうした四則演算以外でも演算子を利用することがあります。

代入、算術、比較演算子だけでなく、論理演算子やビット演算子などについても解説します。

第5回 演算子の使い方をマスターしよう(算術、比較、論理、代入、条件演算子)

第6回 制御文の使い方1 if文・ switch文での条件分岐

条件式についての画像

今回は制御文を利用した条件分岐の使い方を学びます。

条件分岐を実現する代表的なものとして、if文とswitch文があります。

これらを用いてAならばBの処理、CならばDの処理といったような分岐や場合分けを実装することができます。

プログラミングにおいて、制御文の操作はとても重要です。

今回の条件分岐と次回の繰り返し処理までマスターすればひとまずプログラミングでアプリケーションを作ることが可能になります。

第6回 制御文の使い方1 if文・ switch文での条件分岐

第7回 制御文の使い方2 for文・while文・foreach文での繰り返し処理

繰り返し式についての画像

第7回では前回に引き続き制御文の使い方を習得します。

プログラミングにおいて条件分岐と並んで最重要である繰り返し処理をマスターしましょう。

繰り返し処理とは、指定した条件が満たされている間決まった処理を繰り返すことです。

Unity C#でよく使うfor文、while文、foreach文の使い方を中心に習得していきます。

第7回 制御文の使い方2 for文・while文・foreach文での繰り返し処理

第8回 配列の使い方 一次元・二次元・ジャグ配列

配列についての画像

第8回ではデータ構造の一つである配列について学びます。

配列を使うことで同じ種類の変数をまとめて扱えます。プログラミングで必須の知識になるのでしっかり理解していきましょう。

ゲームプログラミングでは配列を使って2次元マップのデータに利用したり、ボードゲームの駒の配置や得点AIの作成などによく使われます。

配列の使い方 一次元・二次元・ジャグ配列

第9回 メソッドの使い方

メソッドについての画像

第9回は一通りの処理をまとめ、後から呼び出すための文法、「メソッド」を学習します。

メソッドはゲームプログラミングで必ず使うことになります。

例えばRPGであれば敵の攻撃処理、フィールド間での移動処理、主人公の会話処理など異なる機能をたくさん作ることになります。

こうした各機能を何度もその都度書いていたらソースコードがどんどん長くなってしまいます。

数十行以上あるような長いコードもメソッドとして作れば呼び出し命令文1つで使えます。

メソッドのオーバーロードやキーワード付き引数など少し発展的な内容も扱うので初心者さん以外にもおすすめです。

Unity C# メソッドの使い方

第10回 文字列と文字列処理メソッドの使い方

文字列についての画像

第10回では文字列を扱うためのプログラミング知識を学びます。

String型を使った文字列の格納、String型が保有しているメソッド、エスケープシーケンスの使い方などを実例付きで解説。

また、Format書式と呼ばれる変数の出力方法を指定する便利な機能も解説。

多くのメッセージを表示するゲームを作る場合は身に着けておきたい内容です。

Unity C# 文字列と文字列処理メソッドの使い方

第11回 列挙型の使い方

列挙型についての画像

ここでは、新しい型として列挙型(列挙体)を扱います。

列挙型を使えば多くの定数に命名できるため、ゲームプログラミングではかなり便利な機能です。

RPGであれば武器屋さんの武器名、敵モンスターの名前、ゲーム内イベント名などをいちいち番号で記述すると何がなんだかわかりにくいです。

そんな場合でも列挙型を使えばわかりやすい文字列として数値を扱うことができます。

様々な用途で活用でき、コードもシンプルに読みやすくなる技術なのでぜひ身に付けましょう。

Unity C# 列挙型の使い方

第12回 クラスとインスタンスの作り方・コンストラクタの使い方

クラスについての画像

第12回ではメソッドだけでなく、変数や初期化処理などもまとめて扱えるクラス、インスタンスについて解説します。

UnityやC#では基本的なライブラリや提供されている機能もクラスを用いて定義されていることがほとんどです。

そのため、クラスの仕組みを知っておくことで様々な機能を活用しやすくなります。

Unity C#では自分で新しいクラスを定義してゲームオブジェクトに機能を追加していくのでマスターしておきましょう。

Unity C# クラスとインスタンスの作り方・コンストラクタの使い方

第13回 フィールド・プロパティ・アクセス修飾子の使い方 スコープの概念を理解する

フィールドとプロパティについての画像

 

第13回は12回の内容の続きです。

クラスで定義できるフィールド、プロパティ、そしてクラスの外からの参照を許すかどうかを決めるアクセス修飾子やスコープについて解説します。

クラスに付随するこうした機能を活用することで着目しているコードとそれ以外のコードの区分けを明確にすることができます。

これによりバグが発生しにくくなりますし、発生したとしても原因特定する際の箇所が絞り込まれます。

他人と共同で開発する際にも作る機能の担当箇所を切り分けることができます。

Unity C# フィールド・プロパティ・アクセス修飾子の使い方 スコープの概念を理解する

第14回 クラスの継承・抽象メソッドとオーバーライドの使い方

クラスの継承についての画像

 

第14回ではクラスの継承、抽象メソッド、オーバーライドと少々発展的な内容を扱います。

Unityでは新しいクラスを作成するとMonoBehaviourが初期に継承されており、実はUnityを用いた開発では常に利用されている機能になります。

また、isやasといったキーワードやnullやthisといった応用的な文法の扱いもここで学んでいきます。

実際に継承、抽象メソッド、オーバーライドを使ったコーディングを体験できる記事になっています。

Unity C# クラスの継承・抽象メソッドとオーバーライドの使い方

第15回 インターフェースの使い方・ポリモーフィズムの考え方

インターフェースとポリモーフィズムについての画像

 

第15回ではオブジェクト指向プログラミングで最も役立つ機能の一つであるインターフェースを扱います。

インターフェースを使うと「最初はクラスの仕様をゆるく定めておき、インターフェースの中身を実装する際に細かい定義を行って機能をカスタマイズしながら実装する」なんてことができるようになります。

継承と異なり、複数のインターフェースを継承できますし、切り分けも簡単なのでゲームプログラミングで自分のクラスを作ったり機能を再利用するときはできるだけインターフェースを使う方が良いでしょう。

応用的な内容にはなりますが、Unity C#の文法をある程度使いこなせるようになったら挑戦してみてください。

Unity C# インターフェースの使い方・ポリモーフィズムの考え方

第16回 Listの使い方

Listクラスとはの画像

 

Listはコレクションともよばれ、配列より多機能なデータ構造です。

同じ型の変数をまとめて扱える点、要素の代入や宣言方法など配列とかなり近い部分もありますが、

そもそもの格納する変数の数(要素数)を増やしたり減らしたりもでき、List型を使えばより便利にデータを扱えます。

実際のゲームプログラミングではかなり出現頻度が高くなるのでぜひマスターしておきましょう。

Unity C# Listとコレクションの使い方

第17回 辞書(ディクショナリー)の使い方 キーと値でデータを指定する

辞書クラスとはの画像

第17回では辞書型を扱います。辞書型をつかうと配列やリストのように添え字を指定してデータを取り出すのではなく、文字列に紐づけてデータ取得することも可能になります。

何かの情報と1対1対応させたペアデータをひとまとめにして扱いたい場合に用います。

並び順がランダムになるという特性がありますが、これがデメリットになる場合を除くとデータ同士の紐づけ、取り出し、保存の観点でかなり便利な機能になります。

二つのデータをペアで保存してどちらかをベースにしてもう片方を取り出したいときに使っていきましょう。

辞書型はプログラミングでよく出てくるのでぜひマスターしてください。

Unity C# 辞書(ディクショナリー)の使い方 キーと値でデータを指定する

第18回 デリゲートとイベントとUnityActionの使い方

デリゲートとイベントとはの画像

第18回はC#プログラミング言語の文法の中ではかなり発展的なデリゲートとイベントについて学びます。

ただし、UnityでもUnityAction、UnityEventという形でデリゲートとイベントが定義・利用されているので内容自体は頻出の内容になります。

インスペクター画面だけでイベントを設定していれば表面上は知らなくても問題ないですが、スクリプトから新しいイベント欄をインスペクターに作ろうとすると避けては通れません。

知っておくとUnity開発の応用幅が大きく広がります。

デリゲートとイベントとUnityActionの使い方

第19回 Linq・Attribute・拡張メソッド(partial class)の使い方

Linqとはの画像

第19回ではUnity C#をより効率的に活用するための応用文法を学びます。

中でもLinqはList型などに代表されるC#のコレクション機能を使いこなす上でとても役立つ機能です。

where句を使う条件判定と抽出はぜひ習得してください。

属性と呼ばれ、Unityではよく見かける「SerializeField」の文法的位置づけなども学べます。

Linq・Attribute・拡張メソッド(partial class)の使い方

第20回 IEnumerable・IEnumeratorとコルーチンの使い方・作り方

IEnumerableとIEnumeratorの概要の画像

第20回ではUnityに頻出のコルーチンを習得できます。

コルーチンに出てくる型であるIEnumerator、そのIEnumeratorに関連するIEnumerableについてまず学び、Unity C#で出てくる非同期処理コルーチンをマスターしていきます。

IEnumerable・IEnumeratorとコルーチンの使い方・作り方

第21回 例外処理の使い方 throw, try, catch, finally文について

例外処理についての画像

 

第21回ではプログラミングにおいて必ず必要になる例外処理について学びます。

デバッグやエラー対策に役立つ機能です。

デバッグ時にエラーが出たことにしてどんな処理が出るか確認したり、予期せぬエラーが起きたときに何かしらの通知を行うようにしておくなど活用のタイミングは意外とよく出てきます。

内容自体は難しくないのでぜひ習得してみてください。

例外処理の使い方 throw, try, catch, finally文について

Unity入門講座に戻る>>

Unity C#入門講座

UnityC#の例外処理の使い方 throw, try, catch, finally文について

今回の記事では例外処理について解説していきます。 例外処理はアプリ実行時に予想していない自体が発生した時に使用するC#の機能になります。 例外処理をマスターしてばっちりエラーハンドリングしていきましょう。 前回の記事: 例外処理とは 例外処...
Unity C#入門講座

Unity C#のIEnumerable・IEnumeratorとコルーチンの使い方・作り方

今回の記事ではコレクションに関係するIEnumearbleとIEnumeratorについて解説していきます。 IEnumerableおよびIEnumeratorはコレクションの要素を取り出す操作を一般化したものになります。少し理解しづらいか...
Unity C#入門講座

UnityC#のLinq・属性・拡張メソッド・クラスの部分定義の使い方

今回の記事では拡張メソッド、Linq、属性、クラスの部分定義など開発にとても役立つC#の機能を説明します。 前回のデリゲートとイベントはちょっと難易度が高かったですが、今回の記事はもう少し取り組みやすくなります。ぜひ読んでみてください。 前...
Unity C#入門講座

UnityC# デリゲートとイベントとUnityActionの使い方

今回の記事ではデリゲートとイベントについて解説していきます。 前回は辞書の使い方について解説しましたね。 デリゲートとイベントを使うことでメソッドを値として使用することができます。メソッドを値にして利点があるのかと思われますが、アプリででき...
Unity C#入門講座

UnityC# 辞書(ディクショナリー)の使い方 キーと値でデータを指定する

今回の記事では辞書型(ディクショナリー、Dictionary)について解説します。 辞書型も前回扱ったListクラスと同じくコレクションの一種になります。 前回の記事: 簡単にデータにアクセスできる辞書型(ディクショナリー)って何? 辞書型...
Unity C#入門講座

UnityC# Listの使い方

前回はインターフェースとポリモーフィズムについて学びましたが、今回の記事ではListについて解説していきます。 前回の記事: Listは配列をより使いやすくしたコレクションの一つになります。 配列より便利なListクラスとは Listクラス...
Unity C#入門講座

UnityC#のインターフェースの使い方・ポリモーフィズムの考え方

今回の記事ではオブジェクト指向の重要な機能であるインターフェースとポリモーフィズムについて解説していきます。 インターフェイスを使いこなせるようになるとプログラム全体の管理がしやすくなります。また、Unityなどフレームワークやライブラリは...
Unity C#入門講座

UnityC# クラスの継承・抽象メソッドとオーバライド is, as, null, this, baseの使い方も解説

今回の記事ではクラスの継承についてみていきます。 Unityではコンポーネント自体がUnityEngine.MoneBehaviourを継承したものなので実は既に使用している機能になります。 さらにUnityEngine.MonoBehav...
Unity C#入門講座

UnityC#のフィールド・プロパティ・アクセス修飾子の使い方 スコープの概念を理解する

今回の記事ではクラスのメンバであるフィールドとプロパティをまず解説し、次にアクセス修飾子とスコープについての理解を深めていきます。 ややこしいところですが、頑張っていきましょう! 前回の記事: クラスにフィールドとプロパティを持たせてみよう...
Unity C#入門講座

UnityC# クラスとインスタンスの作り方・コンストラクタの使い方

今回の記事ではクラスについて解説していきます。 クラスについては複数回に分けて解説します。今回はクラスとインスタンスの基本的な使い方について解説します。 ちなみに構造体(struct)も大体クラスと同じものになり、ここで解説する用法は構造体...
タイトルとURLをコピーしました