C#
ValueTuple(タプル) タプルが一番威力を発揮するケース タプルの比較 タプルの分解 参考 ValueTuple(タプル) C#7.0からValueTuple(タプル)が追加されました。 タプルは、複数の要素をグループ化したデータです。タプルの生成方法と各要素のアクセス方法の例…
はじめに nullだけどnullじゃないんです 原因の正体 対応策 参考 はじめに 前回の記事*1で?.演算子と??=演算子の紹介をしました。これらを使うときにUnityのnull判定について少し注意が必要になるので、今回はそれについて紹介します。UnityのComponetnクラ…
はじめに ?.演算子 ??=演算子 最後に はじめに C#6.0から利用可能になっている?.演算子と、C#8.0から利用可能になっている??=演算子についての紹介です。 (Unityのクラスに対して使うのは少しだけ注意が必要です、それについては次の記事で説明予定) ?.演算…
はじめに 演算子のオーバーロードとは 書き方 サンプル オーバーロードできる演算子例 最後に はじめに C#の演算子(operator)のオーバーロードについての紹介です。 演算子のオーバーロードとは 自分で定義した型に対して演算を定義することができます。例え…
はじめに 1 VSCode向け.NetSDKをインストール 2 VSCodeをインストールする 3 VSCode拡張機能をインストール 3-1 検索欄に「C#」と入力し、C#機能拡張をインストール 3-2 検索欄に「Unity」と入力し、UnityCodeSnippetsをインストール 4 Omnisharp: Use Moder…
はじめに エディタ拡張のプログラム エディタの見た目 まとめ はじめに ゲームを実行するときに、最初のシーンをいちいちProjectウィンドウから検索して開くのが面倒くさかったので、シーン一覧を表示してその中から選ぶとシーンを開いてくれるエディタ拡張…
はじめに SingletonMonobehaviourの特徴 SingletonMonobehaviourの実装 まとめ はじめに Unityにおいて、マネージャークラスなど、シーン内で唯一のインスタンスを保持する必要があるクラスを扱う場合があります。例えば、GameManagerやSoundManagerなどがこ…
はじめに ジェネリックの基本 Unityでのジェネリックの利点 型に依存しないコード まとめ はじめに Unityでは、ジェネリックを使って、型に依存しないコードを実現することができます。 ジェネリックの基本 ジェネリックは、C#の機能で、汎用的なプログラム…
はじめに RequireComponentの目的 使い方 まとめ はじめに Unityには、Componentを簡単に追加するための機能がいくつかあります。その中でも、RequireComponentと呼ばれる機能は、Componentを追加する時に付属的に必要なComponentを自動的に追加するための機…
はじめに void 関数 => ステートメント まとめ はじめに Unity関連のことを調べてた時にふと見つけたラムダ式?の意外な書き方があったのでそのメモです。 void 関数 => ステートメント 例えば↓のような感じで、void Start() => count++と書くと、Start()が…
はじめに Unity Japanの公式動画での紹介 EnterPlayModeの要点 UnityのPlayModeが実行されるまでの時間がはやくなる オプションの設定方法 なぜ速くなるか ドメイン・リローディング シーン・リローディング EnterPlayModeをオンにした時の副作用 その他 ま…
はじめに #region~#endregionで囲う regionをたたむこともできる まとめ はじめに 今回は#regionの使い方についての紹介です。 #region~#endregionで囲う ↓の画像のように、自分のコードの好きな部分を#region~#endregionで囲うことができます。囲うこと…
はじめに Invoke サンプルコード 実行結果 まとめ はじめに ゲームを作っていると、数秒遅らせて処理したいという場面にしばしば出くわすと思います。自分はよくコルーチンを使うのですが、この前、Invokeで実装する方法を知ったので紹介します。 Invoke Inv…
はじめに シリアライズ化されるタイミングでコンストラクタが実行される EditorApplication.isPlayingで防ごうとしたらどうなるか まとめ はじめに この前、Unityでゲーム開発してるときにシーンやプレハブを開いただけでコンストラクタ内のDebug.Logが処理…
戻り値のないreturn サンプル まとめ 戻り値のないreturn return文って聞くと、戻り値の関数内で使うイメージがありますが、戻り値のないvoid関数内でも使うことができます。 使うとreturn文以下は処理されなくなります。「早期return」とよばれるやつですね…
ChatGPTにお願いだ! 使ったツール AIチャットくんとのやり取りの様子 生成してくれたC#のじゃんけんコード 生成されたコードの動作確認 まとめ ChatGPTにお願いだ! 最近何かと話題のChatGPT*1*2をつかって、C#でじゃんけんのプログラムを書かせてみました…
defineディレクティブ defineディレクティブ デバッグツールやログ出力などを実機やリリースビルドに含めたくないときには #if UNITY_EDITOR Debug.LogError("エラー"); #endif のように#defineディレクティブで囲むと簡単にできます。また、自分でカスタム#…
「ToolTip」とは サンプル インスペクター上の見え方 まとめ 「ToolTip」とは Unityでチーム開発とかをしてると[SerializeField]の部分が [Tooltip("タイトル用のテキスト"), SerializeField]のようになっているのをよく見かけると思います。これはTooltipAt…
Unityのコマ送り機能 GUIでの通常のコマ送り ショートカットキーを使ったコマ送り コマ送りしながらさらにボタンをタップする まとめ Unityのコマ送り機能 Unityにコマ送り(1フレームずつ実行させる、描画させる)機能があるのはご存知の方も多いと思います。…
WaitUntilやWaitWhileはインスタンスを作成する コーディングの例 WaitUntilやWaitWhileはインスタンスを作成する コルーチン内のyield returnでnew WaitUntileやWaitWhileは、新しいインスタンスを作成してメモリアロケーションが発生するので、何回もコル…
コルーチンとは コルーチンの使い方 コルーチンの宣言 コルーチンの実行 よく使うコルーチンの処理 yield return null yield return new WaitForSeconds(n) yield return new WaitUntil(() =>bool値) yield return new WaitWhile(() => bool値) yield break …
たった1行でランダムにできる方法 結論 出力結果 やっていること 補足 たった1行でランダムにできる方法 LinqとGuidをつかって、リストの中身をランダムにする方法、ランダムに一個取り出す方法を紹介します。といってもランダムに一個取り出すほうは、中身…
Debug.Log()の第二引数にObject型を指定して、実行して出てきたコンソールログをクリックすると指定したObjectがヒエラルキーのどこにいるかを教えてくれます。 最近まで知りませんでした...
結論 windowsでVisual Studioの環境なら「Alt + Enter」で該当しそうなusingディレクティブを示してくれる。(macは調べてないからわからないけど「cmd + Enter」とかかな?) 内容 時々関数名やプロパティ名はわかるけど、どのusingディレクティブを追加すれ…
以下の1行で、好きなフレームレート数に設定できます。 // 30フレームに設定 Application.targetFrameRate = 30; あくまで目標とするフレームレート数なので、処理が間に合わない場合は それ以下のフレームレートになります。 1フレームの処理が終わった場合…
どこのスクリプトからでも参照したい定数をまとめておくクラスの作成例の一つです。 public static class GrobalConst { public static class PlayerSetting { public static int INIT_PLAYER_NUM = 3; public static int MAX_PLAYER_NUM = 16; public stati…
たとえば"あいうえお"の中に"あい"が含まれているかどうかを調べるときはIndexOfを使うとできます。 var str1 = "あいうえお"; var str2 = "あい"; Debug.Log(str1.IndexOf(str2)); 出力:1 str2が"いう"の場合は2が返ってきます。 逆に含まれていない文字…
通常return文は、戻り値がある関数で使うが、 voidの関数内でも使うことができる。 処理を早めに返したい時などに使えるし、コードが読みやすくなることもある。
Shift + F12 個人的には、間違いなくこれを叩いてる回数が一番多い Visual Studioで変数名や関数名を選んで上記ショートカットを叩くと 参照元・参照先が全部わかりすぐにそこにとべる。(飛んだ後に戻るにはctrl + -) (Windowsでのショートカット macはわか…
outキーワードを使っているメソッドは良いメソッドとは言えない場合がほとんど。 特に引数が一つでそれにoutキーワードがついているメソッドは、明らかに設計ミスである。 呼び出しもとに結果を返すなら戻り値として返すべき。 **<span style="color: #000000">唯一outキーワードが許され</span>…