ディープだが覚えておきたいUnityゲーム開発の小テク16選まとめ:プロのゲーム開発者が勉強会で伝授(3/3 ページ)
2015年2月24日、「日本Androidの会 Unity部」の主催による「Visual Studio Tools for Unity」の勉強会が開催された。日本マイクロソフトのエバンジェリストによるVSTUの紹介やQ&Aに加え、UnityやVisual Studioを使いこなすプロのゲーム開発者によるライトニングトークも行われ、盛り上がりを見せた。
「そこまでやるか!」な小テク満載のライトニングトーク
勉強会の後半は、3名のUnity開発者によるライトニングトークが行われた。ここでは、それぞれの発表内容の概要をお伝えする。各発表者が公開したプレゼンテーション資料へのリンクを用意しているので、興味を持った読者は、ぜひそちらも参考にしてほしい。
小テク【13】補完候補に挙がる「Boo.Lang」を表示させたくない
最初の発表者は、ゲーム開発で知られるグラニの亀谷学人氏だ。グラニでは、WindowsテクノロジおよびC#を核に据えた開発に力を入れており、クライアントサイドだけではなく、サーバーサイドの開発においても、積極的に.NET、C#を活用しているという。
そんな亀谷氏の発表内容は、大西氏からも説明があったVSTUの補完機能に関するものだ。
「Visual Studioの補完機能はとても便利ですが、ときどき不満に感じることがあります。例えば“List”と入力して補完機能を使おうとすると、補完候補として真っ先に表示されるのが『using Boo.Lang;』なのです」(亀谷氏)
「プロジェクトから削除すればいいのですが、プロジェクトを読み込み直すと、また復活してしまいます。ですから、Boo.Langを補完候補から永遠に削除する方法について考えてみました」(亀谷氏)
具体的な方法は、VSTUの処理をフックすることによって、自動的に生成される「.sln」ファイル、あるいは「.csproj」ファイルの設定内容の記述からBoo.Lang」への参照部分を外してしまうというもの。詳細は、亀谷氏のプレゼン資料『みんな大好き「Boo.Lang」をSATSUGAIする方法』を確認してほしい。
小テク【14】Unity側で定義している#defineやunsafeをVSTUにも反映する
また亀谷氏は、前述のQ&Aコーナーで質問が出ていた下記について、【13】の方法が「LINQ to XMLを使った自動生成内容の加工が可能なので、応用できるはず」との見解を示したので、同じように困っている方は、各自試してみてはいかがだろうか。
質問 Unity側のエディターで#defineとunsafeの処理についての設定が行えますが、それがVisual Studio側では設定できません。Unity側で定義している設定内容を、VSTU側にも反映できると、さらに便利なのですが。
小テク【15】VSTUでのコーディングはプラグインでさらに楽しく、便利になる
2人目の発表者は、ユニティ・テクノロジーズ・ジャパンの安藤圭吾氏だ。安藤氏は、Visual Studioでの開発作業をさらに便利で楽しいものにする下記4つのプラグインと、その活用法などを紹介した。
- 「Studio Styles」Visual Studioエディターのスタイルを設定
- 「Claudia IDE」エディター上にいつもアノ人の姿が!
- 「ReSharper」Visual Studioでの開発作業を便利にするミニツール集
- 「Sandcastle Help File Builder」ドキュメント生成に便利
各プラグインの詳しい内容や入手先については、プレゼン資料『わたしのVisual Studio環境』を参考にしてほしい。
小テク【16】テキストファイルのテンプレート「T4」でクラスのコードを自動生成
最後のライトニングトークは、「日本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.
関連記事
- ハッカソン、デバイス、海外展開、人材育成――ゲーム開発で私たちは今何をすべきか
2015年1月23〜25日、世界中で同時に行われた48時間にわたるゲーム開発ハッカソンの模様と、ゲーム開発がテーマのトークセッションをいくつかダイジェストでお届けする。 - ゲーム嫌いも知っておきたい3D CG/VRのエンタープライズ活用事例〜Unity Solution Conference 2014まとめ
ゲーム開発で有名なUnity。医療や建築、ヘルスケア、観光などゲーム以外の活用事例をイベントリポートでお届けする。 - Oculus Rift、Unity、Openframeworks...感覚器官フル稼働の仮想空間を実現する
学生のアイデアを具現化するツールの進化・普及と、感覚器官をフルに使う人工現実感。表現とインターフェースについての学生の挑戦から「思い付き」を実現する環境のいまを知ろう。 - Unity 4.2でBaaSを使って簡単にストアアプリを作るには〜CEDEC 2013「Unity on Windows 8」レポート
開発の概要や、プッシュ通知ができるライブタイルなどWindows特有の機能を追加する方法、事前審査テスト時の注意点なども。