前回は1.5を少し触ってあんまりうまく動かないで終わりました。
最近ios12が使えるようになって有料開発者登録していない人でもArkit2.0を使えるようになったので触ってみます。
タッチしてオブジェクトを出す
こちらの記事を参考にUnityで動かします。
ARkit2.0のプロジェクトをダウンロード&開く
Unity-Technologies / Unity-ARKit-Plugin / source / — Bitbucket
ARkitsceneというシーンをコピーする!
Unityを使い始めて2年ぐらいたつけど、シーンを複製できるの初めて知った。
まえググったらプレハブがどーとかって出てきてできないと思ってた。
File>save scene asでもできるし、edit>duplicateでもできる。うそでしょ。うそでしょ
UnityARCameraManagerで、平面と壁のどちらを認識するかを選べる。
あとEnvironment Texturingで環境マップ、映り込みをするか設定できるがこれだけではだめ。環境マップはあとで
こちらに記載されているコードを空のゲームオブジェクトに張り付けて、出現させたいものをプレハブにしてくっつける。
影だけ映すシェーダーを適用したPlaneをモデルの下に引いた。
実行したらこんな感じ。影も出る。
ちゃんと壁にもくっついた。かわいい。
頭の球は環境マップの映り込みができるかと思ってやったけど、そのままの設定じゃダメみたいだった。
環境マップ
こんな感じで回りの景色が映りこむ
ARKit2やっとビルドできた〜!
— ARおじさん (@AR_Ojisan) August 11, 2018
外部環境を仮想オブジェクトに自動で反映してくれるAR Environment Probe Anchorをトライ
ARで表示した鉄球の下部に机の上のものがきちんと写り込んでる!
反射するテクスチャーに外部環境を自動で反映してくれるので現実感が増して開発者としては嬉しい pic.twitter.com/sf4pPH0bFe
Unity公式サイトにやり方が少し書いてた。
Examples/ARKit2.0/UnityAREnvironmentTextureがサンプルシーン
UnityAREnvironmentTextureManualもあったけど中身を見ても違いが判らなかった。
実行したらこんな感じ。
ちゃんとポスターが映りこんでいます。
それにしても大量にバウンディングボックスと球が出てくる。
このスクリプトの中の
DebugReflection~でボックスとProveSphereを出している。
力技で二つともシェーダーを透明にした。
自分のオブジェクトに映り込みを適用するには、シーンにGenerate~を置いたらよかった。
あとEnviroment TexturingをUnity~Automaticにした。
こんな感じ!
テカテカ。
反射させたいもののシェーダーはSmoothを1に近づける
あと必要か知らないけどLightingをAuto
エディタ上でもてかてか!