Babylon.jsのチュートリアルをやってみるその10

これは

昨日に引き続きBabylon.jsのチュートリアルをやっていく記事です。
自分であとで思い返す用のメモでもあります。

今日の参照

doc.babylonjs.com

animation

引き続きanimationについてです。

Animation weights

UnityでいうところのAnimationStateに近いのものになるのかな。
モデルのインポートをみていないのでわからないのだけれど、
↓のように書くと指定したFPSごとにanimationをきりかえることができるらしい。

// scene.beginWeightedAnimation(アニメーションさせるターゲット, スタート, 終了, 重さ1.0, ループの有無);
var idleAnim = scene.beginWeightedAnimation(skeleton, 0, 89, 1.0, true);
var walkAnim = scene.beginWeightedAnimation(skeleton, 90, 124, 0, true);
var runAnim = scene.beginWeightedAnimation(skeleton, 125, 146, 0, true);

サンプルではボタンを用意してボタンが押されたら指定のパラメータを上げ下げして切り替えるようになっている。

www.babylonjs-playground.com

イージング

アニメーションを定義済みの方法で動かすのではなく、
イージングという機能を使って変化を加えて再生させることもできるらしい。
MSDNでは色々定義されているようだけれどBabylon.jsとしては以下を使える。
 - BABYLON.CircleEase()
 - BABYLON.BackEase(amplitude)
 - BABYLON.BounceEase(bounces, bounciness)
 - BABYLON.CubicEase()
 - BABYLON.ElasticEase(oscillations, springiness)
 - BABYLON.ExponentialEase(exponent)
 - BABYLON.PowerEase(power)
 - BABYLON.QuadraticEase()
 - BABYLON.QuarticEase()
 - BABYLON.QuinticEase()
 - BABYLON.SineEase()
 - BABYLON.BezierCurveEase()

なんだかよくわからなかったけれど、公式でも紹介されていた以下のサイトを見て少しイメージがついた

cubic-bezier.com

あとこちらも

www.babylonjs-playground.com

きょうはここまで。
animationまたやりたいことができたら戻ってくる感じになりそう。
明日はcollisionをやります。