Unity UIのあれこれが分かる勉強会,初参加の感想とは?


0.はじめに

この記事は私が参加したイベントで得た発見や気付きについて記録しています。ですので,イベント内で得た知識を全て書いているわけではなく,主観的な話が多いです。技術的なお話に関して,実際のLTなどがどのようなものかを知る方が断然良いと思われるので,YouTubeでご覧ください!(リンクは載せられないかもしれませんので,「Unity ○○完全に理解した勉強会」と検索してみてくださいね)

1.参加経緯

元々unityに限らずプログラミングは独学でやっており,ゲーム作りをする上でunityという便利なツールを勉強しながら使っていたもののちゃんと機能を理解ができていないなという思いがありました。そこでふとXで回ってきたUnity UI 完全に理解した勉強会とい素晴らしい響きのイベント!もうこれは参加するしかないと思い,折角なら直接お話ししてみたと思いオフラインで凄くドキドキしながら申し込んでみました。(結果は一人で参加した初めはだいぶアウェーかと思っていましたが,実際は色んな人が声がけしてくれて灰にならずに済みました…あの時話してくれて本当にありがとうございました…😭)

2.トークセッション

2-1.ざっくり理解するUIToolkit

UIToolKitを利用する際に推奨される方法と今後の見通しについてお話しいただきました。動画でも言及されていたのですが,個人的にはキーフレームアニメーションが近い将来提供される予定という話を聞いて,非常に興味を持ちました。さらに,2023年2月からはランタイムでもバインディング機能が追加されたようで,開発作業の手間が大幅に削減できるようになる可能性があります。ただ,UI Toolkitで制作されたものはwebのようなUIの見た目になってしまい,従来のゲームで使われたuGUIのような派手な演出には少し不向きなようだというお話を聞いてきました。今後の展望について気になる方はunityのロードマップからどうぞ!
実は自分あまり本格的に触った事がなくてこの話を聞いてチュートリアルから始めてみることにしたんですよね。以下箇条書きの部分は後に自分が飛べる用のメモです。

2-2.Unity Searchを拡張して高度な検索型UIを実現する

本セッションでは,バージョンアップ時に次のゲーム更新タイミングでオブジェクトが閲覧されてしまうと次回更新の前情報が漏洩してしまうという問題を避けるために,現場では秘匿するための作業が行われています。しかし、プロジェクトのオブジェクト数が非常に多く,特定のオブジェクトを手作業で確認すると非常に手間がかかるため,この機能を活用することで作業時間を大幅に短縮できることを簡単な実例とともに説明していただきました。正直なところ,セッションだけでは理解が追いつかない部分が多かったのですが,懇親会のタイミングで個別に丁寧な補足説明をしていただいたおかげで,何とか有効活用されている場面を知ることができました。けど全てを理解する事はできなかったのでもっと勉強せねば…

2-3.uGUIの自動操作の考え方と操作方法

本セッションでは,uGUIをプログラムで操作できるのであれば手作業で確認するのではなく,半自動化して作業を効率化しようというものでした。ポチポチ作業ではプログラマの仕事としては厳しいものがあります。特に影響がありそうな部分の確認って人力だとどうしても逃してしまったりしますよね。それを解決するための半自動化という感じになります。ただ,シナリオベースで作成してしまうと更新をかける度に確認作業が入るのでこれに依存しない最低限の動作確認を低いコストで実現できるものの作成をここでは説明してもらった感じになります。

2-4.UI Shaderどう管理してますか?

本セッションでは,タイトルにある通り管理や設計など使い方よりも他の方への引き継ぎや仕様変更に関する対応への話をShaderを中心にお話しいただきました。幾つも機能修正などが入る事で段々と組み合わせが複雑になっていくことで悪魔合体ができるようになり,組合せ爆発が起きてしまう…こんな事を避けるために使われるのがCanvasMaterialです。こいつを使えばShaderを指すだけでMaterialを管理する必要性がなくなるというとても便利な手法です。詳しい実装に関してはこちらも動画内で説明されているので是非見てみてください!

2-5.どう作る? モーダルの実装!

本セッションでは,モーダル実装に関するお話しとのことでUX寄りなお話しが多かった印象です。多分どんなサービスでも使われる事が多いこのUIですが,個人的には開くよりも閉じる時の方をアニメーション時間を短くするという考えで作成しているのですが,登壇者の方も同じ考えでしかも理由までほぼ一緒だったのでちょっと嬉しかったりしました。ちなみに閉じる時の方を早くする理由ですが,閉じるという事はユーザー側は早く次の場面に移りたい訳です。そうした時に動きが遅いと余計なストレスを与えてしまうためそれを避けるために開くよりも閉じる方を早くしようという感じです。

2-6.デザインツールでゲームのUIを作る話 (Adobe XD編)

本セッションでは,AdobeXDで製作したUIをUnity側にPrefabとしてインポートできるという便利なツールを実演とともに紹介して頂きました。ただグラフィックをオブジェクトとして落とし込むだけでなく,実際にXDでボタンとして設定したものはunityでも触る事ができるという超絶便利なものになります。AkyuiUnityを用いたやり方は非常に簡単なので気になる方はこちらからどうぞ!

3.まとめ・感想

今回は初めてのオフライン勉強会への参加だったため,色々な緊張と不安が入り混じった状態でしたが,懇親会ではDeNAさんを筆頭に色んなつよつよな大人の方々に助けて頂いて何とかぎこちなくも沢山のタメになるお話を聞く事ができたのが何よりの収穫でした。
本イベントのお陰で元々触っていたUI周りの知識に対してより多くのことに気をかけて制作に取り組む事ができるようになったと思います。
このようなイベントを開催して頂いた主催者及び運営の方々には本当に感謝していると共に次回以降もオフラインでまた参加したいなと思っています。(これから益々発展していって欲しいという思いとオフラインの枠を確保する競争率が上がる不安が…)

自分は先述の通り今まで独学で勉強してきたため,他の人との差を埋めるため(まぁ一番は自分が楽しいだけなんだけど)にもこれを機に他のオフライン勉強会イベントに参加してみたいなと思っています!

自分も本イベントに参加してた人達みたいにカッコいいつよつよエンジニアになるぞ!!


この記事が気に入ったらサポートをしてみませんか?