Search Unity

きたるUnity 5.3のリリースはUnity 5.xの中でWebGL出力をサポートする4つ目のリリースになります。私たちは最初にUnity 5.0でプレビュー版としてWebGL出力をサポートしてからいままでで大幅な進捗がありましたので、今日はこのアップデートについて共有します。

Unity 5.3での変更点

Unity 5.3はWebGL開発者にとって関係のある数々のアップデートが投入されています:

  • UnityのスタンダードシェーダーはWebGLでもデスクトップ用のものと同じ品質のリフレクション関数を使用するようになりました。Unity WebGLは今まで、モバイルのOpenGL ES 2.0向けに単純化されたスタンダードシェーダーを使用していましたが、5.3からデスクトップ用のものと同じ機能を使うようになったため、見た目のクオリティが格段に向上しました。
  • ソフトシャドウをサポートしました。
  • Unity WebGLはサーバー側で圧縮の設定がされていない場合でも、自分で適切に圧縮をハンドリングするようになりました。以前のバージョンでは、WebGLはホストするWebサーバーがgzip圧縮されたファイルを適切にクライアントに送信するように設定しておく必要がありました。それが行われていない場合、非圧縮のデータを送信することになり、ダウンロードサイズが本来あるべきサイズよりも何倍にもなってしまっていました。結局サーバーの設定を適切に行うのは難しい場合があるということがわかってきたので、私たちのWebGLランタイムはWebサーバーが圧縮データを送信できるように設定されていない場合でも、自動的にgzip圧縮されたバージョンのデータをWebサーバーからダウンロードするようにしました。ランタイムはデータのダウンロードを行うと、クライアント側でgzipの解凍を行います。これはプロトコルレベルで圧縮対応が適切に処理されている状態と比べるとすこし余計な時間がかかるのですが、それでも利用者の皆さんが巨大なダウンロードを避けるためにサーバーのマニュアルを熟読してなんとかする必要がなくなりました。ちなみにこの対応が入った今でも、Webサーバーの設定を適切に行っておけば以前と同じように圧縮対応はプロトコルレベルで適切に処理されます。(配信サイズについてはこちらをご覧ください).
  • ゲームに使用するアセットデータがメモリ内にLZ4圧縮されて保持されるようになりました。WebGLでは、実際にファイルシステムがあるわけではありません。このため、すべてのアセットはずっとメモリに置かれています。Unity 5.3ではメモリ内のアセットデータはLZ4を使用して圧縮されており、アセットがロードされるときにのみ解凍されます。これはアセットデータがより少ないメモリを消費するということで、メモリ不足になるリスクがより小さくなりました。
  • WebGLでビルドされたファイルがより簡単に異なるURL上に持っていけるようになりました。ビルドプロセスで生成されるすべてのファイルは生成されたindex.htmlファイルから直接参照されます。設定が必要なURLがすべて一つのファイルに集約されたので、ビルドしたデータを別のサーバーに持って行くのが簡単になりました。(ビルド出力を移動したい場合は、こちらを参照してください)
  • WebGLはさらに、Unity Cloud Buildで選択可能なプラットフォームとなりました。チームメンバーは直接ゲームやアプリケーションをブラウザからテストすることができます。
  • ドキュメントの改善。Unity 5.3ではWebGLのドキュメントを改修し、たくさんの情報を追加しました。いまのWebGLで何ができて何ができないのか、あるいは特定のブラウザーでのみサポートされている機能は何か、といったことは現状ではとても大事なことなので、これがわかるように詳しい情報を記載しました。
  • 数々のバグ修正。Unity 5.3はUnity 5.2から、28のWebGLに関するバグを修正しています。さらに、ほかにも(WebGL特有というわけではないが)WebGLユーザーにメリットをもたらす修正が含まれています。また、Unity 5.2.xのパッチリリースの中で対応してきたいくつかのWebGL関連バグの修正もすべてUnity 5.3に含まれています。

