こんにちはハロー・ワールド三期生 んのすけ です。
私はハロー・ワールドで三ヶ月座学の研修を終えて、
今 CAD CENTERという会社に研修という形でお世話になっています。
CAD CENTERは3DCG、VR、AR等を利用して様々なものを開発している会社です。そこで現在私は、Unityというソフトウェアを利用して不動産会社向けのアプリを作成しています。
皆さんUnity(ユニティ)というソフトウェアについて知っていますでしょうか?
Unityは、基本無料で利用ができて、いろんな機能が詰まったすげえゲームエンジンのことです。
*1
私はこの会社に来る前Unityを少し触ったことはあったのですが、業務でUnityを利用する度にUnityの素晴らしさ、凄さにたびたび驚いています。
Unityは主にゲームを作るのに利用されるゲームエンジンです。
Unityで作成できるものはゲームエンジンの名前の通り、2Dゲーム、3Dゲームはもちろんのこと、VR(仮想現実)、AR(拡張現実)アプリも作成することができます。
しかもARアプリを開発する際は、めちゃめちゃ簡単に作れるようになるUnityの拡張機能があります。それを利用することで、簡単なARアプリをプログラミングなしで一時間ほどで作ることができます。
ARって結構技術の流行なので作るの大変かなーというイメージでしたが、本当に簡単に作ることができました。
ARアプリを作成した際、(おれ今結構いけてるエンジニアじゃね??)と思いました。しかし冷静に考えると、ただただUnityとその拡張機能を作成した人が凄いだけでした。
ARアプリを動かした画面 (3Dモデルも研修の一環で自作しました。)
Vuforiaすごい
*2
Unity自体の機能もめちゃくちゃ沢山あります。
ゲームに必要な物理演算を行う機能もついています。
物体に重力が働いたり、物と物が当たって跳ね返ったりと物理的な動きをUnityが再現してくれる。。
すごい、凄すぎる。。。。この感動は居酒屋で始めてイサキという魚の刺身に遭遇したとき以来です。
ただ便利な機能は沢山あるのですが、それを使いこなせるかは別問題です。
使い方をインターネットで調べても理解できないことは沢山あります。
私「このGetComponent<>()....の<>ってなんだ?????調べてもよくわからないぞ???」
そんな時は頼りになる上長がしっかり教えてくださいます。
この上長の方が凄い方で私が質問するような内容など全て正確に教えてくれます。
私「す、すみましぇん、GetComponent<>()についている<>ってなんですか、、?」
上長「それはGenericsだよ」
私「Sugeeeeeeeee!!!」
ほんとに何でも知っている。。すごい、凄すぎる。。上長。。
社会に出て、一年以上経ちますが上長の意味を知ったのは最近です。
ところで、Unityで様々な機能を使用するにはプログラミングが必要になります。
その際に使用されるプログラミング言語はC#(シーシャープ)という言語で、C#はJavaというプログラミング言語に非常によく似ている言語だと私は感じています。
C#自体は少ししか触った経験はありませんでしたが、座学の研修でJavaを学んでいたおかげでかなりとっつきやすかったです。
ひとつの言語を学ぶと他の言語に共通している部分がある、という噂を肌で実感できました。
というかC#とJavaは本当に似すぎて違う言語を扱っている感覚がありません。
子供のころの自分が、寿司ネタをみて光り物の魚の区別がついていなかったことに通じる感があります。
もちろん一部違う部分はあるのですがほんとうに似すぎなくらいそっくりです。
最近の言葉で言うと「くりそつ」
最後に
CAD CENTERでは3Dモデルを作る人や、シミュレーターを作る人、映像グラフィックを作る人など様々な職種の人がいます。
私はその中で、完成された3DモデルやCGの映像を利用して実際に動くコンテンツを作る役割です。
3DモデルやアプリのUI(画面のアイコン等)を作成していただいて、私がプログラムでアプリの機能をつけていく ーーー それぞれがそれぞれの作業を補っていいものを作っていくってこういうことか。。。
学生の頃言われた言葉で「人は一人じゃ生きていけない」というよく聞く言葉が当時全くピンと来ていませんでしたが、その意味がこの仕事を通じて最近身をもってわかった気がします。
今後も新しいことをどんどん学んで仕事に生かして生きたいです。