ノートの端の書き残し

UnityやらC#やら触っていたときのメモ

Unity

【Unity】UnityEventのRemoveAllListenersはインスペクタから登録したコールバックを削除しない

小ネタです。 [SerializeField] private Button button; button.onClick.AddListener(callback); ButtonのonClickにはスクリプトからコールバックを登録できます。 そして、 button.onClick.RemoveAllListeners(); スクリプトから、登録したコールバックを削…

Unityレイマーチングでメタボール

簡単にレイマーチングのやり方を学んだので、試してみるのに丁度よさそうなメタボールを書いてみました。 参考にしたのはこの2つのページです。 techblog.kayac.com yagiri000.hatenablog.com 3D化しただけです。 うーん…… 何かに使える気はしないけど楽しい…

SpriteAtlasをコード上で編集する

Unity2017から導入されたSpriteAtlasという仕組み。 これは、複数の画像を一つの大きな画像にまとめて、描画命令を少なくしてパフォーマンスに貢献するための仕組みです。 詳しくはこれらを読むとわかりやすい。かも。 tsubakit1.hateblo.jp kan-kikuchi.hat…

UnityでGUIDをいじって楽する

Unityの適当なシーン(.unity)やプレハブをテキストで開いてみると、 m_Script: {fileID: 何らかの数字列, guid: 何らかの文字列, type: 3} こんな行が見つかるはずです。 「テキストファイルで開く」ができない場合は Edit -> Project Setting -> Editor -> …

ローカル関数とラムダ式

私は普段仕事でも趣味でもUnityを使っているので、基本的に用いる言語はC#です。 ゲームプログラミングで重要なのはやはり速度ですが、複数人で開発したり長期的に改修が続く場合は可読性も大切です。 Unityでは読みやすいC#でプログラミングして、それが最…