【Unity】大きな動きでキャラクターのメッシュが消える
キャラクターに大きな動作のアニメーションをさせたとき等に、体の一部のゲームオブジェクトが消えてしまうことがあります。 髪の毛のバウンディングボックスがちょうどカメラの視錐台の外に出たときに、髪の毛が非表示になると思います… 続きを読む »
キャラクターに大きな動作のアニメーションをさせたとき等に、体の一部のゲームオブジェクトが消えてしまうことがあります。 髪の毛のバウンディングボックスがちょうどカメラの視錐台の外に出たときに、髪の毛が非表示になると思います… 続きを読む »
グレネードを投げると数秒後に爆発して、敵やアイテムを吹き飛ばすようにします。 まず敵のスクリプトにパブリックなメソッドを作ります。 public void Explode(Vector3 center) { // 体力を… 続きを読む »
攻撃して敵が倒れた時に、その攻撃の力でラグドールが吹き飛ぶようにします。 敵を複製してラグドールを作ったので、敵とラグドールは全く同じボーンを持っています。敵の攻撃を受けたボーンの名前はわかるので、敵とラグドールの各ボー… 続きを読む »
今までは生成した直後のラグドールのポーズがデフォルトのままなので、敵がラグドールに置き換わった時に、敵の姿勢が急に伸びたように見えていました。 そこで、生成したラグドールの各ボーンの位置・角度を破壊する直前の敵の各ボーン… 続きを読む »
前の記事でラグドールが伸びたりする問題はなくなりましたが、まだ倒れ方が不自然なので、ジョイントの動きに制限をつけてみます。 Character Jointを使うと、3つの軸に沿った回転を制限できます。コンポーネントのAx… 続きを読む »
HPが0以下になった敵をラグドールに切り替えます。 まず敵のラグドールを作るために敵を複製して、アニメーターやナビメッシュエージェントなどのコンポーネントを削除して、オーディオソースコンポーネントだけを残しました。 これ… 続きを読む »
頭を撃つとゾンビが真下に崩れ落ちます。 このままだと倒れ方が不自然なので、銃弾がゾンビに当たったときの力を保存しておいて、ラグドールが生成されたときに、ラグドールの頭にその力を加えることで撃たれた方向や位置によって倒れ方… 続きを読む »
ラグドールに切り替えて、ゾンビが頭を撃たれると倒れるようにします。 前の記事のプレイヤーを追うキャラクターとは別に、ラグドールにするための同じモデルをシーンに新しく配置して、Createからラグドールを新規作成します。 … 続きを読む »
ラグドールを新規作成します。 体のパーツを設定するウィンドウが出るので、ヒエラルキー上にあるキャラクターの対応するパーツをドラッグアンドドロップします。 名前が違うものもありますが、ヒエラルキー上のパーツの名前をクリック… 続きを読む »