Unityでインディゲームを作る!

Unityでのゲーム制作を目指し、それに関わる話題についてのブログ

Unity Learn『モバイルアプリのための3Dアートの最適化』原題"Arm & Unity Presents: 3D Art Optimization for Mobile Applications"を読みました。

The 3D Art Optimization

Unity Learnは、Unityが提供する学習サービスであり、去年だかに有料コンテンツが無料化されたりと、Unity独学においては欠かせない素晴らしいサービスです。

 今回はそこに掲載されている、3Dアート最適化に関する学習コースをレビューしたいと思います。

 3D Art Optimization for Mobile Applicationは英語記述ですが、それなりに易しい英文で非ネイティブでも読みやすい文章です。今回はこのコースで得られることをコンパクトにまとめてみます。

 各テクニックや知識に関しての具体的な内容については、テーマごとにいくつかの記事に分けて書いた方がいいかなと思いました。なので、本コースを引用する形で、また別個の記事を書いていきたいです。

 

というわけで、本記事はあくまでザックリとしたレビューになります。

 

目次:

・より良い動作のために

・意味のある見た目の良さを

・得られる知識について

・まとめ

 

より良い動作のために

 題名にモバイル・アプリケーションのための、という前置きはあるのですが、別にモバイル・アプリ用途だけに限らない、普遍的な内容でした。一応、中級者向けではあるのですが、基礎的な部分も多いと思うので、気になる部分だけでも読んで損はないテキストだと思います。

 というか、もはやモバイルは主流のプラットフォームであり、モバイルでの動作について考慮するのは、よほどの大作ゲームでない限り、ほぼほぼ必須なのではないでしょうか。

 

 そして、この記事で得られる知識やテクニックは、別にAAAゲームにだって適応できるモノです。なので、あらゆるゲームの動作を最適化するテクニックや、グラフィカルな要素についての知識を学べるコースで、ジオメトリ、テクスチャ、マテリアル、シェーダー、ライティングといった各分野ごとに分かれて構成されています。

 

 Unityゲームのパフォーマンスについては、作り手にしてもプレイヤーにしても、大きな関心ごとです。どんなゲームも軽い方が良いし、動作が安定している方が、楽しく遊ぶことが出来ます。

 

意味のある見た目の良さを

 ゲームにおいて、グラフィックが様々な機能を果たしていることは間違いありません。グラだけじゃダメ!と言われつつも、やはり誰しも良いグラフィックのゲームを楽しみたいものです。

 そして、現代の3Dゲームにおいて、そのパフォーマンスに大きな影響を与えるのも、やはりグラフィックになります。

  

 通常、最適化というのは開発の初期段階では考えるべきではなく、実際にソフトを動作させてProfile(計測)し、検討するべきことです。しかし、アート部門もプロトタイプを作るにせよ、そのゲームのシステムに合う、適切なアート製作方針がないと、効率的な制作が難しいのではないでしょうか。

 アートデザインの段階から、そのゲームのシステムやスタイルについて理解していないと、必要のない余分な作業をしたり、実際のゲーム上で機能しない3Dアート・アセットを制作してしまうかもしれません。 

 

 例えば、カメラが自由に動き、オブジェクトとカメラの距離が変わるようなゲームの場合、その距離に応じてポリゴン数の異なる、いわゆるLODが異なる3Dモデルをいくつか用意しないとダメかもしれません。つまり、ゲームのスタイル、あるいは目標のプラットフォームによって、テクスチャの解像度や3Dモデルのポリゴン数は変わってきます。 

 カメラとオブジェクトの距離が変わらないゲームなら、LODが違う数種類のモデルを制作する必要はありませんし、画面が小さいモバイルゲームなら、4k解像度のテクスチャは過剰であり、マシンに負荷が掛かるだけです。

 

 このようにアーティスト自身、あるいは指示を出す側にとっても大事な基礎知識を学ぶことが出来ます。

 

得られる知識について

LOD : models of each level

LOD : 各レベルごとのモデル群

 3Dモデルに関する、最適化のテクニックとしてLevel Of Detail(詳細度レベル)通称LODというものがありますが、このコースの中でも扱われるテクニックです。少しだけ本記事で触れてみます。

 

 3Dゲームというのは、どのような規模であっても3Dレンダリングをどう制御し、その負荷をコントロールするか、ということが大きな課題になります。

 グラフィック処理に問題があると、特にモバイルアプリでは動作が重くなったり、バッテリー消耗が激しかったり、熱くなったりしてしまいます。もはや、そんなゲームはイライラするだけで誰もやりたくないですよね。

 

 要するに、画面に多くの頂点、そしてポリゴンが写るほどにグラフィック処理の負荷は増えるので、それをコントロールするためのテクニックがLODです。

 


 

 という感じのテクニックについて学ぶことができます。個人的にはグラフィック面における基礎知識を包括的に勉強できたので、かなり有益でした。

 

まとめ

 というわけで、今回はUnity Learnのとあるコースについて書いてみました。ここで学んだことは為になる知識ばかりだったので、最初に書いたようにいくつかの記事に分割して、シリーズ化できたらいいなぁと思いました。

 いよいよゲーム制作のためのツールが揃ってきた感じがしてワクワクします!