【Unity】FPSキャラのしゃがみ機能をオブジェクトにする
FPSキャラに付けるしゃがみ等の機能を別のクラスに定義して、FPSキャラのクラスにオブジェクトとして持たせてみました。 まず、Projectウィンドウで右クリックして、C#スクリプトを新規作成します。 MonoBehav… 続きを読む »
FPSキャラに付けるしゃがみ等の機能を別のクラスに定義して、FPSキャラのクラスにオブジェクトとして持たせてみました。 まず、Projectウィンドウで右クリックして、C#スクリプトを新規作成します。 MonoBehav… 続きを読む »
銃とマガジンを拾って撃ってみました。 弾の種類を切り替えるでは、プレイヤーの頭につけるスクリプトに武器のスクリプトを持たせ、さらに武器にマガジンを持たせることで射撃できるようになります。 この武器やマガジンをセットするメ… 続きを読む »
FPSプレイヤーが顔を傾けたりしゃがんだりしているときに、懐中電灯の位置も同じように変えてみました。 懐中電灯として使うスポットライトは、ピボットである空のゲームオブジェクトの子になっています。カメラの動きに少し遅れてつ… 続きを読む »
メニューを開いてマウスカーソルを表示するときは、FPSキャラクターの移動や回転を制限したいですが、リーンでカメラを横に傾けたままメニューを開いたときにカメラが傾いたまま止まってしまいます。 そこで、マウスカーソルを動かし… 続きを読む »
銃のオブジェクトがマガジンのオブジェクトを持つようにして、簡単に弾の種類を切り替えてみました。 まず、マガジンと弾のクラスを作って、それらを継承した赤い弾の入ったマガジンクラスと青い弾の入ったマガジンクラスを作りました。… 続きを読む »
FPSプレイヤーのカメラから、アニメーション付きのカメラに切り替えて、アニメーションが終わったらプレイヤーのカメラに戻してみました。 まずシーンにあるプレイヤーを一旦非アクティブにして、カメラを新規作成しました。 カメラ… 続きを読む »
キー入力などでアイテムのメニューとカーソルを表示してみます。その間はFPSキャラクターやカメラが移動回転しないようにします。 まず、プレイヤーに継承させるインターフェースと、メニュー表示のクラスを作りました。 using… 続きを読む »
アイテムにつけたスクリプトに、レイの当たった場所を掴んで動かす処理を書いてみました。 まずクリックした時に呼ぶアイテムのメソッドの引数に、レイの当たった位置を渡して、アイテムではそれをローカル空間に変換します。メソッドを… 続きを読む »
リロードのアニメーションを作ってアニメーターコントローラーに設定してみました。 まずBlenderで作ったアニメーションをインポートして、アニメーターコントローラーの新しいステートにアタッチしました。アニメーションはブレ… 続きを読む »
マウスを連打しても、一度のアニメーションで弾が一発ずつ発射されるようにします。 そのためにStateMachineBehaviourで攻撃可能かどうかを切り替えます。 using System.Collections; … 続きを読む »
攻撃の当たり判定をコライダーで作ってみました。まず敵と武器にコライダーを付けます。 刀にはタグとレイヤーを設定し、Rigidbodyも追加します。 レイヤーを使って、武器がプレイヤーと衝突できないように設定しました。 こ… 続きを読む »
HPが0以下になった敵をラグドールに切り替えます。 まず敵のラグドールを作るために敵を複製して、アニメーターやナビメッシュエージェントなどのコンポーネントを削除して、オーディオソースコンポーネントだけを残しました。 これ… 続きを読む »
敵を近接攻撃すると敵が怯むアニメーションをして唸り声を上げるようにします。 まずBlenderで怯むアニメーションを作りました。 アニメーターコントローラーに新しいステートを作ってこれを設定します。新しいトリガーパラメー… 続きを読む »
前の記事と同様にプレイヤーも敵を近接攻撃できるようにしてみました。敵のHPゲージも作って攻撃が当たると減らします。 // プレイヤーにつけたスクリプト // 刀で攻撃中 else if (animator.GetCurr… 続きを読む »
攻撃モーション中に敵が滑るように動くと不自然なので、攻撃中はナビメッシュエージェントが移動しないようにしてみます。 前の記事の敵のスクリプトを少し修正します。 using System.Collections; usin… 続きを読む »
敵キャラから攻撃を受けたときにHPを減らします。 まずBlenderで敵キャラのモデルとアニメーションを作りました。 これにナビメッシュエージェントとAudioSourceとスクリプトのコンポーネントを追加します。 us… 続きを読む »
画面にコンパスを表示してみます。どの方向を北にするか変えられるようにします。 まず、Imageオブジェクトを作ってコンパスの画像をアタッチします。ピボットを真ん中にして、RectTransformのZ軸のRotation… 続きを読む »
はしごに裏から乗ろうとするとキャラクターがはしごに引っかかってしまう問題を解決してみました。 キャラクターをはしごの前に移動させるときにキャラクターコントローラーのMoveメソッドを使うと、はしごのコライダーに当たって止… 続きを読む »
どの高さからでもはしごに乗れるようにします。また、はしごの上まで来たら自動ではしごを降りるようにします。 前の記事では、地面の近くのはしごに乗る位置に空のゲームオブジェクトを置いていましたが、はしごの終点の少し上に置くこ… 続きを読む »
はしごにレイが当たっているときにマウスクリックではしごを登り始め、登っているときはプレイヤーの回転を制限します。また、ななめのハシゴに沿って登れるようにします。 // カメラ // はしごをのぼる else if (hi… 続きを読む »