トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

ARkit2.0を触る with Unity【タッチで出現&写り込み】

前回は1.5を少し触ってあんまりうまく動かないで終わりました。

bibinbaleo.hatenablog.com

最近ios12が使えるようになって有料開発者登録していない人でもArkit2.0を使えるようになったので触ってみます。

 タッチしてオブジェクトを出す

こちらの記事を参考にUnityで動かします。

nn-hokuson.hatenablog.com

nn-hokuson.hatenablog.com

ARkit2.0のプロジェクトをダウンロード&開く

Unity-Technologies / Unity-ARKit-Plugin / source / — Bitbucket

ARkitsceneというシーンをコピーする!

Unityを使い始めて2年ぐらいたつけど、シーンを複製できるの初めて知った。

まえググったらプレハブがどーとかって出てきてできないと思ってた。

File>save scene asでもできるし、edit>duplicateでもできる。うそでしょ。うそでしょ

UnityARCameraManagerで、平面と壁のどちらを認識するかを選べる。

f:id:bibinbaleo:20180925210253p:plain

あとEnvironment Texturingで環境マップ、映り込みをするか設定できるがこれだけではだめ。環境マップはあとで

こちらに記載されているコードを空のゲームオブジェクトに張り付けて、出現させたいものをプレハブにしてくっつける。

影だけ映すシェーダーを適用したPlaneをモデルの下に引いた。

f:id:bibinbaleo:20180926102329p:plain

実行したらこんな感じ。影も出る。

f:id:bibinbaleo:20180925205817p:plain

ちゃんと壁にもくっついた。かわいい。

f:id:bibinbaleo:20180925205826p:plain

頭の球は環境マップの映り込みができるかと思ってやったけど、そのままの設定じゃダメみたいだった。

環境マップ

こんな感じで回りの景色が映りこむ

 

www.youtube.com

Unity公式サイトにやり方が少し書いてた。

blogs.unity3d.com

Examples/ARKit2.0/UnityAREnvironmentTextureがサンプルシーン

UnityAREnvironmentTextureManualもあったけど中身を見ても違いが判らなかった。

実行したらこんな感じ。

f:id:bibinbaleo:20180926094642p:plain

ちゃんとポスターが映りこんでいます。

それにしても大量にバウンディングボックスと球が出てくる。

このスクリプトの中の

f:id:bibinbaleo:20180926102326p:plain

DebugReflection~でボックスとProveSphereを出している。

f:id:bibinbaleo:20180926102324p:plain

力技で二つともシェーダーを透明にした。

f:id:bibinbaleo:20180926102322p:plain

自分のオブジェクトに映り込みを適用するには、シーンにGenerate~を置いたらよかった。

f:id:bibinbaleo:20180926102326p:plain

あとEnviroment TexturingをUnity~Automaticにした。

f:id:bibinbaleo:20180926105017p:plain

こんな感じ!

f:id:bibinbaleo:20180926104913p:plain

テカテカ。

f:id:bibinbaleo:20180926104918p:plain

反射させたいもののシェーダーはSmoothを1に近づける

f:id:bibinbaleo:20180926104940p:plain

あと必要か知らないけどLightingをAuto

f:id:bibinbaleo:20180926104937p:plain

エディタ上でもてかてか!

 f:id:bibinbaleo:20180926104935p:plain