Pepro開発ブログ

peproに関することを発信するブログです

オブジェクト指向プログラミングを1年やってきたプログラマーにUnityを教えてみた

ここ最近OculusRiftとOculusGoを同時購入してしまった
かずま (@kazumalab) | Twitter
です。
今回はUnityを
KotaSakurai (@KotaSakurawi) | Twitter
に教えてみたのでその記録として残しておきます。

そもそもUnityとは

PeproはRuby On Railsで開発していますが、今回は全く関係ありません。
そもそもUnityはゲームエンジンだからです。つまりゲームを作るためのソフトウェア!

unity3d.com

会社の$100,000を超えない場合はFreeで使えます。
ちなみに僕はPlusを契約しています。(スクリーン画面が黒くなる!)

作ったもの

  • コインプッシャー

やはりUnityのはじめといえば、コインプッシャーか、玉転がしでしょう!!笑

教えていく課程

  • Unityの使い方の説明
  • ゲームオブジェクトの生成方法とコンポーネントの紹介
  • ひとまず台をC#から制御してみる(transform.position & rigidbody.MovePosition、rigidbody.AddForce)
  • UnityできますよTシャツの紹介(「僕Unityできますよ」Tシャツのコードレビュー - Qiita)
  • Prefabを作ってC#から生成してみる(Instantiate)
  • Collider周りの話(OnTriggerEnterなど)
  • UIについて(text, canvas)
  • Sceneについて&C#でシーンの制御

ここまでで1時間半ぐらいかかりました。
普通に高校生とかプログラミングやったことない人に教えるとここまでは行けないですね...。(タブン

つまりポイント

  • セミコロンつけ忘れによるSyntax Error
  • やっぱり生成時のクラス名とプログラムのクラス名違うくてアタッチできない問題(これ結構つまる人多いと思う)
  • クラス名つけるの難しい...命名規則とか

結論

  • 非常に教えやすかった
  • オブジェクト指向がわかっているとコンポーネントの概念がさっと入ってくるっぽい(GetComponent)
  • 画面構成が結構わかりやすいかも
  • 普段はRubyで型をあまり意識することがないが、C#の型ありでも案外いけた
  • 数式が出てきても全然問題なかった(Sinとかかんたんなものですが)

今回VRやる前の導入っぽい感じでやってみたので、今度はゲームも作って見ようと思います。
資料等はなく、今回はペアプロっぽい感じで一つの画面をみながら手元で動かしてもらう感じにしました。

エンジンを使うとPeproが使えないのは残念ですが、コードの共有とかはできそうだなと思いました。
これからもどんどん開発していきます。