VSTU紹介セッションの後には、来場者からの質問に大西氏が答えるQ&Aコーナーが設けられた。ここでは、その質疑応答の一部を紹介する。
質問 VSTUを使っていると、FBX形式のファイル(Filmboxの略。オートデスクの3Dモデルのデータ形式)を開くときに、Visual Studioが勝手に立ち上がってしまいます。これを、やめさせたいのですが。
大西氏 Visual StudioにはFBXなど3Dモデルのデータを表示/編集する機能があるため、インストール時に自動的に関連付けが行われています。Windowsの設定で、その関連付けを切ってしまえば大丈夫です。
……とはいえ、Visual Studioには、3Dモデル関連の便利な機能がいくつかあるので、紹介させてください。
例えば、シェーダーの機能を表すオブジェクトを、Visual Studio上でマウス操作でつないでいき完成したものをExportすると、そのシェーダーのコードが自動的に生成される機能があります。これは、かなり便利です。
また、VSTUだけではなく3Dグラフィックのデバッグにおいても便利な機能があります。例えば、Windowsストア アプリやXboxなどで動くDirectXのグラフィックに対して“診断”を行う機能「Visual Studio Graphics Analyzer」です。Unityのゲームなどから呼び出すDirectXの動作を全てモニタリングできます。
これを使うと、各フレームのコールにかかった時間など細かいデータが参照できるので、パフォーマンスの改善や不具合の改修などに非常に役立ちます。
質問 Unityプロジェクトで利用しているファイル名やクラス名の変更をVSTUのエクスプローラー上で行った場合、リファクタリングなどはうまくやってくれるのでしょうか? アタッチなどは勝手に外れませんか?
大西氏 実際に試してみましょう。確かに、何かおかしいですね。ファイル名を元に戻したら直りましたけれど、ファイル名やクラス名の変更はVSTU側でやらない方がいいみたいです。
質問 VSTUを使っていると、余計な改行コードが混ざってきてしまって後処理が面倒なのですが、どうすればいいのでしょうか?
大西氏 これについては、私も自分でいろいろ試してみましたが、結論としては「割り切り」がいいのではないでしょうか。
方法としては、スクリプトのテンプレートフォルダーの中に入っているテンプレートを、あらかじめいつも使っている改行コードを使って書き換えておくというのが一つ。
また、「保存オプション」の詳細設定で、改行コードをあらかじめ設定しておくという方法もあります。
Unityだと、改行コードがUNIX向けなので、Windows上でそのスクリプトを開いて保存しようとすると、改行コードを置き換えようとしてしまいます。「置き換えますか?」のダイアログに「いいえ」と答えるということです。
今のところは、最初にどちらの表記に合わせるかを割り切って決めてしまい、これらの方法を使って統一していくのがいいと思います。
質問 Unityを通じてWindowsストア アプリやユニバーサルアプリを開発するとき、使っているAPIに非同期になっているものが多く、それが非常につらいのですがどうしたらいいのでしょうか?
大西氏 UnityのC#スクリプトは直接WinRT APIを呼び出すことができます。非同期のものに関しては、このやり方を使うとうまくいくはずです。
これを使うと、例えばWindowsストア アプリのライブタイル更新がUnity側から行えます。
また、Unity Player上にWindowsのUIを重ねて、その間で情報をやりとりするようなアプリケーションが作れます。WinRTとUnityの間で、双方向にブリッジできるのでmぜひ試してみてください。
質問 VSTUについて、ユニットテスト(単体テスト)に関するトピックがあれば聞かせてください。
大西氏 これはVisual Studioの基本機能ですが、プロジェクトテンプレートとしてC#の単体テストプロジェクトが用意されています。Unityのスクリプトについても、UIのないロジック部分のみであれば、そこにコードを記入して単体テストが行えます。
テストに関連してですが、皆さんはUnityで開発するとき「クラス図」を書きますか?
Visual Studioには「クラスダイアグラム」という機能があって、クラスビュー上でダイアグラムを書いたり、プログラムのクラス構成をビジュアルに確認したりすることができます。また、「コードマップの表示」を使うと、各クラスの参照状態を視覚的に把握できるので、試してみてはいかがでしょうか。
Copyright © ITmedia, Inc. All Rights Reserved.