Unity を検索

Unity for Newニンテンドー3DSが正式リリース

2016年1月29日 カテゴリ: テクノロジー | 5 分 で読めます
Wind Up Knight 2
Wind Up Knight 2
取り上げているトピック
シェア

私たちは任天堂から発売されているNewニンテンドー3DSをサポートすることを昨年のUnite Tokyoでアナウンスし、それ以来リリースに向けて準備を進めてきました。そして本日、このブログにて正式にサポートを開始したことを発表いたします!

みなさんから受ける最初の質問は「オリジナルのニンテンドー3DSもサポートしますか?」です。その質問に対する回答は「条件付きで」YESです。オリジナルのニンテンドー3DSに対して互換性のあるROMイメージを作成することは出来るので、その上で動作する何らかのゲームを開発することは可能でしょう。ただし、大半のゲームはより素晴らしい内容にするためにNewニンテンドー3DSに向けて開発することを強く勧めます。

私たちはこれまでいくつかの限られたデベロッパーと密接に関わり、既存のゲームをいくつかNewニンテンドー3DSに移植しました。その中で私たちはプロファイリングや最適化を積極的に行い、ゲームを動かすときにはできる限りスムーズになるよう、実際のプロジェクトを使ってエンジンを叩いてきました。実際、すでにNewニンテンドー3DS向けの「ねじ巻きナイト2」が任天堂でのマスターアップを経て、昨年末から販売を始めています!

Wind Up Knight 2
ねじ巻きナイト2 for Newニンテンドー3DS © 2014 Robot Invader

Unityはバージョン5.1から5.2にかけて、シェーダーコード内部で数々の重要な変更が行われました。この変更によってクリーンで効率のよいコードになりつつ、コンソールプラットフォームで発生していた数々の問題を解消するなど、数々の恩恵をもたらしてくれました。しかしながらこれらの修正を5.1以前のバージョンに適用することは困難なため、今後の、特にシェーダーに関する開発とサポートは5.2以降に対してのみ行う予定です。

私たちはすでにUnity for New ニンテンドー3DSでのUnity5.2対応を数ヶ月にわたって行っており、具体的なタイトルをもって任天堂でのマスターアップが可能なことが確認でき次第公開いたします。このタイミングも近いうちであることを期待していますが、まだ具体的に日付をお伝えしづらいので将来のアップデートにご注目ください。

現時点ではUnity for New ニンテンドー3DSは3DS専用のUnityエディターを提供する形で開発していますが、わたしたちは最新版のバージョンにアップグレードしていくことにフォーカスし、他のプラットフォームと同様に通常のエディターのプラグインとして提供する形を採るようにしていきます。すでに内部的には5.3が動いており、メインのコードベースにマージしていく作業をガリガリと進めています。

また、いくつかの機能はこのリリースではまだ提供されていないことを明記しておきます。Unity Multiplayerやシャドウマップのサポートはまだ入っていません(ライトマップはサポートされています)。新しい機能については利用頂いている開発者の方々の要求を元に優先度を決めていきますが、目下やるべきことは通常のエディターとプラグインで提供する形にもっていくことです。

他のモバイルプラットフォームと同じく、このハードウェアで出来ることにはいくつかの制限があります。たとえばUnityのスタンダードシェーダーはデスクトップのクラスのグラフィックスハードウェアが必要なので、3DSでサポートできるものではありません。しかしながら他のプラットフォームと同じように、サポートされていないシェーダーを使おうとすると、より複雑度の少ないシェーダーにフォールバックされて、出来る中で一番いい結果を出そうとします。

Newニンテンドー3DS向けにゲームを準備するには

このプラットフォームはいくつかの点でユニークなため、ゲームでその機能を活かすためにはいくつかの変更が必要です。

  • 画面が2つあるので、ユーザーインターフェイスを再デザインしてもう一つの画面をうまく使う必要があります。下の画面はタッチ可能なのでメニューやインタラクティブなUI要素を置くのがお勧めです。

このデバイスの最もクールな機能は裸眼で3D立体視が出来ることです!しかし、これはオブジェクトの距離が他のプラットフォームとは違う形で見えるということでもあります。なので、たとえば距離を"誤魔化す”ようなグラフィックス効果を用いている場合は正しく動作しません。たとえば、2.5Dなゲームで正射影やパララックスレイヤーを使っても、完全に真っ平らに見えてしまいます。

  • 他のプラットフォームよりも使えるメモリーが少ないのですが、これは最初に思われるよりも大きな問題とはなりづらいです。画面の解像度がスマートフォンやタブレットなどの他のプラットフォームよりもかなり小さいので、テクスチャーのサイズを大幅に縮小することが可能なためです。
  • Unity for New ニンテンドー3DSはIL2CPPテクノロジーのみを使用する最初のプラットフォームの一つです。Monoはまったく使用されません。このことはパフォーマンス上に大きなメリットをもたらしますが、いくつかのトレードオフもあります:

全てのコンパイルはAOTで、プロジェクトのビルド時に行われます。ランタイムでのJITコンパイルは利用出来ません。

いくつもの他のプラットフォームもAOTのみのサポートですので、もしそれらのプラットフォームからゲームを移植されるのであれば直面する問題は少ないでしょう。しかしながら、もしJITを許可しているプラットフォームからの移植をする場合、問題が発生する可能性があります。よくある点としては、いくつかのJSONパーサーで動的なシリアライズをする機能を持つものは問題になりやすいということがあります。よいニュースとしては、Unityはデフォルトで高速なJSONパーサーを実装したのでこちらに乗り換えることで問題を回避できるでしょう。

hammers
Unite Tokyoで鏡開きをして祝う開発チーム

Newニンテンドー3DSでの開発を始めるには

Unity for New ニンテンドー3DSは無償で提供されます。Wii Uの時と同じく、これらのプラットフォーム向けに開発するために任天堂への開発者登録を行えば、Unityを無料で使うことができます!

始めるには、Nintendo Developer Portal にアクセスし、Nintendo Developer Programに登録してください。登録が完了するとUnity for New ニンテンドー3DS のダウンロードが可能になります。なお、開発者登録には条件があります。詳しくはサイトをご覧ください。

もちろん、開発には専用のハードウェアが必要になります。開発キットやテストキットは同じくNintendo Developer Portal経由で購入できます。

2016年1月29日 カテゴリ: テクノロジー | 5 分 で読めます
取り上げているトピック