【Unity】インベントリのアイテムを操作する
カーソルが乗っているUIのオブジェクトを取得するでインベントリ内のアイテムの情報を取得できるようになったので、アイテムをインベントリから取り出せるようにしてみました。 まず操作を指示するためのドロップダウンのプレハブを作… 続きを読む »
カーソルが乗っているUIのオブジェクトを取得するでインベントリ内のアイテムの情報を取得できるようになったので、アイテムをインベントリから取り出せるようにしてみました。 まず操作を指示するためのドロップダウンのプレハブを作… 続きを読む »
カーソルと重なっているUIのオブジェクトを取得して、インベントリのアイテムの情報を表示してみました。 メニュー表示を切り替えるスクリプトに、UIオブジェクトを取得する処理を追加しました。 using System.Col… 続きを読む »
拾ったアイテムをインベントリに置いて管理してみました。 まずこちらのサイトを参考にアイテムデータベースを作りました。 アイテム管理クラスでは、スタートでシーン上のインスタンスを静的フィールドに入れて、静的メソッドでそれを… 続きを読む »
プレイヤーが取得できるアイテムのクラスを作ってみました。同じクラスを使って、掴めるアイテムも取得できるようにします。 まずアイテムを取得する処理を書いたクラスを作りました。今回は引数のゲームオブジェクトを非アクティブにし… 続きを読む »
アイテムにつけたスクリプトに、レイの当たった場所を掴んで動かす処理を書いてみました。 まずクリックした時に呼ぶアイテムのメソッドの引数に、レイの当たった位置を渡して、アイテムではそれをローカル空間に変換します。メソッドを… 続きを読む »
イベントでゲームの進行管理をする #3ではアイテムを掴んで動かす処理をプレイヤーのスクリプトに書いていました。それをアイテムのスクリプトに移してみました。 まず、インターフェースでクリックされたときとクリックが離されたと… 続きを読む »
シーンに配置した目印のオブジェクトから、指定の数だけランダムに選んでアイテムと置き換えます。 まずアイテムの赤い球と、目印に使う小さなシリンダーのプレハブを用意しました。 空のゲームオブジェクトを作って、その子オブジェク… 続きを読む »
掴んだオブジェクトがプレイヤーの視線方向の軸に沿って回転できるようにしました。 // アイテムを移動させる else if (state == 2) { itemRb.velocity = (transform.forw… 続きを読む »
前の記事の勘違いを修正しました。 前の記事では、プレイヤーとItemの正面のなす角が小さくなるように回転させたいのに、内積をそのまま使っていました。 コサインは角度が小さいと1になって90度のときに0になるので、内積を1… 続きを読む »
左クリックを押している間はアイテムを持ち上げて、右クリックを押すと視線方向にそのアイテムを投げます。 前の記事のスクリプトのアイテムを移動させる箇所に投げる処理を追記します。 // アイテムを移動させる else if … 続きを読む »
前の記事の方法で持ち上げて回転させるアイテムを遠ざけたり近くに寄せたりして観察できるようにします。 アイテムを持ち上げている時にマウスドラッグでアイテムを回転させますが、シフトキーを押しながらドラッグするとアイテムは回転… 続きを読む »
一人称で掴んだオブジェクトを目の前に持ってきて、マウスドラッグで回転させてみました。 スタンダードアセットのFPSコントローラーのカメラにスクリプトを付けます。 using System.Collections; usi… 続きを読む »
カメラの前に置いたCubeなどのオブジェクトを、カメラの向きを基準にして回転させてみます。 マウスカーソルの移動を使って回転させるときに、Cubeの向きに沿って回転させると、Cubeの回転と一緒に軸も回転するので、カメラ… 続きを読む »
アイテムなどを落とした時に出る砂埃のエフェクトの量や寿命などのパラメーターを、アイテムが落下した場所によってスクリプトで変えてみました。 まず、前の記事の方法で落下した場所のUV座標を使ってテクスチャから色を取得します。… 続きを読む »
一人称視点のホラーゲームなどで、アイテムを掴んだ後に回転させるような動きがよくありますが、アイテムを回転させて、特定の面がカメラの正面に来た時にその面の色を変えてみました。アイテムにヒントが隠されているような時に応用でき… 続きを読む »
他のオブジェクトの表面に沿ってオブジェクトを移動させるスクリプトを変更して、物を持ち上げたり置いたりできるようにします。 using System.Collections; using System.Collection… 続きを読む »