トマシープが学ぶ

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

Tango+InkPainter試す

Tangoで家の壁や床のメッシュをとって、そこにinkpainterでインクを垂らすというのをやりたいと思います。

できませんでした。でもTango+inkpainterはできました。

追記:こんな天才的な発想をするのは私だけだと思っていましたが、いろんな人がやってました。やり方はそれぞれ少し違うけど、成功してる。

esprog.hatenablog.com

qiita.com

Meshを取得

TangoのサンプルのMeshbuilder~physicsを使います。

Tangoで床のメッシュを取得して、 Meshを透明にして、背景画像を写すのはこの記事でやっています。

bibinbaleo.hatenablog.com

ただinkpainterはこの記事で使った透明シェーダーではインクが表示されなかったので、Standardシェーダーをtransportして半透明にしました。完全な透明も表示されない。

f:id:bibinbaleo:20170729102912p:plain

これで実行すると部屋が薄い膜のメッシュで覆われます。

f:id:bibinbaleo:20170729104126p:plain

たのしー

InkPainter

inkpainterというアセットを使います。

このアセットのサンプルの中のsample10-HighMapFluidを使います。

f:id:bibinbaleo:20170729103358p:plain

使うというか、必要そうなとこをプレファブ化して、新しく作ったシーンに持ってきました。

先ほどのMeshbuilder~physicsも必要そうなとこも同様にして新しいシーンに追加、がっしゃんこします。

Dynamic meshにInkpainterのスクリプトをつけて

f:id:bibinbaleo:20170729103816p:plain

Tango CameraにもInkpainterのスクリプトをつけます。

f:id:bibinbaleo:20170729103911p:plain

ちなみにスクリプトコンポーネント)は右の歯車マークからCopy Componentでコピーして、対象のオブジェクトの適当な歯車からpaste as new componentでペーストできます!便利。

 

BallManagerもクリックでボールが出るスクリプトなのでこれを外して、実行したらできるはず・・・

できませんでした。

あらかじめ置いて置いた球にはぬれるけど、ダイナミックで生成された壁のメッシュには塗れませんでした。

なんでだろ〜そいうものなのかな?

まあDynamic Meshオブジェクトを外して適当なオブジェクトを置いたらAR InkPaintrはできるのでタイトルに詐欺はない。

esprog.hatenablog.com

おまけ:Google Driveでインストールボタンを押せない

私はビルドしたapkファイルをandroidに入れるのにGoogle driveを使っています。

ただインストールするときにインストールボタンが押せないことがたまにあります。

「提供元不明のアプリ」のインストールボタンが押せない場合の対処 | TeraDas-テラダス

 調べたら画面オーバーレイアプリのせいだそうです。私の場合は画面録画アプリとか。これをオフにしたらいいらしい。

毎回再起動してた。