夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

DigiGirlzイベントで小中高生向けにHoloLensのデモをしてきました。 アプリ開発編 その⑤ PulseShaderを応用する

 2019年の末にDigiGirlzというイベントでHoloLensのデモアプリを作成、アテンドをおこないました。

 MRTKv2.2.0のPulseShadeを含む数多くの実験的機能を盛り込んだアプリに仕上がりました。

 今回からアプリに関して少しずつ残します。

 前回の記事はこちらです。

 PulseShaderを応用してダンスの曲の進行に合わせてMaterialを変更するスクリプトを書きました。

redhologerbera.hatenablog.com

 イベントでのデモに関してはこちら記事を見てください。

redhologerbera.hatenablog.com


HoloLens DigiGirlzDemoApps

〇キャラクターを入れ替える

 今回のデモアプリでは、アプリ起動後にキャラクターが登場して踊り始めるためにAirTapの動作を行うほかはユーザーは操作をする必要はなく、見るだけの体験となります。

 ただキャラクターがずっと踊るだけではつまらない、飽きてしまうと感じ、またHoloLensの表現の挑戦として曲の2番が始まる前にユニティちゃんが変化する仕組みを盛り込みました。

SDキャラクターとリアルキャラクターの入れ替え

 1番のサビが終わるまでは2頭身のユニティちゃん(SDユニティちゃん)ですが、間奏から2番に間にリアルの頭身のキャラクターへと入れ替わります。

 

f:id:Holomoto-Sumire:20200105205211j:plain
1番のユニティちゃん(2頭身のSDキャラクター)

 曲が間奏へと入るとともにユニティちゃんの体にメッシュが表示され、まるでキャラクターのメッシュが一度ばらばら舞い上がりながら分解されるような見た目で一度退場します。

 

f:id:Holomoto-Sumire:20200105204918g:plain
SDのユニティちゃんの入れ替え メッシュがばらばらと散るイメージ

 

・2つのSDユニティちゃん

 SDユニティちゃんの演出には2つのユニティちゃんのオブジェクトを用意しています。

 本来一つのSDユニティちゃんのMeshRendererなどですべての処理を完結させ、オブジェクト数を増やさないほうがスマートですが、今回のデモアプリは何しろ三日三晩で作ったためオブジェクト数が増えたり処理に多少の負荷をかけたとしても確実な方法を取りました。

 f:id:Holomoto-Sumire:20200105220335j:plain

 主となるSD_UnityChanとは別に演出用のhologramSD_UnityChanというオブジェクトを用意しました。Material以外はSD_UnityChanと共通です。

 hologramSD_UnityChanにはPulseShaderに含まれるHandTriangles Shaderを用いています。 HandTriangles Shaderは以下の記事にまとめています。 

redhologerbera.hatenablog.com

 f:id:Holomoto-Sumire:20200105221019j:plain

 ここではAutoPulseのチェックボックスを外し無効化しています。 これによってPulseが自動で走ることはなくメッシュがただ表示されるようになります。

・Animation

 間奏に入るとSDユニティちゃんに重なる形でhologramSD_UnityChanのMeshRendererがアクティブになりメッシュが現れます。

 f:id:Holomoto-Sumire:20200105221828g:plain

 SD_UnityChanがディアクティブになると同時にAnimationによってhologramSD_UnityChanのMaterialのPulseの値を変更させることによりメッシュをばらばらに展開しています。

f:id:Holomoto-Sumire:20200105222506g:plain

 以上の演出を実際はユニティちゃんのダンスの動きの中で行っているため、実際は派手にメッシュが舞うように展開されます。

今回はSDユニティちゃんのリアルユニティちゃんへの入れ替え SDユニティちゃんの退場の演出を紹介しました。

 次回はリアルユニティちゃんの登場の演出を紹介します。