剣を振るう/キックのアニメーションを追加する
[idle]から[jump]と同様の設定をおこないます。
まず、剣を振るう攻撃[attack_a]とキック[kick]のパラメーターを作成します。
続いて、[Add transition]でアニメーションを[idle]と双方で繋げます。
[idle]から[kick]
Exit Time : 0
Condition : kick
[kick]から[idle]
Duration: 0.2
Exit Time : 1
[idle]から[attack_a]
Exit Time : 0
Condition : attack_a
[attack_a]から[idle]
Duration: 0.2
Exit Time : 1
State Graphエディタを閉じ、[chapter03]の[attack_a]と[kick]のアニメーションを[ANIM]の空きスロットルにdrag&dropします。
コードを追加する
任意のボタンを押したらアニメーションが再生するように追記します。
var Anime = pc.createScript('anime');
// initialize code called once per entity
Anime.prototype.initialize = function() {
};
// update code called every frame
Anime.prototype.update = function(dt) {
//キーボード[A]を押したらジャンプする
if(this.app.keyboard.wasPressed(pc.KEY_A)){
this.entity.anim.setTrigger('attack_a');
}
//キーボード[J]を押したらジャンプする
if(this.app.keyboard.wasPressed(pc.KEY_J)){
this.entity.anim.setTrigger('jump');
}
//キーボード[K]を押したらジャンプする
if(this.app.keyboard.wasPressed(pc.KEY_K)){
this.entity.anim.setTrigger('kick');
}
};
Lounch画面で確認してみましょう。
キーボードの[J]、[K]、[A]、でアニメーションを切り替えられることが確認できます。
コリジョン(当たり判定)/リジットボディ(物理制御)を設定する
プリミティブな形状から、地面、武器、攻撃対象のボックスを作成します。
まずは、武器を配置する箇所を選択状態にします。
[HIERARCHY]の[male01_container]の[+]をクリックし、階層を展開して[Right_wrist]を選択します。
[HIERARCHY]横の[+]ボタンをクリックし、[Primitive]→[Box]を選択。
スケールと位置を調整し、nameを[Sword]に変更します。
地面を作成します。[HIERARCHY]で[Root]を選択した状態で、Boxを作成し、スケールを調整し、nameを[Ground]に変更します。
攻撃対象のボックスを作成します。地面と同様に[HIERARCHY]で[Root]を選択した状態で、Boxを作成し、スケールを調整します。
SwordでBoxを吹っ飛ばせるようにする
[Sword]を選択状態にして、[+ ADD COMPONENT]から、当たり判定[Collision]と、オブジェクトに物理挙動を可能にする[Rigid Body]を追加します。
COLLISTION
Type : Box
Half Extents : X:0.761 Y:0.025 Z:0.023
RIGIDBODY
Type : Kinematic
同様に、[Ground]と[Box]にもCOLLITIONとRIGDBODYを追加します。
[Ground]
COLLISTION
Type : Box
Half Extents : X:5 Y:0.005 Z:5
RIGIDBODY
Type : Static
[Box]
COLLISTION
Type : Box
Half Extents : X:0.2 Y:0.2 Z:0.2
RIGIDBODY
Type : Dynamic
Static:移動しない物理オブジェクト
Dynamic:加えられた力に応じて移動する物理オブジェクト
Kinematic:APIを介してのみ明示的に配置できる物理オブジェクト
コメント
0件のコメント
サインインしてコメントを残してください。