【Unity】ラグドールに攻撃の力を加える
攻撃して敵が倒れた時に、その攻撃の力でラグドールが吹き飛ぶようにします。 敵を複製してラグドールを作ったので、敵とラグドールは全く同じボーンを持っています。敵の攻撃を受けたボーンの名前はわかるので、敵とラグドールの各ボー… 続きを読む »
攻撃して敵が倒れた時に、その攻撃の力でラグドールが吹き飛ぶようにします。 敵を複製してラグドールを作ったので、敵とラグドールは全く同じボーンを持っています。敵の攻撃を受けたボーンの名前はわかるので、敵とラグドールの各ボー… 続きを読む »
マウスを連打しても、一度のアニメーションで弾が一発ずつ発射されるようにします。 そのためにStateMachineBehaviourで攻撃可能かどうかを切り替えます。 using System.Collections; … 続きを読む »
発射した弾がどこかに当たるたびに、その後敵に当たったときのダメージを小さくしてみます。 敵の体のボーンに付けたスクリプトで、インスペクタで設定したダメージと弾の威力をかけて、実際に敵が受けるダメージを計算します。跳ねるた… 続きを読む »
前の記事で敵の体のコライダーが付けたボーンにスクリプトを付けて、部位ごとに敵が受けるダメージを変えられるようにします。 using System.Collections; using System.Collections… 続きを読む »
飛び道具などの衝突判定をコライダーでやると、敵の胴に当たった後に手などに当たることで2回当たったことになってしまうようなことがあるようです。転がっている武器に当たって敵が倒れることも避けたいので、同じオブジェクトは一回だ… 続きを読む »
攻撃の当たり判定をコライダーで作ってみました。まず敵と武器にコライダーを付けます。 刀にはタグとレイヤーを設定し、Rigidbodyも追加します。 レイヤーを使って、武器がプレイヤーと衝突できないように設定しました。 こ… 続きを読む »
今までは生成した直後のラグドールのポーズがデフォルトのままなので、敵がラグドールに置き換わった時に、敵の姿勢が急に伸びたように見えていました。 そこで、生成したラグドールの各ボーンの位置・角度を破壊する直前の敵の各ボーン… 続きを読む »
前の記事でラグドールが伸びたりする問題はなくなりましたが、まだ倒れ方が不自然なので、ジョイントの動きに制限をつけてみます。 Character Jointを使うと、3つの軸に沿った回転を制限できます。コンポーネントのAx… 続きを読む »
HPが0以下になった敵をラグドールに切り替えます。 まず敵のラグドールを作るために敵を複製して、アニメーターやナビメッシュエージェントなどのコンポーネントを削除して、オーディオソースコンポーネントだけを残しました。 これ… 続きを読む »
敵を近接攻撃すると敵が怯むアニメーションをして唸り声を上げるようにします。 まずBlenderで怯むアニメーションを作りました。 アニメーターコントローラーに新しいステートを作ってこれを設定します。新しいトリガーパラメー… 続きを読む »
前の記事と同様にプレイヤーも敵を近接攻撃できるようにしてみました。敵のHPゲージも作って攻撃が当たると減らします。 // プレイヤーにつけたスクリプト // 刀で攻撃中 else if (animator.GetCurr… 続きを読む »
攻撃モーション中に敵が滑るように動くと不自然なので、攻撃中はナビメッシュエージェントが移動しないようにしてみます。 前の記事の敵のスクリプトを少し修正します。 using System.Collections; usin… 続きを読む »
敵キャラから攻撃を受けたときにHPを減らします。 まずBlenderで敵キャラのモデルとアニメーションを作りました。 これにナビメッシュエージェントとAudioSourceとスクリプトのコンポーネントを追加します。 us… 続きを読む »
FPSコントローラーに両手を付けて、刀で攻撃させてみます。 まず前の記事と同様にBlenderで腕を作ってアニメーションを付け、Unityに持ってきました。 今回は「刀を取り出す」「刀を構える」「刀を振る」「刀を持って歩… 続きを読む »
一人称視点で手に持った武器で攻撃してみます。 まずBlenderで右腕のモデルにボーンを付けました。 これに前の記事の方法でナイフを持たせてアニメーションを作ります。 今回は、呼吸とともに腕がかすかに上下するアニメーショ… 続きを読む »