Unityを使い始めて大体1年。何をやってきたか
あけましておめでとうございます。
Unityを使い始めて1年と2か月ぐらい経ちました。
せっかくなので何をやってきたか振り返ろうと思います。
最初の2週間
これをやっていました。
Unity初心者向けチュートリアル集 - Unity Learn
いまいち勉強したって感じよりもコピペしたなぁって感じが強く、あまり力になった気はしませんでした。ですがプレハブという概念自体を学べたりしたのは良かったと思います。
最初のゲーム制作(2か月)
ここで作ったゲームが一番大きいものになったと思います。
作ったものはダーツゲームです。イメージ的にはSteamのゴルフゲームをイメージして作りました。
ダーツを題材にした理由は、過去にネカフェみたいなところでやってみたときに初心者でもラッキーショットがでたりして楽しめたことと、Unityの物理エンジンを使ってみたかったからです。
本当に初めてスクリプトを書くところからでしたが、以下の機能を組み込みました。
・シーン遷移
・BGM
・物理表現(重力とか当たり判定とか)
・Blenderでモデリング(ダーツとかボードとか)
・UI
・Photon2を使ったマルチプレイ
・3種類のゲームルール
基本的な機能は1か月ほどでできました。
マルチプレイの実装に2週間ほど。
残りの調整に2週間ほどかかったと思います。
大変だったことは
マルチプレイ実装の際に再現性の低いバグが発生
そもそもクラスを意識したコードをほぼ初めて書いたので何度もリファクタリングを行った
の2点です。
ちなみにこの時のデータは消してしまいました…
Blocksのゲーム作成(3週間)
ここまでで基本的なUnityの機能は使えるつもりですが、テーブルゲームレベルのものを作れるレベルなのかを確かめるためと、一からゲームを作った流れをブログに載せて他の人の参考になればという思いで作りました。
あとはCPUを作ってみたかったこともあります。
今見ると結構ひどい出来な気がしますが、今から修正するのもやる気がおきないです…
このゲームを通して、ボードゲームぐらいなら作れそうだなと感じました。
また1からUnityを学ぶ(3週間)
ここまでで一通りの機能は使ったつもりですが、やはり”つもり”。図書館でUnityの書籍を借りて1から勉強をしておきました。
パーティクル機能などの知らない機能などもあったので、やって正解だったと思います。
何の本を読んだかはメモしていないので忘れました。
今思えばここで知った、Unityの知らないor使ったことのない機能一覧みたいなものを作成しておけばなぁと思います。
検証レベルでの勉強が続く(4か月)
これ以降は基本的に本で学んだり、実際に使ってみたりを定期的に繰り返してました。
シェーダーについて学んだり
MediaPipeを使ってみたり
Pythonで動いている別プロセスと連携させたり
Andoridを購入してARFoundtionを使ったものを作成したり
Vuforiaを使ってみたり
バラクーダを使ってみたり(よくわかんなかったり)
特にMediaPipeとPythonとの連携の話が良く見られてました。
また、アルゴリズムを学んだりSLAM技術について学んだりしてました。
AIを学ぶ(2か月)
Unityを使っていても特に意識することはないほどですが、AI技術を使えるとできる幅が広がると感じていました(ただのカメラから深度測定だったり)。そのためにも基礎部分だけでも学んでおこうという考えと単純に技術として気になるので学び始めました。
検証レベルでの勉強が続く(4か月)
最近のはずですが、何やってたけなぁとなってます(笑)
デザインパターン
UniRx
ML-Agent
MRTK
VFX
HDRP
Terrain
Burst
Job System
ECS
あたりを使ってみたりしてました。
そういえば「コンピューターの構成と設計」という本を買って読んでいましたが、ちょうどECSを使う上であれば良い知識の部分をちょうど学べたと思います。
振り返ってみて
こうやって並べると1年で意外とやったなぁと思います。
1人で触っていると設計部分の学びがほとんどないので、今年はその部分を学べたらいいなぁと思ってます。
やっておけばよかったことでいうと、簡単にでもやってみた技術の名前や本の名前を残しておこうと思いました。振り返りやすいですし、増やしていくことがモチベにもなりそうなので。
今後も学びたいとこはたくさんありますが、AI、GPUについて学びたいと思います。学ぶか知りませんが。