HoloLensでは現実空間に3Dオブジェクトを配置、作用させることによってMixedReality(複合現実)を実現しています
この3DオブジェクトはHoloLensやxRの分野だけではなく、映画、ゲーム、製造、建築など多くの業界で幅広く用いられるようになりました。
3Dオブジェクトを作成するツールも増え、少し良い性能のPCさえあれば3Dモデルを作ることは誰でも簡単にできるようになりました。
前回からライトセーバーを作っています。 今回は12回目の記事です。
前回の記事はこちら
〇セーバーの起動状態と非起動状態をアニメーションで遷移させる。
前回ライトセーバーの刃に当たるブレードを作成しました。今回は刃の出し入れを任意のタイミングで行えるようにアニメーションを用いて作成します。
・Animation
前回までにMaterialをAnimationで変化させる機能を勉強しています。 今回はスケールとポジションを使用したAnimationに取り組みたいと思います。
UnityのAnimation機能では大きく、コンポーネントの機能のオン・オフ、数値の遷移を行います。今回のライトセーバーのブレードでは[Transform(オブジェクトの位置や回転、大きさ)] を使用します。
ここまでで作成しているライトセーバーは以下の作りになっています。
[ライトセーバー]というオブジェクトの子オブジェクトとしてブレードに当たる[Cricle]があります。
この[Cricle]オブジェクトのスケールをAnimationで変更します。
[Project]で右クリックから[Create]、[Animation Controller]と[Animation]を作成します。
作成した[Annimation Controller]を[Cricle]オブジェクトの親である[ライトセーバー]オブジェクトにアタッチします。
次に作成した[Annimation Controller](今回はBlade)をクリックして[Animator]Windowを表示させます。 作成したAnimationをドラッグ&ドロップで[Animator]Windowに配置します。
以上で下準備が終わりました。
〇起動アニメーション
ライトセーバーのブレードは一瞬で形成されます。 多くのジェダイやシス達も一瞬でライトセーバー戦を繰り広げました。
今回のHoloRanger用のライトセーバーもこれと同じく一瞬で起動するようにします。
[Blade]Animation Controllerがアタッチされた[ライトセーバー]オブジェクトを選択した状態で、[Animation]Windowを開きます。
[Add Property]をクリックし、ブレードに当たる[Circle]オブジェクトの[Transform]、[Scale]を選択します。
AnimationのPropertyに[Circle]の[scale]が追加されました。 タイムラインから最初のキーフレームの値を[0]にします。
これでスケールが0から大きくなりブレードが発生するアニメーションができました。
途中にキーフレームを加えたりして調整したものが次になります。
以上でライトセーバーのブレードの起動アニメーションが作成できました。