ルルのゲーム開発備忘録

主にUnityやC#に関する情報を気まぐれに投稿していきま~す

Unity

【Unity】実行中のコマ送り機能のショートカットキーと隠れ?機能

Unityのコマ送り機能 GUIでの通常のコマ送り ショートカットキーを使ったコマ送り コマ送りしながらさらにボタンをタップする まとめ Unityのコマ送り機能 Unityにコマ送り(1フレームずつ実行させる、描画させる)機能があるのはご存知の方も多いと思います。…

【Unity】コルーチンを使うときに、メモリ割り当てを少し減らす方法・最適化

WaitUntilやWaitWhileはインスタンスを作成する コーディングの例 WaitUntilやWaitWhileはインスタンスを作成する コルーチン内のyield returnでnew WaitUntileやWaitWhileは、新しいインスタンスを作成してメモリアロケーションが発生するので、何回もコル…

【Unity】入門:コルーチンまとめ

コルーチンとは コルーチンの使い方 コルーチンの宣言 コルーチンの実行 よく使うコルーチンの処理 yield return null yield return new WaitForSeconds(n) yield return new WaitUntil(() =>bool値) yield return new WaitWhile(() => bool値) yield break …

【C#】Listの中身をランダムに入れ替える・ランダムに一個取り出す簡単な書き方

たった1行でランダムにできる方法 結論 出力結果 やっていること 補足 たった1行でランダムにできる方法 LinqとGuidをつかって、リストの中身をランダムにする方法、ランダムに一個取り出す方法を紹介します。といってもランダムに一個取り出すほうは、中身…

【Unity】Debug.Logの第二引数が便利

Debug.Log()の第二引数にObject型を指定して、実行して出てきたコンソールログをクリックすると指定したObjectがヒエラルキーのどこにいるかを教えてくれます。 最近まで知りませんでした...

【Unity】関数名やプロパティ名はわかるけど、どのusingを使えばいいかわからないよ~って時に使うショートカット

結論 windowsでVisual Studioの環境なら「Alt + Enter」で該当しそうなusingディレクティブを示してくれる。(macは調べてないからわからないけど「cmd + Enter」とかかな?) 内容 時々関数名やプロパティ名はわかるけど、どのusingディレクティブを追加すれ…

【Unity】フレームレートを変更する方法

以下の1行で、好きなフレームレート数に設定できます。 // 30フレームに設定 Application.targetFrameRate = 30; あくまで目標とするフレームレート数なので、処理が間に合わない場合は それ以下のフレームレートになります。 1フレームの処理が終わった場合…

【Unity】定数用のクラスを定義

どこのスクリプトからでも参照したい定数をまとめておくクラスの作成例の一つです。 public static class GrobalConst { public static class PlayerSetting { public static int INIT_PLAYER_NUM = 3; public static int MAX_PLAYER_NUM = 16; public stati…

tips:プレハブのオーバーライドでできる編集とできない編集

Unityのシーン上のプレハブインスタンスに対して修正を行うことをオーバーライドという。オーバーライドでできる編集には、以下のものがある。 ・**プロパティの値の変更**:変更すると値の表示が太字に変わる ・**コンポーネントの追加**:新しいコンポーネ…

tips:個人的に一番使うUnityショートカット

Shift + F12 個人的には、間違いなくこれを叩いてる回数が一番多い Visual Studioで変数名や関数名を選んで上記ショートカットを叩くと 参照元・参照先が全部わかりすぐにそこにとべる。(飛んだ後に戻るにはctrl + -) (Windowsでのショートカット macはわか…

tips:プレハブを普通のオブジェクトに戻す方法

プレハブを普通のゲームオブジェクトに戻す(展開する)には 右クリックメニューから prefab→unpack を選択すると展開される。 ネスト化されたものまで全て展開するにはunpack completely ただし、オーバーライドしているものは展開されない

tips:プレハブモードから抜けるとundoできなくなる

Unityの作業で、プレハブモードでプレハブを編集して プレハブモードから抜けるとundoができなくなるので オブジェクトを削除した後などは注意するよう心がける。

tips:書き込み専用プロパティは定義しない

getキーワードのないsetキーワードだけのプロパティは定義してはいけない。 オブジェクトにおける属性を表すものがプロパティなので 属性の値を知ることのできないプロパティはプロパティとしての意味がない。 もしそういうものがあるならそれはプロパティで…

tips:変数の宣言はできるだけ遅らせる

変数の宣言をクラスやメソッドの先頭にまとめて書く人がいるが、それはいい書き方とは言えない。プログラムの理解を妨げることになるし、バグを混入させる危険を高めることになる。先頭で宣言する変数は全体で利用される変数であるという認識をもつ。

tips:Unity Editor のバージョン種別

||サポート期間|説明||:-:|:-:|:-||LTSストリーム|2年間|バグフィックスが2年間実施される。TECHストリームの最終バージョンがLTSストリームへと引き継がれる||TECHストリーム|次のLTSリリースまで|年2回のメジャーバージョンアップが計画されている||プレリ…

tips:マジックナンバーを避ける

## マジックナンバーには名前をつけるクラス内で使うマジックナンバーは*const*で名前をつける。また*const*は*public*にしない。他のクラスに見せる場合は*public static readonly* を使う(*const*のバージョン管理問題)

tips:フィールドのpublicとプロパティの違い

C#では、フィールドは必ずprivateにした方が良い。 フィールドとプロパティではその背景にある思想が全く異なる。 フィールドは内部のデータでプロパティは外部とのインターフェイスである。 また以下の二つのコードには実質的な違いもいくつかある。 public…