【開発ノート】ARCoreで周辺環境光をARオブジェクトに反映

NEWS

2019.09.03

ブログ 開発ノート

テーマ:

こんにちは
エム・ソフトのエンジニアのhanawaです。

エム・ソフトでは、ARやXRのアプリを日々開発しています。

開発に役立ちそうな情報やメモなどを不定期で公開していきたいと思います。


 

今回は、ARCore 1.10で追加された光源処理の機能を試してみます。

・Light Estimation API 新しい環境HDRモードを追加

以前のバージョンでもカメラ画面に映った画像から周囲の明るさを推定してARオブジェクトに反映させることができていましたが、v1.10からはさらにリアルな陰影・ハイライト・反射等が反映されるようになったということです。
では、試してみましょう!

実行環境

Unity 2019.1.0f2

ビルド手順

ここ ( https://developers.google.com/ar/develop/unity/quickstart-android ) に書かれている手順通りに実施します。

注意点としては、UnityHubからAndroid SDKをインストールして、Player SettingsでMinimum API LevelとTarget API Levelを7.0にした場合、ビルド時にエラーになることがあります。その場合は、下記を実施します。

  1. コマンドプロンプトを起動
  2. cd c:\Program Files\Unity\Hub\Editor\2019.1.0f2\Editr\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin
  3. bat “build-tools;24.0.3”
  4. bat “platforms;android-24”

※パスはご自分の環境に合わせて適時変更してください。

サンプル実行

v1.10から、ドロイド君がメタリックになりました。また、水平面は緑、垂直面は紫、写真にはないですが、特徴点には青とカラフルなドロイド君になりました。

2枚の画像を見ると反射されている光源の大きさが異なることがわかります。これらは周りの明るさを元にシーンに合わせて光源の色や角度等が自動的に変更されます。

また、ドロイド君の足元には影も表示されているのが分かります。

これまでのARCoreでは、周辺の環境光にARオブジェクトを合わせるためには、シェーダーを書く必要がありましたが、v1.10からは光源側ですべてこれらの実装がされているため、既存のオブジェクトをシーンに配置するだけで、新しい環境HDRモードが体験できるようになりました。

以前よりも手軽にリアリティのあるARが可能になりますね!

 


 

エム・ソフトは、新しい技術や可能性を日々追求しています。

ご興味をお持ちの方は、ぜひお気軽にお問合わせください!