」タグアーカイブ

【Unity】ナビメッシュエージェントをランダムな方向に移動させる

ナビメッシュエージェントを360度ランダムな方向に移動させてみます。 ゲームオブジェクトを追加 シーンにカプセルと、地面や障害物を配置してナビメッシュをベイクしました。 カプセルにナビメッシュエージェントコンポーネントと… 続きを読む »

【Unity】キャラの状態をオブジェクトにする

ナビメッシュエージェントコンポーネントを付けた敵キャラの状態をオブジェクトにして管理してみました。 敵に付けるスクリプトのクラスの中に状態のクラスを定義して、各状態はそのクラスを継承します。各状態のクラスにその状態に必要… 続きを読む »

【Unity】距離によってBGMをクロスフェードさせる

FPSプレイヤーからターゲットまでの距離に応じてBGMをクロスフェードさせてみました。 クロスフェードさせるときだけ距離を計算したいので、そのためのオブジェクトを作ってプレハブ化しました。 using System.Co… 続きを読む »

【Unity】フラッシュライトで敵に発見される

敵に目視されていなくてもフラッシュライトの当たった場所が敵から見えているとプレイヤーの位置がバレるようにしてみました。 まず敵のスクリプトにFPSプレイヤーが持っているスポットライトをアタッチします。 [Serializ… 続きを読む »

【Unity】敵が音と目視でプレイヤーを発見する

敵がプレイヤーを見ているときにゲージを上げて、満タンになったらプレイヤーを追尾し始めます。距離によってゲージの上がり具合を変えます。 また、プレイヤーが走っていてもゲージが上がります。 【Unity】敵がプレイヤーに気づ… 続きを読む »

【Unity】敵が走っているプレイヤーに気づいて追尾する

走っているプレイヤーに気づいて、敵が追ってくるようにしてみました。 プレイヤーが走っているとゲージが上がっていって、満タンになると敵がプレイヤーを追尾し初めます。プレイヤーが走っていないときはゲージが下がっていって、ゲー… 続きを読む »

【Unity】ボーンの位置を取得してラグドールの姿勢を変更する

今までは生成した直後のラグドールのポーズがデフォルトのままなので、敵がラグドールに置き換わった時に、敵の姿勢が急に伸びたように見えていました。 そこで、生成したラグドールの各ボーンの位置・角度を破壊する直前の敵の各ボーン… 続きを読む »

【Unity】敵をラグドールに切り替える

HPが0以下になった敵をラグドールに切り替えます。 まず敵のラグドールを作るために敵を複製して、アニメーターやナビメッシュエージェントなどのコンポーネントを削除して、オーディオソースコンポーネントだけを残しました。 これ… 続きを読む »

【Unity】攻撃された敵が怯むようにする

敵を近接攻撃すると敵が怯むアニメーションをして唸り声を上げるようにします。 まずBlenderで怯むアニメーションを作りました。 アニメーターコントローラーに新しいステートを作ってこれを設定します。新しいトリガーパラメー… 続きを読む »

【Unity】攻撃中に移動しないようにする

攻撃モーション中に敵が滑るように動くと不自然なので、攻撃中はナビメッシュエージェントが移動しないようにしてみます。 前の記事の敵のスクリプトを少し修正します。 using System.Collections; usin… 続きを読む »