2012年8月23日の日本時間深夜に開催されたFlashオンラインカンファレンスにて、3Dライブラリの1つであるMinko の次期バージョンの発表がありました。Flashのみならず、WebGL、さらにその他多くのプラットフォームに対応するということで、とても期待しています。Minko 3のアルファリリースは、今年9月、ベータが12月、最終リリースが2014年4月とのことです。 本記事は、Minkoの公式ページ「Announcing Minko 3 with WebGL support!」の和訳です。Jean-Marc Le Roux 氏に掲載許可をいただいています。お急ぎの方は最後のまとめを読んでいただくことをお勧めします。Thank you Jean-Marc Le Roux!

 

WebGLサポートとMinko 3の発表

投稿日:2013年8月26日 Jean-Marc Le Roux 氏
 

概要

先週の金曜日にFlashオンラインカンファレンスが開催されました。今回のカンファレンスは我々にとって非常に重要な意味を持っていました。Minkoの次期メジャーバージョンである、コードネーム「Normandie」を発表する機会だったからです。次のバージョンでは、今までに無いくらい多くのプラットフォームをターゲットとしているため、真のゲームエンジンへの進化といえるでしょう。また、数多くの優れた機能を提供することで我々のユーザーを今までにないほどバックアップしていきます。 Minko の最も重要な思想の1つが、「デザインは一度、デプロイは全てに」です。しかも、Adobe Flashのような、数多くの独占的プラットフォームに依存することなく。ただし、勘違いしないでください。我々はFlashについてとやかく言っているわけではないのです。今や我々がかつて考えていた以上に、Minko はFlashプラットフォーム以上のポテンシャルを持ちあわせているのです。

WebGLのサポート

minko_sponza_webgl_preview
 

Minko 3は既に有能なフレームワークですが、それを実証するために技術デモンストレーションが必要でした。上記アプリは3D物理演算、リアルタイムライティング、ノーマルマッピング、アルファマップ/スペキュラマップ、パーティクルといった数々の技術とともに、CrytekのSponzaモデルのデモを実現させています。 Minkoエディターが既にMinko 3 に対応していたため、今回のデモの制作はスムーズに進みました。3DコンテンツをFlash以外の多くのwebプラットフォームに対応させることは、非常に重要なステップでした。WebGLはハイクオリティなコンテンツを提供するには十分に成熟していると考えていますので、Minko 3ではAdobe のStage3D と平行してWebGLを視野にいれることにしたのです。新しいスキルを身につけたいと願っているFlashデベロッパーには格好の機会だと思いますよ。また、成熟したフレームワークとツール郡を使って、自身のスキルや創造性を生かしたいと考えているWebGLデベロッパーにも朗報でしょう。

minko_sponza_2-300x162 minko_sponza_1-300x162
 

新言語C++2011の採用により多くのプラットフォームに対応

Flash、WebGL そして、ネイティブのプラットフォーム(iOS, Android, Mac, Linux and Windowsなど)、に対応するため、ActionScript 3.0 からよりニュートラルかつ、広範囲のサポートが効く言語へと技術シフトすることにしたのです。我々が選択した言語は、C++ 2011です。最新の追加言語機能、最新のクロスコンパイラ技術が、我々が目標としているすべてのプラットフォームに対応するC++によるアプリケーション開発を可能にしています。そしてそのこと以上に、単一のコードによって多くのプラットフォームに対応できるということが最も重要なことなのです。

minko_3_status_summary
 

上記の表のように、Minko 2での数多くの機能は既に Minko 3 で動作しています。そのため、我々の最初のパブリックリリースでは、Minko に関してみなさんがよく知っていて好んでいる機能に加え、いくつかの新しい機能をお届けできるでしょう。

まとめ

下記のリストが既に発表した次期メジャーバージョンの簡単な概要です。
  1. WebGLサポート:asm.js によって驚くほどのパフォーマンスになっています。
  2. Windows, Mac, Linux, iOS and Androidプラットフォームのネイティブコードによるサポート :Adobe AIRに依存することはありません。
  3. ンポーネントシステム:生産性の向上させるためデザイナーとデベロッパーがコンセプトを共有しながらアプリケーション開発が可能に。
  4. GLSLシェーダーとシェーダーライブラリのサポート:優れたレンダリングプログラムを生み出すために幅広く使用されているシェーダー言語が使用できます。どんなGLSLコードも一瞬で追加できます。Minko のデータバインディングシステムの成果です。
  5. データ・ドリブンなレンダリングパイプラインの実現:複雑なレンダリング工程や、ポストプロセッシングエフェクトでもシンプルなJSONファイルに記述できます。
  6. 多言語との接続:ActionScript 3.0 や JavaScripを使用できます。

Minko 3 のアルファバージョンは、9月を予定しているので乞うご期待!それまでは現在のMinkoに触れてみて、オンラインフォーラムやコメント欄で作ったものを披露してみてください。

カンファレンスでの発表資料

  •  Minko – Flash Conference #5 from Minko3D
— (和訳はここまで) —

考察と補足

  • 次回のアップデートで、C++でも記述できるということですが、ActionScript 3.0でも記述は可能です。(ただし、現時点での発表ではC++での記述のみクロスプラットフォームに対応可、スライド中11ページ目参照)
  • Minko の「1ソースでマルチプラットフォームに対応する」という思想は素晴らしいものだと思います。他にも同様の機能を持つフレームワークは数多く存在しますが(Unity など)、Flash にも出力することができるという点で利点があると思われます。
  • 既存のGLSLコードをそのまま利用できるため、強力なビジュアルを作成することができるでしょう。(Flashの3DライブラリであるFlare3D にもFLSLというシェーダー言語が存在しますが、独自仕様という点で従来のGLSLコードを利用するには改変する必要があります。)
  • 現状ではWebGL の対応が一部のブラウザに限られるため、 想定するプラットフォームに応じてFlash と併用することが望ましいでしょう。