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