勉強会の後半は、3名のUnity開発者によるライトニングトークが行われた。ここでは、それぞれの発表内容の概要をお伝えする。各発表者が公開したプレゼンテーション資料へのリンクを用意しているので、興味を持った読者は、ぜひそちらも参考にしてほしい。
最初の発表者は、ゲーム開発で知られるグラニの亀谷学人氏だ。グラニでは、WindowsテクノロジおよびC#を核に据えた開発に力を入れており、クライアントサイドだけではなく、サーバーサイドの開発においても、積極的に.NET、C#を活用しているという。
そんな亀谷氏の発表内容は、大西氏からも説明があったVSTUの補完機能に関するものだ。
「Visual Studioの補完機能はとても便利ですが、ときどき不満に感じることがあります。例えば“List”と入力して補完機能を使おうとすると、補完候補として真っ先に表示されるのが『using Boo.Lang;』なのです」(亀谷氏)
「プロジェクトから削除すればいいのですが、プロジェクトを読み込み直すと、また復活してしまいます。ですから、Boo.Langを補完候補から永遠に削除する方法について考えてみました」(亀谷氏)
具体的な方法は、VSTUの処理をフックすることによって、自動的に生成される「.sln」ファイル、あるいは「.csproj」ファイルの設定内容の記述からBoo.Lang」への参照部分を外してしまうというもの。詳細は、亀谷氏のプレゼン資料『みんな大好き「Boo.Lang」をSATSUGAIする方法』を確認してほしい。
また亀谷氏は、前述のQ&Aコーナーで質問が出ていた下記について、【13】の方法が「LINQ to XMLを使った自動生成内容の加工が可能なので、応用できるはず」との見解を示したので、同じように困っている方は、各自試してみてはいかがだろうか。
質問 Unity側のエディターで#defineとunsafeの処理についての設定が行えますが、それがVisual Studio側では設定できません。Unity側で定義している設定内容を、VSTU側にも反映できると、さらに便利なのですが。
2人目の発表者は、ユニティ・テクノロジーズ・ジャパンの安藤圭吾氏だ。安藤氏は、Visual Studioでの開発作業をさらに便利で楽しいものにする下記4つのプラグインと、その活用法などを紹介した。
各プラグインの詳しい内容や入手先については、プレゼン資料『わたしのVisual Studio環境』を参考にしてほしい。
最後のライトニングトークは、「日本Androidの会 Unity部」とFuller社に所属する室星亮太氏による「DRY(Don't Reapet Yourself)」をテーマにしたものだ。
「私は、Unityのゲーム開発でMBaaS(Mobile Backend as a Service)のParseを利用しています。Parseを使う場合、データを保存するためにParseObjectを継承して、保存したいデータのクラスを作ります。ただ、作るべきPerseObjectのサブクラスは基本的に同じ内容の繰り返しで、長くて大変です。コードミスも出やすくなります。そこで、規則性のあるクラスを簡単に作るために『T4』を試してみました」(室星氏)
「T4」は、Visual Studioで利用できるテキストファイルのテンプレート。テンプレート内にはテキスト内容とC#(もしくはVisual Basic)による制御ロジックを含めることができる。これを利用することで繰り返しの多いコードの生成を効率的に行おうというのが室星氏のプレゼンの主旨だ。
「実際に使ってみて、導入の容易さと扱いやすさは素晴らしいと思いました。LINQやファイル読み込みなどが可能で、ちょっと試してみたらXamarinから使うこともできるようです。規則性に従ってクラスを作りたいとき、さまざまな場面で応用ができると思います。ぜひ、皆さんもT4を試してみてください」(室星氏)
いずれの内容も、Unity、Visual Studio、およびVSTUのヘビーユーザーならではの視点によるもので、日常的な作業の中で同様の「不便」を感じている開発者であれば共感できるポイントが多いのではないだろうか。各発表者は、来場者からの喝采を浴びていた。
またQ&Aセッションでは、「Visual Studioに、ソースコードからドキュメントを生成する機能などはありますか?」という質問に対し、大西氏の回答にライトニングトーク発表者が「後で自分が発表します!」と補足を入れる一幕もあった。「ありがとうございます。コミュニティ主催の勉強会は、こういうところがいいですね」という大西氏のコメントが印象深い。
@ITでは今後も、コミュニティの勉強会を含め、ゲーム開発者に役立つ情報を追い掛けていきたい。
Copyright © ITmedia, Inc. All Rights Reserved.