【Unity】インベントリのアイテムを操作する
カーソルが乗っているUIのオブジェクトを取得するでインベントリ内のアイテムの情報を取得できるようになったので、アイテムをインベントリから取り出せるようにしてみました。 まず操作を指示するためのドロップダウンのプレハブを作… 続きを読む »
カーソルが乗っているUIのオブジェクトを取得するでインベントリ内のアイテムの情報を取得できるようになったので、アイテムをインベントリから取り出せるようにしてみました。 まず操作を指示するためのドロップダウンのプレハブを作… 続きを読む »
Blenderで複数のオブジェクトにアニメーションを付けて、Unityの一つのアニメーターコントローラーで再生してみました。 まずバットをキャラクターの子にして、それぞれに別々のアクションを作りました。 子オブジェクトで… 続きを読む »
Stateデザインパターンのように、各状態をオブジェクトにして進行管理してみました。 まず状態クラスの基底クラスを作りました。 abstract public class State { public virtual v… 続きを読む »
メニューとカーソルを表示してプレイヤーの移動回転を止めるのスクリプトをもとに、TPSキャラクターを使っているときにメニューとカーソルを表示して、移動とカメラをロックしてみました。 TPSキャラクターを使うには、カメラと一… 続きを読む »
カーソルと重なっている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で白に戻します。… 続きを読む »