【Unity】インスタンス化する位置や回転をプレハブに保存する
猿のオブジェクトをプレハブ化し、そのプレハブに位置や回転を保存してインスタンス化するときに使ってみました。 オブジェクトの位置と回転を調整する 猿のプレハブをProjectウィンドウからシーンビューにドラッグアンドドロッ… 続きを読む »
猿のオブジェクトをプレハブ化し、そのプレハブに位置や回転を保存してインスタンス化するときに使ってみました。 オブジェクトの位置と回転を調整する 猿のプレハブをProjectウィンドウからシーンビューにドラッグアンドドロッ… 続きを読む »
スクリプトでアイテムが重ならないようにランダムに配置してみました。 ランダムの位置を設定 Random.insideUnitCircleメソッドは、半径1の円の内部のランダムな位置を返します。その位置に値をかけると半径を… 続きを読む »
ドラッグアンドドロップで、インベントリのアイテムを合成して新しいアイテムを作るときや、インベントリのアイテムを消すときの処理を、今まではタグで場合分けしていましたが、UIに付けたスクリプトに書くようにしてみました。 まず… 続きを読む »
ドラッグアンドロップでアイテムを合成して新しいアイテムにしてみました。 まず、取得アイテムの情報を持つための、ScriptableObjectを継承したクラスに、合体できるかどうか、合体情報の配列のフィールドとゲットメソ… 続きを読む »
画像を他の画像の上にドロップしたときに、2つの画像の順番を入れ替えてみました。また、画像をドラッグしている間に順番が詰まらないように、空いたところに透明な画像を差し込んでみます。 まず色が透明でRaycast Targe… 続きを読む »
インベントリのアイテム画像をゴミ箱にドラッグアンドドロップして、アイテムを削除できるようにしてみました。 まず、インベントリのスクロールビューと同じCanvasにパネルとテキストを作って画面の下の方に配置しました。 パネ… 続きを読む »
アイテム画像をドラッグアンドドロップして並べ替えてみました。 カーソルが乗っているUIのオブジェクトを取得して、アイテム画像をクリックしている間は画像がマウスカーソルに付いてくるようにします。アイテム画像にはタグとスクリ… 続きを読む »
武器を切り替えられる円形のメニューを作ってみます。今回は取得した武器の画像を円形に並べてみました。 まず、武器メニューのためのCanvasを作って、スクリプトを付けました。 このスクリプトには、武器の追加/削除と、画像の… 続きを読む »
シェーダーグラフで、オブジェクトの表面を横切るような線を作ってみました。 走る方向や線の太さ、スピードなどを変えられます。 まずSpaceをObjectにしたPositionノードと方向を表すVector3の値をかけます… 続きを読む »
カーソルが乗っているUIのオブジェクトを取得するでインベントリ内のアイテムの情報を取得できるようになったので、アイテムをインベントリから取り出せるようにしてみました。 まず操作を指示するためのドロップダウンのプレハブを作… 続きを読む »
カーソルと重なっているUIのオブジェクトを取得して、インベントリのアイテムの情報を表示してみました。 メニュー表示を切り替えるスクリプトに、UIオブジェクトを取得する処理を追加しました。 using System.Col… 続きを読む »
拾ったアイテムをインベントリに置いて管理してみました。 まずこちらのサイトを参考にアイテムデータベースを作りました。 アイテム管理クラスでは、スタートでシーン上のインスタンスを静的フィールドに入れて、静的メソッドでそれを… 続きを読む »
プレイヤーが取得できるアイテムのクラスを作ってみました。同じクラスを使って、掴めるアイテムも取得できるようにします。 まずアイテムを取得する処理を書いたクラスを作りました。今回は引数のゲームオブジェクトを非アクティブにし… 続きを読む »
アイテムにつけたスクリプトに、レイの当たった場所を掴んで動かす処理を書いてみました。 まずクリックした時に呼ぶアイテムのメソッドの引数に、レイの当たった位置を渡して、アイテムではそれをローカル空間に変換します。メソッドを… 続きを読む »
イベントでゲームの進行管理をする #3ではアイテムを掴んで動かす処理をプレイヤーのスクリプトに書いていました。それをアイテムのスクリプトに移してみました。 まず、インターフェースでクリックされたときとクリックが離されたと… 続きを読む »
シーンに配置した目印のオブジェクトから、指定の数だけランダムに選んでアイテムと置き換えます。 まずアイテムの赤い球と、目印に使う小さなシリンダーのプレハブを用意しました。 空のゲームオブジェクトを作って、その子オブジェク… 続きを読む »
掴んだオブジェクトがプレイヤーの視線方向の軸に沿って回転できるようにしました。 // アイテムを移動させる else if (state == 2) { itemRb.velocity = (transform.forw… 続きを読む »
前の記事の勘違いを修正しました。 前の記事では、プレイヤーとItemの正面のなす角が小さくなるように回転させたいのに、内積をそのまま使っていました。 コサインは角度が小さいと1になって90度のときに0になるので、内積を1… 続きを読む »
左クリックを押している間はアイテムを持ち上げて、右クリックを押すと視線方向にそのアイテムを投げます。 前の記事のスクリプトのアイテムを移動させる箇所に投げる処理を追記します。 // アイテムを移動させる else if … 続きを読む »