oniyarai’s tech memo

oniyarai’s tech memo

すぐ忘れる自分に捧げるメモ

Coroutineの使用方法と動作について

Coroutine使用法 コルーチンはコルーチンとして開始した関数内で処理を一旦停止、フレーム単位で停止後(または指定時間後)処理を再開できる機能。 別スレッドので処理を走らせられる(かのような)感。(実際にはマルチスレッドな訳ではない) 関数内で 処理…

TextMeshProでのフォントインストール方法

TextMesh Proでttfファイルのフォントをインストールする方法 まず、使用するフォントファイル(ここではttfファイル)をダウンロードしててから、 Assets -> Import New Assetsで該当のファイルをUnityに取り込みます。 Window -> TextMeshPro -> Font Assets…

Unityの処理停止について

Time.timeScale について止まるもの止まらないもの Unityで停止処理を行う際に使えるのが、Time.timeScaleですが、止まる処理と止まらない処理がある。 Time.timeScaleは基本的に1で通常時間、0に近づくにつれて時間の経過をスローにしていくことができる。 …

Mathf.Round 備忘録

Mathf.Roundすぐ忘れるんで。 Mathf.Round(float f) 偶数丸め。 一番近い整数に数値を丸めるが、小数点以下が ~.5で終わる場合は最も近い上下の整数のうち偶数側に丸める。 よって using System.Collections; using System.Collections.Generic; using Unity…

オブジェクトの動的生成 Scriptから

Resources.Load 前準備 動的生成を行いたいオブジェクトのプレハブを作成。 Assets直下にResourcesフォルダを作成 1で作成したプレハブを2に配置 ここからScriptでの動的なオブジェクト生成処理。 using System.Collections; using System.Collections.Gener…

取りうる値の制限(オブジェクトの移動範囲の制限など)

Mathf.Clamp intまたはfloatの値の範囲を制限する 使用法はIntもFloatも同様。第一引数で与えられるValueを第二引数(最小値)、第三引数(最大値)の間に制限する。 この場合表示される値は3となる(最大値より大きい10であるため)。 using UnityEngine; using S…

衝突時のTrigger処理

OnTriggerEnter系とCompareTag ColliderのコンポーネントでIs Triggerのチェックを入れていた場合、以下は2Dの場合。 引数のcollisionに衝突したオブジェクトの情報がある。CompareTagでオブジェクトにTagが設定されているかどうかチェックできる。 private …

オブジェクトのマウスカーソル追尾

Quaternion.Euler / Vector2.Lerp / Mathf.Atan2 マウスカーソル(四角のターゲットサイト)をミサイルが追尾する。また、ミサイルの向きはターゲットサイトを向くような処理を行う。 以下にコードを示す public class BulletController : MonoBehaviour { // …

マウスカーソルの座標取得

Input.mousePosition ゲームスクリーン上においてマウスカーソルが存在する座標を取得する。 以下のスクリプトで、input.mousePosition によってゲームスクリーン上にあるマウスカーソルの位置(スクリーン座標)を取得。 続く Camera.main.ScreenToWorldPoint…

サウンド再生

Audio Source コンポーネント 音声を管理するオブジェクト(または、音声を再生するオブジェクト)にAudio Sourceコンポーネントをアタッチ。 その際、デフォルトではチェックが入ってるPlay On Awakeは外しておかないと、オブジェクトのAwake時に再生されてし…

ランダム値生成

Random.Range float の場合には、指定した下限値・上限値共にInclusiveだが、intの場合下限値はInclusiveで上限値はExclusiveになる。 つまり生成される値は0.0 ~11.0(float)と0~10(int)となる。 using UnityEngine; float value = Random.Range(0f, 11f);…