WebGLはUnityの正式なビルドターゲットに

これまでUnityのWebGL機能は非サポートのプレビュー版機能として提供されてきました。Unity 5.3にて、わたしたちはこの「プレビュー」の表記を落とし、正式にサポートされたビルドターゲットに昇格します。プレミアムサポート、およびエンタープライズサポートプランは、今後WebGLをサポート対象としてカバーします。

Unity 5.3は上記で書かれたような沢山の改善をWebGL開発者に提供します。また、5.2および5.1のサイクルでも、同じように数々の改善を行ってきました。わたしたちはUnityのWebGL機能が5.0以来長い道のりを乗り越えてきたと感じています。同じように、ブラウザーテクノロジーもこの期間で改善されていきました。MicrosoftはWindows 10でasm.jsをサポートする新しいEdge ブラウザーをリリースし、UnityのWebGLコンテンツの実行速度はかつてのInternet Explorer 11に比べて大幅に高速になりました。UnityのWebGLコンテンツを楽しめる人々の潜在的な総数が今までよりも広がったのは間違いありません。

WebGLプラットフォームは5.0でPreview版をリリースしたときに比べて大幅に良くなりました。ただし、これはUnityの全ての機能が突然WebGLで動作するようになったという訳でもなければ、パフォーマンスがデスクトップ向けのビルドと遜色ない速度になったわけでも、全てのブラウザーでコンテンツが再生できるようになったわけでもありません。これらのすべてのエリアで改善が見られていますが、あくまで一歩一歩良くなっているのです。そうした課題はありつつも全体としてみると私たちのWebGL機能はこのプラットフォームの制約の中ではかなり上手く動作するようになったと思いましたので、今がWebGLを正式なビルドターゲットとするべき時だと考えたのです。その分、私たちはドキュメントに力を入れてどういった制約事項があり、どのブラウザーでどの程度の期待ができるのかといったことをよく分かるようにしました。

ブラウザーベンダーとの協力

私たちのWebGL出力機能はブラウザーのWeb技術に大きく頼っています。私たちは過去数年間、ブラウザーベンダー大手3社と密接に協力し、これらのテクノロジーの改善に貢献してきました。

Mozillaのプラットフォームプロダクト マネージメントディレクターである Martin Best氏は「MozillaはUnityが次のステップに進みWebGL出力機能に対する正式なサポートを提供することをとても嬉しく思います。私たちはasm.js、WebGLやEmscriptenと言った多くの基盤となるWebテクノロジーを創始し、こうしたことを可能にしました。私たちはUnityや他のブラウザーベンダーと密接に関わっていき、最高のWebゲーム体験を実現していきます」 と言っています。より詳しくはMozillaのブログでお読みいただけます。

Microsoftでは、EdgeおよびOpen Web Standards のプリンシパル プログラムマネージャーのDavid Catuhe氏が: 「Microsoft EdgeにとってWebGLとasm.jsはWindows 10ユーザーに完全なWeb体験を提供する重要な要素です。WebGLビルドターゲットをリリースすることで、Unityはデベロッパーが素晴らしいゲーム体験を私たちのユーザーに、Webを通して提供する能力を与えてくれます。私たちにとってもUnityと共に仕事をして、WebGL、asm.jsやその他の機能強化をWebプラットフォームに提供していくことはまたとない機会です」とコメントを寄せています。

Google ChromeのWebGLチームであるBrandon Jones氏、Zhenyao Mo氏 と Ken Russell氏はデベロッパーコミュニティに向けて同様の意見を表明しています:「UnityのHTML5およびWebGL出力サポートはこのエコシステムの中で最もエキサイティングなことの一つです。世界中のデベロッパーがUnityを使って素晴らしいコンテンツをWebに持ち込むでしょう。私たちは今後も継続してWebプラットフォームのパフォーマンスと機能を改善し、さらにエキサイティングなインタラクティブコンテンツを可能にしていきます」

