【Unity】Steam入力APIでFPSキャラクターを操作する
Steam入力APIでFPSキャラクターを動かしてアイテムを使ってみました。 IGAファイルを作成 まずゲーム内アクションを定義するファイルを作ります。Steamworksのドキュメントでサンプルをダウンロードして、テキ… 続きを読む »
Steam入力APIでFPSキャラクターを動かしてアイテムを使ってみました。 IGAファイルを作成 まずゲーム内アクションを定義するファイルを作ります。Steamworksのドキュメントでサンプルをダウンロードして、テキ… 続きを読む »
FPSキャラに付けるしゃがみ等の機能を別のクラスに定義して、FPSキャラのクラスにオブジェクトとして持たせてみました。 まず、Projectウィンドウで右クリックして、C#スクリプトを新規作成します。 MonoBehav… 続きを読む »
「VFX Trigger Event Binder」コンポーネントを使って、トリガーにオブジェクトが出入りしたときなどに、自動でVisual Effectがスタートするようにしてみました。 VFXグラフを作る VFXグラ… 続きを読む »
FPSプレイヤーが顔を傾けたりしゃがんだりしているときに、懐中電灯の位置も同じように変えてみました。 懐中電灯として使うスポットライトは、ピボットである空のゲームオブジェクトの子になっています。カメラの動きに少し遅れてつ… 続きを読む »
メニューを開いてマウスカーソルを表示するときは、FPSキャラクターの移動や回転を制限したいですが、リーンでカメラを横に傾けたままメニューを開いたときにカメラが傾いたまま止まってしまいます。 そこで、マウスカーソルを動かし… 続きを読む »
歩いた時に足元に波紋が出るようにしてみました。 まずシェーダーグラフでPlaneオブジェクトに広がる輪を表示させます。 Timeノードで、輪を広げる時に使う増え続ける値を得ます。これはシーンが始まってからの値ですが、Pl… 続きを読む »
Decal Projectorコンポーネントを使って、オブジェクトの表面に弾痕を残してみました。 まず、背景が透明な画像を用意して、デカールシェーダーを選択したマテリアルにアタッチしました。 Decal Projecto… 続きを読む »
FPSプレイヤーのカメラから、アニメーション付きのカメラに切り替えて、アニメーションが終わったらプレイヤーのカメラに戻してみました。 まずシーンにあるプレイヤーを一旦非アクティブにして、カメラを新規作成しました。 カメラ… 続きを読む »
メニューとカーソルを表示してプレイヤーの移動回転を止めるのスクリプトをもとに、TPSキャラクターを使っているときにメニューとカーソルを表示して、移動とカメラをロックしてみました。 TPSキャラクターを使うには、カメラと一… 続きを読む »
キー入力などでアイテムのメニューとカーソルを表示してみます。その間はFPSキャラクターやカメラが移動回転しないようにします。 まず、プレイヤーに継承させるインターフェースと、メニュー表示のクラスを作りました。 using… 続きを読む »
アイテムにつけたスクリプトに、レイの当たった場所を掴んで動かす処理を書いてみました。 まずクリックした時に呼ぶアイテムのメソッドの引数に、レイの当たった位置を渡して、アイテムではそれをローカル空間に変換します。メソッドを… 続きを読む »
一人称視点でロッカーの中に入って隠れるのワープやアニメーションをした後の処理をデリゲートを使ってわかりやすくしてみました。 Action method; // キャラクターコントローラーをオフにしてTransformで移… 続きを読む »
FPSコントローラーの位置と回転をセーブ・ロードしてみます。 using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; usi… 続きを読む »
FPSキャラのカメラを横に傾ける #1、FPSキャラのカメラを横に傾ける #2でFPSコントローラーのカメラを動かすと、壁を貫通して向こう側が見えてしまいます。 傾けていて壁に当たると自動でキャンセルするようにしてみます… 続きを読む »
バケツを左クリックすると中に入って隠れます。隠れている間、蓋を少し開けて隙間から外を見れるようにします。 一人称視点でロッカーの中に入って隠れるのと同じ方法で、バケツの方を向くようにFPSコントローラーを移動させて、蓋を… 続きを読む »
ロッカーを左クリックすると開いて、FPSコントローラーで動かすプレイヤーが中に入ります。もう一度左クリックするとロッカーから出ます。 まず一人称のカメラからレイを飛ばして手が届く位置にロッカーがあるかどうかを調べます。 … 続きを読む »
キャラクターコントローラーで動かす一人称視点のプレイヤーをアニメーションで動かしてみます。直接Animaorコンポーネントをつけると問題があったので、アニメーションを付けた別のゲームオブジェクトに乗せて動かします。 まず… 続きを読む »
テレインレイヤーによって足音を変えてみました。前の記事の方法でアルファマップを取得して、一番割合の多いテレインレイヤーを調べます。 float[] slatmap = new float[0]; // — // Fi… 続きを読む »
はしごに裏から乗ろうとするとキャラクターがはしごに引っかかってしまう問題を解決してみました。 キャラクターをはしごの前に移動させるときにキャラクターコントローラーのMoveメソッドを使うと、はしごのコライダーに当たって止… 続きを読む »
どの高さからでもはしごに乗れるようにします。また、はしごの上まで来たら自動ではしごを降りるようにします。 前の記事では、地面の近くのはしごに乗る位置に空のゲームオブジェクトを置いていましたが、はしごの終点の少し上に置くこ… 続きを読む »