【Unity】メッシュをスクリプトで生成する
スクリプトで自由なサイズの直方体を生成してみました。 Meshクラスのオブジェクトのフィールドに、頂点や面、法線、UVなどの配列を入れて、メッシュフィルターコンポーネントに設定します。 頂点の配列の要素はローカル空間での… 続きを読む »
スクリプトで自由なサイズの直方体を生成してみました。 Meshクラスのオブジェクトのフィールドに、頂点や面、法線、UVなどの配列を入れて、メッシュフィルターコンポーネントに設定します。 頂点の配列の要素はローカル空間での… 続きを読む »
敵が攻撃を受けた時に管理クラスがそれを他の敵に伝えるようにしてみました。 まず各敵につけるスクリプトでは、ボールが衝突したときに管理クラスのメソッドを呼びます。動きを止めたりマテリアルの色も変えています。管理クラスのオブ… 続きを読む »
ステルスゲージを作る #1 のゲージの値を変えてみました。敵からプレイヤーの頭へのレイが視界の範囲内で当たっているときにゲージを増やします。 まずゲージのImageコンポーネントのSource Imageに真っ白いスプラ… 続きを読む »
Flyweightパターンを使って、敵のオブジェクトを登録管理してみました。敵を取得するときにすでにインスタンスがあれば新規作成しません。 まず敵のプレハブを3種類作って全てに同じスクリプトを付けました。 using S… 続きを読む »
FPSプレイヤーのカメラから、アニメーション付きのカメラに切り替えて、アニメーションが終わったらプレイヤーのカメラに戻してみました。 まずシーンにあるプレイヤーを一旦非アクティブにして、カメラを新規作成しました。 カメラ… 続きを読む »
Stateデザインパターンのように、各状態をオブジェクトにして進行管理してみました。 まず状態クラスの基底クラスを作りました。 abstract public class State { public virtual v… 続きを読む »
キー入力などでアイテムのメニューとカーソルを表示してみます。その間はFPSキャラクターやカメラが移動回転しないようにします。 まず、プレイヤーに継承させるインターフェースと、メニュー表示のクラスを作りました。 using… 続きを読む »
バットのプレハブを位置・回転を指定して、スクリプトから配置してみました。 バットを選択してシフトキーを押している間、ピボットに四角形が表示されるので、これをドラッグしている時にさらにCtrlキーも押していると表面スナップ… 続きを読む »
アニメーションイベントに設定したメソッドで他のゲームオブジェクトの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はプレイヤーが触ると破壊さ… 続きを読む »
空のオブジェクトにスクリプトをつけました。別のオブジェクトに新しいスクリプトをつけて、こちらに上のオブジェクトをアタッチしました。 このスクリプトで、コンポーネントを取得するときに、型引数にMonoBehaviourと入… 続きを読む »
アニメーションが終了したときに毎回イベントを呼ぶようにして、中身のメソッドを変えてみました。 キャラクターにはアニメーターとスクリプトが付いています。アニメーターコントローラーでは、何も無いステートから、トリガーによって… 続きを読む »
出入り口にコライダーを置いて、ドアの出入りを判定してみました。 このドアはX軸方向に通過するので、トリガーExitのときのプレイヤーとコライダーの位置のX軸の値を比べるだけです。 private void OnTrigg… 続きを読む »
インターフェースを使って、同じメソッドを呼んだときの処理を変えてみました。 まずインターフェースに変化させるのと元に戻すメソッドを作りました。 using UnityEngine; public interface IU… 続きを読む »
動くFPSプレイヤーをキャラクターに目で追わせてみました。目はボーンコンストレイントで目を動かすの方法でコントロール用のボーンによって回転させました。 using System.Collections; using Sy… 続きを読む »