【Unity】5.4&5.5新機能を深掘り(Android&iOSリニア対応編)

投稿者: | 2016年10月21日

はじめに

こんばんは、代表の堂前です!

前回に引き続き、Unityの5.4&5.5系での新機能の深掘りを行っていきます。
今回は5.5のリリースノートからのこちら。

Graphics: Add linear rendering on Android with OpenGL ES 3.x and iOS with Metal.

つまり、AndroidとiOSでのリニアレンダリング対応についてになります。

※検証したのはMacのUnity5.5.0b8になります。
※リニアレンダリング自体の解説は本稿では行いません。
※推定事項も含まれますので、その点ご了承下さい。


設定項目

アプリのカラースペースの設定はPlayer Settingsで行えます。
5.4系まではStandalone(PC)などは設定項目(Color Space)があり変更が出来ましたが、iOS等に切り替えると項目がなくなり、設定が出来ない状態になっていました。

しかし5.5ではiOS等でもColor Space項目が存在して設定できるようになっています!

unity_5-4_playersettings_pc unity_5-4_playersettings_ios unity_5-5_playersettings_ios
5.4 PC 5.4 iOS 5.5 iOS

「Color Space」を「Linear」にすることでリニア対応が可能になるのですが、単純に設定するとそれぞれで警告が発生してしまいます。

unity_5-5_linear_ios_warning unity_5-5_linear_android_warning
iOS Android

ちなみに警告がある状態ですと、ビルドが出来ません!

unity_5-5_linear_builderror

ですので警告は解消しなければいけないのですが、原因はリリースノートにも書かれていますが、以下を満たす必要があります。

iOS ・グラフィックAPIがMetalである。
・対象iOSバージョンが8.0以上である。
Android ・グラフィックAPIがOpenGL ES 3.0である。
・対象OSが4.3以上である。

上記設定も引き続きPlayer Settingsで行えます。
iOSを例に取りますが、以下のようにすればOKです。(Androidも同様)

unity_5-5_fixlinear

これでアプリのレンダリングがリニア対応されているはずです。


対象端末の考案

設定的な話はさほど難しくは無いのですが、設定によってはビルドできないということは、この機能は端末を選ぶものであるということを認識する必要があります。

要求レベルがどの程度の端末であるかを調べてみましょう。
例えばiOSですが、Metal対象のものの列挙がこちらにまとまってます。

端的に言えば要求を満たすのは以下の通りです。

・iPhoneは5s以降が可能。
・無印iPadは不可。
・iPad Airは全てOK。iPad Proも同様。
・iPad miniは2以降が可能。

世代的には大体2013後半以降の端末が対応という状況になっています。
これが厳しいかどうか、設定するだけの価値があるかどうかは著者は判断しかねます。なんとも言えません・・・。

判断の一助になるのが「Unity Hardware Statistics」になると思います。
簡単に言えばデバイスの状況を集計するためのシステムで、我々もその結果を参照できます。

特にグラフィックAPIのバージョンが重要なのですが、AndroidiOSで確認してみると以下のようになっています。(2016-09版)

・iOS・・・約71.1%
・Android・・・約61.1%

6、7割はサポートしているという数値ではありました。
これも多い少ないは・・・筆者からは何も言えません。
ただ調べ方としてこういう流れがありますよというお話になります。

あとはアプリ自体の特徴も有り得るでしょう。
例えば「スマホで超ハイエンド志向!」という方向性ならばES3未満を無視してしまうというのも考えとしては有りだとは思います。


 

 

【免責事項】
本サイトでの情報を利用することによる損害等に対し、株式会社ロジカルビートは一切の責任を負いません。

【Unity】5.4&5.5新機能を深掘り(Android&iOSリニア対応編)」への1件のフィードバック

  1. ピンバック: 【Unity】5.4&5.5新機能を深掘り(シェーダでのビュー逆マトリクス編) – 株式会社ロジカルビート

コメントは停止中です。