2019年の末にDigiGirlzというイベントでHoloLensのデモアプリを作成、アテンドをおこないました。
MRTKv2.2.0のPulseShadeを含む数多くの実験的機能を盛り込んだアプリに仕上がりました。
今回からアプリに関して少しずつ残します。
前回の記事はこちらです。
PulseShaderを応用してダンスの曲の進行に合わせてMaterialを変更するスクリプトを書きました。
イベントでのデモに関してはこちら記事を見てください。
〇キャラクターを入れ替える
今回のデモアプリでは、アプリ起動後にキャラクターが登場して踊り始めるためにAirTapの動作を行うほかはユーザーは操作をする必要はなく、見るだけの体験となります。
ただキャラクターがずっと踊るだけではつまらない、飽きてしまうと感じ、またHoloLensの表現の挑戦として曲の2番が始まる前にユニティちゃんが変化する仕組みを盛り込みました。
・SDキャラクターとリアルキャラクターの入れ替え
1番のサビが終わるまでは2頭身のユニティちゃん(SDユニティちゃん)ですが、間奏から2番に間にリアルの頭身のキャラクターへと入れ替わります。
曲が間奏へと入るとともにユニティちゃんの体にメッシュが表示され、まるでキャラクターのメッシュが一度ばらばら舞い上がりながら分解されるような見た目で一度退場します。
・2つのSDユニティちゃん
SDユニティちゃんの演出には2つのユニティちゃんのオブジェクトを用意しています。
本来一つのSDユニティちゃんのMeshRendererなどですべての処理を完結させ、オブジェクト数を増やさないほうがスマートですが、今回のデモアプリは何しろ三日三晩で作ったためオブジェクト数が増えたり処理に多少の負荷をかけたとしても確実な方法を取りました。
主となるSD_UnityChanとは別に演出用のhologramSD_UnityChanというオブジェクトを用意しました。Material以外はSD_UnityChanと共通です。
hologramSD_UnityChanにはPulseShaderに含まれるHandTriangles Shaderを用いています。 HandTriangles Shaderは以下の記事にまとめています。
ここではAutoPulseのチェックボックスを外し無効化しています。 これによってPulseが自動で走ることはなくメッシュがただ表示されるようになります。
・Animation
間奏に入るとSDユニティちゃんに重なる形でhologramSD_UnityChanのMeshRendererがアクティブになりメッシュが現れます。
SD_UnityChanがディアクティブになると同時にAnimationによってhologramSD_UnityChanのMaterialのPulseの値を変更させることによりメッシュをばらばらに展開しています。
以上の演出を実際はユニティちゃんのダンスの動きの中で行っているため、実際は派手にメッシュが舞うように展開されます。
今回はSDユニティちゃんのリアルユニティちゃんへの入れ替え SDユニティちゃんの退場の演出を紹介しました。
次回はリアルユニティちゃんの登場の演出を紹介します。