前回記事の続きとなります。
・HoloLensでホログラムにアクションを付ける
http://bluebirdofoz.hatenablog.com/entry/2017/04/19/001341
今回はチュートリアルで体験したアンダーワールドについて、その仕組みを確認していきます。
まずはもう一度アプリを起動して、アンダーワールドを出現させます。
その状態でhololensが穴より下に位置するように屈んでみると…
見えない壁をすり抜けてアンダーワールドの世界に入れました。
UnityのプロジェクトでUnderworldを有効化してみると理由は一目瞭然です。
この真っ黒な正方形のオブジェクトがアンダーワールドです。試しに"DarkBox"のメッシュを外してみると…
中にアンダーワールドのオブジェクトが作り込まれていました。
ここで思い出すのは一番最初のチュートリアルで背景色に行った設定ですね。
・HOLOLENS 初めての開発 “HOLO”WORLD
https://azure-recipe.kc-cloud.jp/2016/12/hololens-tutorial1/
・Hololensでの開発で知っておくと便利なこと
http://qiita.com/miyaura/items/0f4cedb30101ab6a952b
Hololensでは黒色が透過扱いになります。
ここでは背景色にカラー[R 0][G 0][B 0][A 0]の真っ黒を指定することで背景を透過させていました。
つまり、この巨大なボックスも真っ黒なので透過扱いになっているという考えです。
仮説が正しいか確認するため、ボックスの色を白に変えて再実行してみます。
どうやら正しかったようです。見渡す限りの巨大な白いボックスが現れました。
さて、ここで一つ気になることがあったので試してみます。
"DarkBox"のメッシュを外し、色を付けないことによるオブジェクト透過の状態でアプリを起動してみます。
結果、こちらのやり方では最初からアンダーワールドが見える状態となりました。
今回の調査で面白いのは、同じ透過でもオブジェクトに色を付けない透過と黒色での透過は動作が異なるという点ですね。
黒色での透過は、そのオブジェクトに内包されたオブジェクトも含めて透過するということです。
これはhololensが黒色を透過色として扱っているだけということを考えれば当然の動作ですが、盲点でした。
この知恵は知っていれば何かに使えるかもしれません。