「ボーンを指定して動かす」というのをやってみようと思ったのですが、いくら探してもボーンを指定するクラスというのが見つかりませんでした。
その代わりと言っては何ですが、「フレームを指定してアニメーション再生する」という方法がみつかりました。
参考ページ
http://www.kyucon.com/blog/archives/000440.html
で、作ってみたのが以下です。(画像をクリックしてみてください)
このキャラは、「ゆるキャラ」もしくは「アザラシになるはずだった何か」ということにしておいてください。
左のボタンを押すと、キャラが動作を変えます。
これは、
0-15 宙返り
30-60 お辞儀
60-90 困った顔
120-150 歩く
というようにフレーム設定をしたものを、
var anim1:AnimationClip3D = new AnimationClip3D("somersault", 0, 0.5);
var anim2:AnimationClip3D = new AnimationClip3D("bow", 1, 2);
var anim3:AnimationClip3D = new AnimationClip3D("komatta", 2, 3);
var anim4:AnimationClip3D = new AnimationClip3D("dash", 4, 5);
というようにクリップ設定し、そのクリップを、
dae.animation.addClip(anim1);
dae.animation.addClip(anim2);
dae.animation.addClip(anim3);
dae.animation.addClip(anim4);
というようにDAEインスタンスに追加しています。
あとは、それぞれのボタンに
switch(e.currentTarget) {
case btn_1:
dae.play("somersault", true); //アニメ名, ループの有無
break;
…
…
}
という感じでスタート設定しています。
DAEにクリップ追加する場合は変数で追加し、dae.playで呼び出すときはアニメーション名で呼び出す形いなるわけですね。
あと、開始と終了は秒単位で時間設定します。今回は30fpsで作っているので、それぞれのフレームを30で割った数値で開始・終了を記述します。
なので、小数になるにしても、30できれいに割れるフレーム数で作れると良いですね。
とりあえずこれができればかなりのアニメ制御ができますね。
その代わりと言っては何ですが、「フレームを指定してアニメーション再生する」という方法がみつかりました。
参考ページ
http://www.kyucon.com/blog/archives/000440.html
で、作ってみたのが以下です。(画像をクリックしてみてください)
このキャラは、「ゆるキャラ」もしくは「アザラシになるはずだった何か」ということにしておいてください。
左のボタンを押すと、キャラが動作を変えます。
これは、
0-15 宙返り
30-60 お辞儀
60-90 困った顔
120-150 歩く
というようにフレーム設定をしたものを、
var anim1:AnimationClip3D = new AnimationClip3D("somersault", 0, 0.5);
var anim2:AnimationClip3D = new AnimationClip3D("bow", 1, 2);
var anim3:AnimationClip3D = new AnimationClip3D("komatta", 2, 3);
var anim4:AnimationClip3D = new AnimationClip3D("dash", 4, 5);
というようにクリップ設定し、そのクリップを、
dae.animation.addClip(anim1);
dae.animation.addClip(anim2);
dae.animation.addClip(anim3);
dae.animation.addClip(anim4);
というようにDAEインスタンスに追加しています。
あとは、それぞれのボタンに
switch(e.currentTarget) {
case btn_1:
dae.play("somersault", true); //アニメ名, ループの有無
break;
…
…
}
という感じでスタート設定しています。
DAEにクリップ追加する場合は変数で追加し、dae.playで呼び出すときはアニメーション名で呼び出す形いなるわけですね。
あと、開始と終了は秒単位で時間設定します。今回は30fpsで作っているので、それぞれのフレームを30で割った数値で開始・終了を記述します。
なので、小数になるにしても、30できれいに割れるフレーム数で作れると良いですね。
とりあえずこれができればかなりのアニメ制御ができますね。
