はじめに
この記事は,研究室の後輩向けの,「Unityの教科書」を用いてOculusとUnityを用いて実験するためのアプリケーションを作れるようになろう講座です.今回は,Unityの教科書chapter2を用いて実際にUnityでソースコードを書いたあと,忘れているだろうプログラミングの知識をつけてUnityでプログラミングができるようになることが目的です.
追加学習項目
- オブジェクト指向
- クラスとメソッド
- staticとpublic
オブジェクト指向
オブジェクト指向とは,プログラムをクラスというものに分割し,それらを組み合わせてプログラムを作成しようという考え方です.これにより,C言語ではstdio.hというクラスを用いて,printfといった機能を,呼び出していました.これだけで,文字を表示できるという簡単なシステムにしてくれるのです.この機能においてC#では分割されたものを,クラス,機能をメソッドといいます.
また,C言語では,includeを持ちいてクラスをインポートしていました.一方,C#では,Usingを用いてインポートします.ここでインポートしたクラスを使えるというわけです.
みなさんは,基本オブジェクト指向を意識する必要があるプログラミングを組んでこなかった人が多いと思います.しかし,Unityおよび,VRをやるとなると必要なクラスをインポートして必要なクラスを呼ばないと大変なことが多いので慣れてみましょう.
staticとpublic
実は,プログラミングの世界には「静的」(static)と「動的」(public)という考え方があります.静的とは,プログラミング実行中に値がかわらないものをいいます.動的はその逆です.宣言をするとき,何も言わなければ基本静的に宣言されます.しかし,動的に宣言することで便利に使用することがあります.
(Unityの教科書の中では,アクセス修飾子と説明されています.)
利点の一つに,異なるソースコードからその関数なり,変数にアクセスできることです.動的にすることで,Unityだと,オブジェクトを指定して,ソースコードを指定して,関数や変数を指定すると,その中身をいじることができます.これができると,実験データ管理用スクリプトと動作用スクリプトを分け,動作スクリプトから実験データ管理用スクリプトにアクセスし,実験結果を保存することができるようになります.これをすることで,ソースコードを分割して開発でき,簡潔で効率的なプログラムを書くことができます.
もう一つとしては,inspectorからアクセスできるようになります.publicで宣言された変数は,inspectorに入力欄が現われ値を入力できるようになります.他にもinspectorからアクセスする方法があるのですが,それはまた今度.
注意点としては,動的な宣言をした変数は「逆に」アクセスして書き換えられる点です.書き換えたくない変数を動的に宣言したり,間違えて書き換えないよう気を付けてください.
最後に
うちの学科は,プログラミングが苦手な人が多い印象を受けます.大学の授業が理論的で実用的でなくつまらないからではないでしょうか.Unityの学習はプログラミングしたことが何を目的にプログラムされ,どのように動くのか簡単に追うことができます.ぜひいろいろ調べてみてください.