さあ、あなたのターンです

私たちはUnityのWebGL出力機能がWebのゲームの未来だと信じています。Heroes Of ParagonSpider BoxBig Buck Hunterのように、UnityのWebGL出力を使ったすでにリリース済タイトルも出てきています。このリストにあなたのゲームの名も連ねましょう!

始めるには:

32 replies on “Unity 5.3 WebGL アップデート”

[…] La 3D sur le web va enfin pouvoir devenir une réalité, grâce au support du WebGL. Une technologie également supportée par les principaux moteurs de jeu vidéo, dont le fameux Unity. […]

[…] 有好消息要和大家分享!我們的長期合作夥伴「Unity」已宣佈結束 WebGL 匯出功能的預覽階段,成為正式的 Unity 5.3 版本。在過去 6 個月以來,Unity 及瀏覽器開發者均努力突破品質與效能方面的問題,要讓此一技術能完整開發者以達絕妙的視覺效果。 […]

[…] vendors dropping NPAPI, the technology which Unity’s web player relied on, the focus shifted, relatively quickly, to WebGL. While the performance of Unity’s WebGL vs the old Web Player is… well, […]

[…] อย่างไรก็ตาม ตอนนี้ Unity ก็ยังไม่ได้รองรับ WebGL อย่างร้อยเปอเซ็นต์ เพราะฉะนั้นหากใครมีปัญหาตรงไหน หรืออยากจะติชมก็สามารถทำได้ในส่วนนี้ […]

[…] WebGL in Unity, and the work that has gone into bringing WebGL support to the engine, check out our in-depth blog post on the […]

[…] utilizar novamente a Unity para desenvolver o jogo, e vou dar mais uma chance para o exportador do WebGL que finalmente saiu do beta versão 5.3 lançada recentemente. Depois da Ludum Dare vou fazer um […]

WebGL much improved!, but the camera in the web build ends up pointing down. Plays fine in the editor and loads correctly in the web build but as soon as the mouse enters the frame camera points down.

[…] – insbesondere was die Browserkompatibilität angeht – bietet die umfangreiche Dokumentation; der oben genannte Blogpost fasst noch einmal alle Änderungen in Unity 5.3 übersichtlich zusammen. Die neue Version steht auf […]

Fantastic news, WebGL is going to be a big platform for us in our upcoming release, great to hear it has come in leaps and bounds in 5.3 :-)

Thanks Jonas for this update. WebGL is huge for us and we are absolutely excited what Unity is already bringing us today. 2016 will hopefully make haste with experimental webworkers+shared array buffers as that is the key feature that prevents us from porting our 3D GIS webapp to a (performant) WebGL app. Cheers for the Unity team with this milestone 5.3 release!

[…] Unity Technologies ma új verziót ad ki közismert játékfejlesztő platformjából, ami ezúttal a böngészős játékfuttatás terén […]

For the WebGL platform, What are the limitations of Asset bundles? Max # you can have in a project and max size of the bundles? Is there any update to the limits for these?

“WebGL in Unity Cloud Build is now a platform option. Team members can directly test the game/application in the browser.” YYYAAAAAAAYYYY!!!! ^_^

Hi.
Can You share details on a time of day when it’s going to be released on 8 December ?
And what timezone You’re using in Your road map, Pacific Time?
Thanks.

Does this mean that those of us who have been working to get WebGL working on ARM based Chromebooks are going to see a performance hit as compared to the 5.2.x builds?

Well that didn’t work. I had attempted to do a block quote cite of “The Unity Standard Shader now uses Desktop-quality reflection functions for WebGL.” but it didn’t work and I can’t edit the old message. Thus, my question is in the context of the standard shader feature.

Right, and how about render texture support? This is preventing me from building my projects for webGL, and with the looming death of the Webplayer the situation is looking dire.

Nice improvements! what about global illumination? any chance of using it in webgl builds?

Thanks and great work!

Comments are closed.