Visual Studio 3D Starter Kitは、Visual Studio 2012プロジェクトを補助して、Windows Store向けの基本的なゲームのサンプルセットである。Visual Studioツールによって生成されたランタイムアセットの利用をサポートするキットも提供され、また読み込みと、メッシュやテクスチャ、シェーダーのようなレンダリングアセットが含まれる。
MicrosoftのVisual Studioチームのプリンシパル開発リードであるJP Duplessis氏とソフトウェア開発エンジニアであるRoberto Sonnino氏は先日、MicrosoftのChannel 9用のビデオでVisual Studio 2012 C++プロジェクトを補助するスターターキットの機能をデモした。
このビデオでは、テクスチャの読み込み、モデルとシェーダーといったWindows Storeの3Dアプリとゲームにおける一般的な機能の使い方についてデモしている。さらに、Cameraクラス、DirectXにおけるXAML、ModelとImageビューア、3Dシーンの作成に含まれるシェーダーデザイナなどの使い方ついても学ぶことができる。
Visual Studio 3D Starter Kit は、Visual Studio 2012 Express for Windows 8を含むVisual Studio 2012のすべてのエディションでVisual Studio開発者コードサンプルで提供されている。
InfoQの独占インタビューでDuplessis氏とRoberto氏は、Visual Studio 3D Starter Kitの様々な側面について彼らの見解を共有した。
InfoQ: Visual Studio 3D Starter Kitのコア機能について共有していただけますか?
Visual Studio 3D Starter Kitは、Windows Store向けのDirectX 3D開発におけるいくつかの一般的なタスクを簡素化するためにVisual Studio 2012ツールの使い方を提示したサンプルです。サンプルは、メッシュのインポート、Visual Studioシェーダーデザイナで作られたピクセルシェーダーの使い方、ARMデバイスにおけるシェーダーの作成と読み込みフォールバック、古いグラフィックカードとボーンアニメーションでのディスプレイメッシュの使い方を提示しています。
InfoQ: Visual Studio 2012には、DirectXのサポートが含まれています。次に、3D Starter Kitの必要性はなんですか?
私たちは、Windows 8のゲームの作成方法をわかりやすく説明するためにVisual Studio 3D Starter Kitを作りました。3Dゲームは様々なことができるため以前にDirectXを使ったことがなくて、ゲームの書き方を学びたい時には幅広い知識が必要でした。ゲームプロジェクトを始める開発者を支援するため、私たちは、学習することができ、また自身のゲームに組み込むことができるいくつかのサンプルコードを提供したいと考えました。Starter Kitには、いくつかのヘルパークラスとメソッドを含むヘッダ(VSD3DStarter.h)と、この作業が大幅に簡単になるGameBaseクラス(.h and .cpp)が含まれています。
Starter Kitプロジェクトには、画像とメッシュといったグラフィックアセットの実際のサンプルも含まれており、別のアセットファイルを探すことなく、実際のプロジェクトでVisual Studioグラフィックツールを試すことができます。たとえば、メッシュ、テクスチャ、シェーダーを準備するために3Dアセットパイプラインを使う場合、アプリにどうやってそれらを読み込むかを学ぶ必要があります。Starter Kitは実際にそれを行うサンプルです。
最後にVisual Studio 2012のDirectXサポートは、6つの主要な機能で構成されています:
Visual Studio Graphics Debugger
Shader Designer
Image Editor
Model Editor
3D Asset Pipeline
HLSL IDEとMSBuildサポート
Starter Kitは、完全なプロジェクトを提供しているため、Windows Storeの実際のプロジェクトでそれらのツールをどのように使うかを学ぶことができます。
InfoQ: そのキットは、C#やVBなど.NET Frameworkのすべての言語で使用することができますか?
Starter KitはC++のみで動作します。重要なこととして、Visual Studioツールは他のプロジェクトで使用できるようにすることができます。たとえば、ビルド時にHLSLファイルをコンパイルする、3Dアプリケーションで使うために画像をDDS形式に変換することができます。
InfoQ: スターターキットは、Windows 7とVisual Studio 2010で実行することはできますか?
Starter Kitは、Windowsストアアプリ(Windows 8のみ)のサンプルです。VSグラフィックツールは、Windows 7/8で動作するWindowsデスクトップDirectXアプリケーションで使用することができますが、Visual Studio 2012にしかついていません。
InfoQ: このキットを使って、Windows Phoneの3Dアプリをビルドすることはできますか?
プログラミングモデルはWindows 8のモデルに非常に近いので、Windows Phone向けのアプリケーションを作る入り口としてよいと思います。
InfoQ: ASP.NET (Webベースの環境)向けの3Dアプリケーションを開発することはできますか?
このキットは、スタンドアロンのWindows 8アプリの構築方法を学ぶためのものであり、他のプラットフォームは想定していません。
InfoQ: Visual Studio 2012 3Dキットを使用して完全に構築された実際の製品/アプリを知っていますか?
このキットは非常に新しいので、キットを使って完全に構築された実際の製品を知りません。(私たち自身のTowers of Hanoi 3Dは除く)
InfoQ: Microsoftは、3DキットをVisual Studio 2012に組み込む計画はありますか?
現時点では、将来3DキットをVisual Studioに統合する可能性があるかについてコメントするのは時期尚早です。私たちは、現在の3Dキットの使用状況についてコミュニティから聞けることに興奮しており、これを向上させる方法をご意見いただき、3D開発者をさらに支援する方向を見極めたいと考えています。
InfoQ: スターターキットの将来について明確なロードマップを持っていますか?
ユーザーのフィードバックによって最新のアップデートで、ボーンアニメーションを使ったフォールバックシェーダー、バーテックスシェーダー、表示メッシュのサポートを追加することを決めました。私たちは、Starter Kitの将来の更新に繋がるフィードバックを歓迎します。
3Dスターターキットのサンプルですばらしい作業を行い、Surface RTでプレイできるようにするための迅速な更新について感謝します。