夜風のMixedReality

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

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

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

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

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

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

redhologerbera.hatenablog.com

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

redhologerbera.hatenablog.com

  

〇MRTKShaderを用いた魔方陣の演出

 UnityのAnimationではマテリアルもAnimationで変化させることができます。

 今回の魔方陣ではMRTKStandardShaderを用いて二つの表現を行っています。

〇魔方陣の発行色を変化させる

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

 デモアプリの魔方陣では最初は白く発行する魔方陣が、回転を始めるとともに赤、黄色、緑、青に発光色が変化します。

 これはMRTKStandardShaderを適応したマテリアルをアニメーションによってパラメータを変化させることで行っています。

 まずAnimation、AnimationControllerがアタッチされている魔法時オブジェクトのAnimationWindowでAdd Propartyを選択します。

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

 魔方陣オブジェクト自身のTransformに次いで子オブジェクトの名前が表示されます。

 ここでは、内cross1というオブジェクトを扱います。    f:id:Holomoto-Sumire:20191227151425j:plain

 Add Popertyで内cross1を選択するとさらに Is Active ,Transform.Mesh Rendererが表示されます。

 これはそれぞれ   

・Is Active

     内cross1オブジェクトを有効にするか、無効にするか

・Transform

    内cross1オブジェクトのTransformのアニメーション

・Mesh Renderer

  内cross1に設定されているMaterialのアニメーション

 を設定します。

 ここではマテリアルで発光色を変化させたいのでMesh Rendererを選択し、さらにその中に含まれるMeshRenderer.Material._Emissive Colorを選択します。

 するとAnimation WindowのPropertyに内cross1:Mesh Renderer.Material._Emissive Colorが追加されます。

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

 ここで簡単にAnimation Windowを説明すると最上部に並ぶ数字は時間を指しています。    そして内cross1:Mesh Renderer.Material._Emissive Colorは、時間が0:00と1:00の時点でそれぞれ印が付いています。

 これは、0:00秒目に○○という状態、1:00秒目に○○という状態ということを指定して、その間の0:00~1:00の時間はAnimationによって自動的に中割されます。    つまり、0:00秒目に数値0という状態、1:00秒目に数値1という状態と指定した場合0:50秒目は数値0.5を取ります。

 では、内cross1:Mesh Renderer.Material._Emissive Colorのアニメーションを設定します。

〇MRTKStandardShaderを用いたアニメーション

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

 内cross1:Mesh Renderer.Material._Emissive ColorはMaterial.Emissive Corlorがx,y,z,wの4つの設定項目があります。

 これはそれぞれRGBAに対応しています。

 0:00でそれぞれ1,1,1,1(白色) 1:00でそれぞれ1,0,0,1に設定しました(赤色)。    実際にアニメーションを動かしてみます。

 動かすためにはAnimation Windowの上部にある実行アイコンをクリックします。

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

 実行結果は以下のようになります。

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

 確かに1秒かけてMRTKStandardSaderを適応したマテリアルの発光色が赤く変化しています。

 次回は形状の変化を行います。