【Unity】カーソルが乗っているUIのオブジェクトを取得する
カーソルと重なっているUIのオブジェクトを取得して、インベントリのアイテムの情報を表示してみました。 メニュー表示を切り替えるスクリプトに、UIオブジェクトを取得する処理を追加しました。 using System.Col… 続きを読む »
カーソルと重なっているUIのオブジェクトを取得して、インベントリのアイテムの情報を表示してみました。 メニュー表示を切り替えるスクリプトに、UIオブジェクトを取得する処理を追加しました。 using System.Col… 続きを読む »
キー入力などでアイテムのメニューとカーソルを表示してみます。その間はFPSキャラクターやカメラが移動回転しないようにします。 まず、プレイヤーに継承させるインターフェースと、メニュー表示のクラスを作りました。 using… 続きを読む »
拾ったアイテムをインベントリに置いて管理してみました。 まずこちらのサイトを参考にアイテムデータベースを作りました。 アイテム管理クラスでは、スタートでシーン上のインスタンスを静的フィールドに入れて、静的メソッドでそれを… 続きを読む »
プレイヤーが取得できるアイテムのクラスを作ってみました。同じクラスを使って、掴めるアイテムも取得できるようにします。 まずアイテムを取得する処理を書いたクラスを作りました。今回は引数のゲームオブジェクトを非アクティブにし… 続きを読む »
バットのプレハブを位置・回転を指定して、スクリプトから配置してみました。 バットを選択してシフトキーを押している間、ピボットに四角形が表示されるので、これをドラッグしている時にさらにCtrlキーも押していると表面スナップ… 続きを読む »
Cubeを破壊した後に、その位置で音を鳴らしてみました。Cubeのオーディオソースで再生しても破壊すると音が止まるので、同じ場所にオーディオソースの付いたゲームオブジェクトを生成します。 生成するためのクラスを作りました… 続きを読む »
アニメーションイベントに設定したメソッドで他のゲームオブジェクトのTransformの値を変えて移動させてみました。 右のCubeにアニメーションとスクリプトを付けました。 using System.Collection… 続きを読む »
インターホンの画面に動画を流してみました。 まずヒエラルキーでVideoPlayerを作りプレハブ化しました。インスペクタでVideo Clipに再生する動画をアタッチし、Play On AwakeとLoopにチェックを… 続きを読む »
レイの当たった場所を掴むで掴めるアイテムクラスを作ったので、これを継承してドアクラスを作ってみました。 ドアにはスクリプトとRigidbodyとヒンジジョイントを付けました。 ヒンジジョイントの軸はドアの右端で上下方向に… 続きを読む »
アイテムにつけたスクリプトに、レイの当たった場所を掴んで動かす処理を書いてみました。 まずクリックした時に呼ぶアイテムのメソッドの引数に、レイの当たった位置を渡して、アイテムではそれをローカル空間に変換します。メソッドを… 続きを読む »
イベントでゲームの進行管理をする #3ではアイテムを掴んで動かす処理をプレイヤーのスクリプトに書いていました。それをアイテムのスクリプトに移してみました。 まず、インターフェースでクリックされたときとクリックが離されたと… 続きを読む »
敵が一体しか出現しないことにして作っている途中で複数の敵を作れるように変更し、管理クラスを作ってみました。 シーンには床に敵の目的地と中央のCubeがあります。目的地のルートのオブジェクトとCubeは敵のスクリプトにアタ… 続きを読む »
プレイヤーや管理クラスなどの一つしか作らないインスタンスを他のスクリプトにアタッチせずに取得してみました。 using UnityEngine; public class TestManager : MonoBehavi… 続きを読む »
イベントでゲームの進行管理をしてみました。 シーンに色違いの4つのCubeがあり、左からCube1~4と名前が付いています。 白と黄色のCubeはプレイヤーが掴んで動かせます。 赤と青のCubeはプレイヤーが触ると破壊さ… 続きを読む »
障害物を避けるように、発射した球の弾道を逸してみました。 まずプレイヤーの正面へ球を飛ばします。 using System.Collections; using System.Collections.Generic; u… 続きを読む »
コライダーのcontactOffsetを使ってみました。 Boxコライダーの付いたCubeにSphereを衝突させます。OnCollisionEnterでCubeを赤くして、OnCollisionExitで白に戻します。… 続きを読む »
コライダーのClosestPointOnBoundsとClosestPointの違いを調べてみました。Boxコライダーだとわからなかったので、上のようにカプセルコライダーを使いました。 FPSプレイヤーの位置を設定し、C… 続きを読む »
空のオブジェクトにスクリプトをつけました。別のオブジェクトに新しいスクリプトをつけて、こちらに上のオブジェクトをアタッチしました。 このスクリプトで、コンポーネントを取得するときに、型引数にMonoBehaviourと入… 続きを読む »
アニメーションが終了したときに毎回イベントを呼ぶようにして、中身のメソッドを変えてみました。 キャラクターにはアニメーターとスクリプトが付いています。アニメーターコントローラーでは、何も無いステートから、トリガーによって… 続きを読む »
出入り口にコライダーを置いて、ドアの出入りを判定してみました。 このドアはX軸方向に通過するので、トリガーExitのときのプレイヤーとコライダーの位置のX軸の値を比べるだけです。 private void OnTrigg… 続きを読む »