【Unity】FPSコントローラーの位置と回転をセーブ/ロードする
FPSコントローラーの位置と回転をセーブ・ロードしてみます。 using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; usi… 続きを読む »
FPSコントローラーの位置と回転をセーブ・ロードしてみます。 using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; usi… 続きを読む »
エージェント同士がすれ違うとき、デフォルトでは互いにぶつからないように回避します。 RadiusとHeightはナビメッシュの大きさには関係ないようですが、障害物とぶつかる範囲が変わります。 Radiusが大きいと道が細… 続きを読む »
スタート時にはコライダーの赤いCubeだけがあり、それに入るとCubeが消えて秒読みが始まります。3秒立つと左上に球が出現して、ゲームの進行状況がセーブされ、シーンを再読み込みすると、球だけがある状態からはじまります。 … 続きを読む »
ナビメッシュエージェントで敵を巡回させながら、基本的な設定を調整してみます。まずシーンにPlaneオブジェクトを置いて、インスペクタでNavigation Staticにチェックをいれます。 Navigationウィンド… 続きを読む »
ストーリーに沿ってゲームを進行させる方法を考えてみました。 上の動画では、プレイヤーがコライダーに入ると秒読みが始まり、3秒後に球を出現させて、プレイヤーが球の方を向くと別のコライダーが出現し、そのコライダーに入るとゲー… 続きを読む »
FPSコントローラーのカメラが指定したオブジェクトの方へ向きかけたら、自動でそのオブジェクトが正面に見えるようにカメラを回転してみます。 まずターゲットのCubeにタグとコライダーを付けました。 プレイヤーのスクリプトで… 続きを読む »
壁に向かってフラッシュライトが置いてあります。 壁の向こうから見ると、このライトが壁を貫通しているのがわかります。 このライトはRealtimeモードになっています。 リアルタイムのライトが影を投影するにはシャドウマップ… 続きを読む »
FPSキャラのカメラを横に傾ける #1、FPSキャラのカメラを横に傾ける #2でFPSコントローラーのカメラを動かすと、壁を貫通して向こう側が見えてしまいます。 傾けていて壁に当たると自動でキャンセルするようにしてみます… 続きを読む »
カメラの前で左右に動く球にAudio Sourceコンポーネントを付けて、Spatial Blendを1にし、Doppler Levelを1のままにします。すると球から聞こえるBGMの音の高さがドップラー効果で変化します… 続きを読む »
Unityで使うマスクマップをフリーソフトのGIMP2で簡単に作ってみます。マスクマップでは1つの画像でメタリック、アンビエントオクルージョン、ディテールマスク、スムーズネスの4つの値を表現できます。それぞれの値はR、G… 続きを読む »
星空をエミッションで光らせて、スクリプトで簡単に回転させてみます。 まずPhotoshopなどで適当に白黒の星空画像を作ってUnityでCubeマップにします。 Volumeコンポーネントが付いたオブジェクトを作ってGl… 続きを読む »
Volumeを使ってFog等を場所によって変えてみます。 まずヒエラルキーでScene SettingsやBox Volume等のVolumeコンポーネントの付いたオブジェクトを新規作成します。 Box Volumeには… 続きを読む »
バケツを左クリックすると中に入って隠れます。隠れている間、蓋を少し開けて隙間から外を見れるようにします。 一人称視点でロッカーの中に入って隠れるのと同じ方法で、バケツの方を向くようにFPSコントローラーを移動させて、蓋を… 続きを読む »
ロッカーを左クリックすると開いて、FPSコントローラーで動かすプレイヤーが中に入ります。もう一度左クリックするとロッカーから出ます。 まず一人称のカメラからレイを飛ばして手が届く位置にロッカーがあるかどうかを調べます。 … 続きを読む »
シリンダーを中心とした円周上に赤いCubeを配置していきます。赤いCubeは白いCubeのある方向へ指定した距離だけ進んだところに置きますが、角度の範囲を指定しておいて、その外側に白いCubeがあるときは、範囲の境目に置… 続きを読む »
キャラクターコントローラーで動かす一人称視点のプレイヤーをアニメーションで動かしてみます。直接Animaorコンポーネントをつけると問題があったので、アニメーションを付けた別のゲームオブジェクトに乗せて動かします。 まず… 続きを読む »
Blenderで3つのCubeを作って、名前の後ろに_LOD0~2を付けました。LOD0が最も頂点数が多くて、LOD2が最少です。 これをFBXファイルでエクスポートしてUnityでインポートします。 FBXファイルをシ… 続きを読む »
アニメーターコントローラーで次のステートに遷移するときに、「または」を使った条件を設定します。 まず2つのトリガーパラメーターと、2つのステートを行き来する遷移を作ります。 右側の矢印をクリックしてインスペクタのCond… 続きを読む »
左クリックを長押ししている間に作動するものを作って、その進行度を進行バーで表示します。進行中はアニメーションさせて音声を鳴らし、終了すると別の音を鳴らします。 まずCubeにコライダーとスクリプト、アニメーター、オーディ… 続きを読む »
どのドアを通ってどの部屋に出入りしたかを、トリガーを使って判定してみます。 まず簡単に部屋と出入り口を一つ作り、出入り口を挟むようにコライダーを2つ置きました。 コライダーはIs Triggerにチェックが入っていて、出… 続きを読む »