夜風のMixedReality

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

HoloLensで使える3Dモデルを作る ~ライトセーバーを作る~ その⑫ ライトセーバーの刃の起動アニメーション

HoloLensでは現実空間に3Dオブジェクトを配置、作用させることによってMixedReality(複合現実)を実現しています

 この3DオブジェクトはHoloLensやxRの分野だけではなく、映画、ゲーム、製造、建築など多くの業界で幅広く用いられるようになりました。

 3Dオブジェクトを作成するツールも増え、少し良い性能のPCさえあれば3Dモデルを作ることは誰でも簡単にできるようになりました。

 前回からライトセーバーを作っています。 今回は12回目の記事です。

 前回の記事はこちら

redhologerbera.hatenablog.com

〇セーバーの起動状態と非起動状態をアニメーションで遷移させる。

 前回ライトセーバーの刃に当たるブレードを作成しました。今回は刃の出し入れを任意のタイミングで行えるようにアニメーションを用いて作成します。

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

・Animation

 前回までにMaterialをAnimationで変化させる機能を勉強しています。 今回はスケールとポジションを使用したAnimationに取り組みたいと思います。

 UnityのAnimation機能では大きく、コンポーネントの機能のオン・オフ、数値の遷移を行います。今回のライトセーバーのブレードでは[Transform(オブジェクトの位置や回転、大きさ)] を使用します。

 ここまでで作成しているライトセーバーは以下の作りになっています。

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

 [ライトセーバー]というオブジェクトの子オブジェクトとしてブレードに当たる[Cricle]があります。

 この[Cricle]オブジェクトのスケールをAnimationで変更します。

 [Project]で右クリックから[Create]、[Animation Controller]と[Animation]を作成します。

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

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

 作成した[Annimation Controller]を[Cricle]オブジェクトの親である[ライトセーバー]オブジェクトにアタッチします。

f:id:Holomoto-Sumire:20200121090503j:plain
ライトセーバーオブジェクトのInspectorではAnimatorが追加されます。

 次に作成した[Annimation Controller](今回はBlade)をクリックして[Animator]Windowを表示させます。 作成したAnimationをドラッグ&ドロップで[Animator]Windowに配置します。

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

 以上で下準備が終わりました。 

〇起動アニメーション

 ライトセーバーのブレードは一瞬で形成されます。 多くのジェダイやシス達も一瞬でライトセーバー戦を繰り広げました。

 今回のHoloRanger用のライトセーバーもこれと同じく一瞬で起動するようにします。

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

 [Blade]Animation Controllerがアタッチされた[ライトセーバー]オブジェクトを選択した状態で、[Animation]Windowを開きます。

 [Add Property]をクリックし、ブレードに当たる[Circle]オブジェクトの[Transform]、[Scale]を選択します。

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

 AnimationのPropertyに[Circle]の[scale]が追加されました。 タイムラインから最初のキーフレームの値を[0]にします。

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

 これでスケールが0から大きくなりブレードが発生するアニメーションができました。

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

 途中にキーフレームを加えたりして調整したものが次になります。

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

 以上でライトセーバーのブレードの起動アニメーションが作成できました。