【Unity】はしごを登る #1

FPSコントローラーではしごを登ってみます。 はしごを登る時は、はしごからの距離やキャラが回転できる範囲を常に同じにしたいと思ったので、今回はキャラクターコントローラーをはしごの前の指定の位置へワープさせ、指定の方向へ回… 続きを読む »

【Unity】アイテムをランダムに配置する

シーンに配置した目印のオブジェクトから、指定の数だけランダムに選んでアイテムと置き換えます。 まずアイテムの赤い球と、目印に使う小さなシリンダーのプレハブを用意しました。 空のゲームオブジェクトを作って、その子オブジェク… 続きを読む »

【Unity】ナビメッシュの目的地を道に沿ってランダムに決定する #2

前の記事の方法でナビメッシュエージェントに目的地を設定します。 今回は、バウンドさせるようにナビメッシュを一度に2回ずつ飛ばして、衝突した2つの点の中間の点を目的地にしました。 using System.Collecti… 続きを読む »

【Unity】ナビメッシュの目的地を道に沿ってランダムに決定する

ナビメッシュの次の目的地を進行方向へナビメッシュの道に沿ってランダムに決定してみます。前の記事の方法でナビメッシュエージェントの進行方向へ大まかに目的地を設定することはできますが、ナビメッシュの無い部分をまたいで目的地を… 続きを読む »

ナビメッシュエージェントの目的地の方向を大まかに決める

ナビメッシュエージェントに目的地を設定するときに、プレイヤーの位置をそのまま伝えるのではなく、プレイヤーへの方向を中心とした範囲の中から目的地の方向をランダムで決定して大まかに目的地を設定してみます。 Vector3 t… 続きを読む »

【Unity】遠くにいる敵を自動で削除する

前の記事のプレイヤーをFPSコントローラーにして、移動するプレイヤーから遠くにいる敵の削除と、新しい敵の配置が自動で行われるようにしました。 using System.Collections; using System.… 続きを読む »

【Unity】ナビメッシュ上に敵を出現させる #1

プレイヤーを囲うようにナビメッシュ上に敵を配置する方法を考えてみました。 ナビメッシュ上に予め空のゲームオブジェクトをたくさん配置しておいて、その中からプレイヤーとの距離によって選ばれたものと同じ位置に敵を出現させること… 続きを読む »

【Unity】一人称視点で棒を登る #2

棒を登っているときに、歩いているときのようにカメラを周期的に動かしてみます。 カメラの回転はMouseLookクラスのLookRotation()で行うので、その中で体のY軸の回転と、カメラのX軸の回転にそれぞれ変数を足… 続きを読む »

【Unity】スモークグレネードを作る

VFXグラフを使ってスモークグレネードを作ってみます。 まず、Blenderでスモークグレネードを作って、前の記事の手榴弾と同様にFPSキャラが投げれるようにしました。 そして、前の記事の煙のエフェクトの色やサイズを変え… 続きを読む »

【Unity】火の付いたろうそくを持たせる

VFXグラフで作った火の付いたろうそくをFPSキャラに持たせてみます。 煙のエフェクトの色や速度を変えて炎のエフェクトを作りました。これをプレイヤーに持たせるろうそくに追従させます。 火のVFXグラフに位置を伝えるための… 続きを読む »

【Unity】FPSで手榴弾を投げる

FPSコントローラーで手榴弾を投げてみます。 まずBlenderで手榴弾を作って前の記事の方法で手に持たせ、アニメーションを作りました。 手榴弾は右の手のひらのボーンの子オブジェクトになっています。ピンは手榴弾の子オブジ… 続きを読む »

【Unity】刀を振って攻撃する #1

FPSコントローラーに両手を付けて、刀で攻撃させてみます。 まず前の記事と同様にBlenderで腕を作ってアニメーションを付け、Unityに持ってきました。 今回は「刀を取り出す」「刀を構える」「刀を振る」「刀を持って歩… 続きを読む »

【Unity】ハンドルで開閉するゲートに重力を加える

ハンドルを回して開閉するゲートに重力を加えます。前の記事では、マウスドラッグによってハンドルとゲートを両方動かしていましたが、今回はゲートだけを動かして、ゲートの速度を使ってハンドルを回転させてみました。 using S… 続きを読む »

【Unity】ハンドルを回転させてゲートを開け閉めする #2

ゲートの移動範囲がずれないように修正しました。 前の記事ではハンドルの回転だけを制限していましたが、ジョイントやコライダーの衝突を使ってゲートの動きを制限して、ゲートが制限まで達したときにハンドルを固定するようにします。… 続きを読む »

【Unity】ハンドルを回転させてゲートを開け閉めする #1

マウスドラッグでハンドルを回転させて、ゲートを開閉してみます。 前の記事のバルブを回す処理をバルブにつけるスクリプトで行います。 using System.Collections; using System.Collec… 続きを読む »