Unity」カテゴリーアーカイブ

【Unity】プロファイラーでガベージコレクションを発生させる箇所を調べる

参照型の場合、変数の寿命ではなくガベージコレクタによってメモリが回収されます。このガベージコレクションのために一瞬動作が遅くなることがあります。 そこで、このメモリの確保のときに発生するGC Allocをプロファイラーで… 続きを読む »

【Unity】オーディオデータを好きな時にロード・アンロードする

デフォルトでは、シーンの読み込みと同時にオーディオデータもロードされますが、スクリプトで好きなタイミングにロードやアンロードができるようにしてみました。 オーディオファイルをインポートして、オーディオクリップのインスペク… 続きを読む »

【Unity】しゃがみやリーンと一緒に懐中電灯を動かす

FPSプレイヤーが顔を傾けたりしゃがんだりしているときに、懐中電灯の位置も同じように変えてみました。 懐中電灯として使うスポットライトは、ピボットである空のゲームオブジェクトの子になっています。カメラの動きに少し遅れてつ… 続きを読む »

【Unity】スクリプトでコンポーネントを追加/削除する

今までは同じメッシュのオブジェクトに別のコンポーネントやタグなどが付いていた場合に、それをプレハブ化しておいて、置き換えるようにしていましたが、同じオブジェクトにコンポーネント等を追加、削除するようにしてみました。 もと… 続きを読む »

【Unity】ライトプローブの効果を確認する

ライトプローブを配置してライトマップをベイクしたあとに、ライトプローブからどのような光を受けるかをシーンビューで確認してみました。 そのために、Cubeを新規作成して、敵などと同じ大きさになるようにスケールを調節して、L… 続きを読む »

【Unity】FPSカメラの回転をロックしたいけどリーンはさせたいとき

メニューを開いてマウスカーソルを表示するときは、FPSキャラクターの移動や回転を制限したいですが、リーンでカメラを横に傾けたままメニューを開いたときにカメラが傾いたまま止まってしまいます。 そこで、マウスカーソルを動かし… 続きを読む »

【Unity】敵がスムーズに追いかけてこないとき

違うフロアにいるとき等にナビメッシュエージェントの目的地にプレイヤーの位置を毎フレーム設定すると、エージェントの移動がカクついてスムーズにプレイヤーを追尾しません。 毎フレーム目的地を入れて、経路が変わることが原因でしょ… 続きを読む »

【Unity】プレイヤーと同じ階のナビメッシュ上の点を目的地に設定する

建物の床などナビメッシュが上下に重なってしまうところでは、プレイヤーがいる階のナビメッシュ上の点がただしく取れないときがあるので、階を判別して目的地を探す方法を変えてみました。 まず、階ごとに別々のエリアを設定します。 … 続きを読む »