2013年の12月からUnityやC#のことを中心にこのブログを書き始めましたが
記事が溜まってきたので1年の振り返りも兼ねて一覧にしました
このブログを参考にしてくださっている方のお役に立てば幸いです
来年もゲーム開発に関する記事を書いていくつもりなので
引き続きよろしくお願いします
【Unity】
- Dictionary 型のインスタンスからランダムに値を取得する拡張メソッド
- 指定されたインターフェイスを実装したコンポーネントを持つ複数のオブジェクトを検索する関数
- 指定されたインターフェイスを実装したコンポーネントを持つオブジェクトを検索する関数
- インターフェイスを指定して子オブジェクトから複数のコンポーネントを取得する拡張メソッド
- インターフェイスを指定して子オブジェクトからコンポーネントを取得する拡張メソッド
- インターフェイスを指定して複数のコンポーネントを取得する拡張メソッド
- インターフェイスを指定してコンポーネントを取得する拡張メソッド
- Destroy関数の拡張メソッド
- DontDestroyOnLoad関数の拡張メソッド
- Windows上におけるアセットバンドルのダウンロード先のフォルダ
- 現在のシーン上からすべてのオブジェクトを検索する
- Vector3 型の x, y, z がすべて同じ値かどうかを返す拡張メソッド
- Error building Player: Couldn't build player because of unsupported data on target platform.
- 指定された名前のオブジェクトが存在する場合は削除する関数
- 自分自身を含むすべての子オブジェクトのレイヤーを設定する拡張メソッド
- レイヤー名を使用してレイヤーを設定する拡張メソッド
- 指定された 16 進数を Color 型に変換する関数 その3
- 指定された 16 進数を Color 型に変換する関数 その2
- Unity 4.5 の気になる新機能まとめ
- 孫オブジェクトを除くすべての子オブジェクトを取得する拡張メソッド
- Visual Studio Community 2013 で Visual Studio Tools for Unity を使用する
- 指定された 16 進数を Color 型に変換する関数
- Scene ビューでオブジェクトの手前にアイコンを表示する
- 生成したオブジェクトの名前に "(Clone)" を付加しない GameObject.Instantiate関数
- Dictionary<TKey, TValue> を Hashtable に変換する拡張メソッド
- 指定された配列からランダムに要素を返す関数
- Hashtable を Dictionary<string, string> に変換する拡張メソッド
- Unityで動くADVゲーム開発環境「ジョーカースクリプト」
- ゲームオブジェクト作成時にコンポーネントをアタッチする
- 「Unity Lua Interface Library」を使用してみる
- NGUIのスプライトにマウスポインタが重なった時の演出を実装する その2
- NGUIのスプライトにマウスポインタが重なった時の演出を実装する
- uGUIのTextでリッチテキストを使用する
- 「Ran out of trampolines of type 2」で iOS アプリが強制終了する時の解決方法
- 「Windows Phone/Storeユニバーサルアプリ iOS/Androidからの移植作業時に発生した課題実例」レポート
- ゲームオブジェクトを複製する関数
- Awake や Start の実行順を意識することなく他のコンポーネントを参照する
- Unity 4.6のuGUIでアウトラインをつける
- Unity 4.6のuGUIで影をつける
- 「第24回Unity勉強会」参加
- Unity 4.6 新機能「GetComponents<List<T>>」
- Unity 4.6 変更点「Edit Collider」
- Unity 4.6 変更点「Create メニュー」
- Unity 4.6 新機能「SetParent」
- Unity 4.6 新機能「OnTransformParentChanged」
- シングルキャストデリゲートを実現する
- Inspector にヘルプボックスを表示する DecoratorDrawer
- GameObjectが削除されてnullになったかどうかはnull合体演算子では確認できない
- モデルのアニメーションの種類による負荷の差の検証結果
- Quick Disable でオブジェクトのアクティブを素早く切り替える
- MonoBehaviour を継承して処理を改善する
- HasFlag 関数を Unity でも使用できるようにする拡張メソッド
- Editor Console Pro でゲーム開発効率化
- ゲームオブジェクトに「EditorOnly」タグを設定してビルドに含まれないようにする
- 指定したオブジェクトからルートとなるオブジェクトを取得する拡張メソッド
- ローカル座標を維持したまま親オブジェクトを設定する拡張メソッド
- Hierarchy ビューで右クリックされた時に表示されるメニューを独自に実装する
- 指定したゲームオブジェクトから名前で子オブジェクトを検索する拡張メソッド
- EditorApplication.ExecuteMenuItem で Unity エディタのメニューのショートカットを作成する
- Inspector に指定された関数を実行するボタンを表示する PropertyDrawer
- すべての子オブジェクトを取得する拡張メソッド
- #defineで定義されているシンボルを一覧で表示するウィンドウをエディタ拡張で実装する
- UIWidgetやUISpriteの上下左右の端の位置を返す拡張メソッド
- 指定されたゲームオブジェクトがnullまたは非アクティブかどうかを判定する拡張メソッド
- 指定されたコンポーネントがアタッチされているかどうかを返す拡張メソッド
- 配列やリストなどのコレクションの検索速度の検証結果
- ループ構文の処理速度の検証結果
- GameObject.Find 系関数の処理速度の検証結果
- Error building Player: Win32Exception: ApplicationName='【Android SDKのパス】\tools\zipalign.exe'
- Application.RegisterLogCallbackに複数のコールバックを登録できるようにするクラス
- RemoveComponentを拡張メソッドで実現する
- ベジェ曲線のプログラム
- B-スプライン曲線のプログラム
- プレハブとインスタンスのヒモ付を解除するエディタ拡張
- UITextureやUISpriteで色を簡単に設定できるようにする拡張メソッド
- transform.LookAtをGameObject型のtransformプロパティを介さずに使用できるようにする拡張メソッド
- Sceneビューのカメラのアイコンを非表示にする
- Sceneビューの表示を2Dにする
- マテリアルの透明度を設定しやすくする拡張メソッド
- GetComponentsInChildrenで自分自身を含まないようにする拡張メソッド
- Unite Japan 2014の講演動画が公開開始
- can't use image filters (npot-RT are not supported or RT are disabled completely)
- 「SkinnedMorphTargets.cs」を使用してモーフィングを実装するときの注意
- Unity4.3.4で出力したiOS版のWWWでメモリリークが発生する問題の対策
- オブジェクトプール関連サイト
- Resourcesフォルダからのプレハブのパスを定数で管理するクラスを生成する拡張機能
- アセットをunitypackageとしてエクスポートする関数
- UnityエディタのProjectビューでアセットのファイルパスをコピーする機能を追加するエディタ拡張
- テクスチャのファイル名によってフォーマットを自動で変更するクラス
- 「SoundManagerPro 3」が85%オフ
- StartCoroutineでラムダ式を使用できるようにするラッパークラス
- Unable to insert branch island. No insertion point available. for architecture armv7
- The associated script can not be loaded. Please fix any compile errors and assign a valid script.
- EditorGUILayout.ObjectFieldの型指定の重複を無くすラッパー関数
- PropertyDrawer
- Request error (error): UnityEditor.AsyncHTTPClient:Done(State, Int32)
- リスト内の要素をランダムに返す拡張メソッド
- 配列内の要素をランダムに返す拡張メソッド
- エディタ再生中にゲームオブジェクトをコピーできる
- 子のオブジェクトが存在するかどうかを確認する拡張メソッド
- ExecutionEngineException: Attempting to JIT compile method
- 「Unite Japan 2014」2日目参加してきました
- 「Unite Japan 2014」1日目参加してきました
- Enum.TryParseを使用できるようにする
- string.IsNullOrWhiteSpaceを使用できるようにする
- Instantiate関数を綺麗に記述するためのラッパークラス
- Inspectorで入力できる値を制限する「OnValidate関数」
- Resources.Loadを綺麗に記述するためのラッパークラス
- gameObjectプロパティを使わなくてもAddComponentを可能にする拡張メソッド
- ゲームオブジェクトから安全にGetComponentする拡張メソッド
- プロトタイプ作成用アセット「Prototype」
- 「知って得するUnity エディタ拡張編」スライド公開しました
- 例外を投げる
- シーン遷移演出用アセット「Easy Masking Transition」
- Vector2型、Vector3型、Rect型、Bounds型の変数の値をInspectorで設定しやすくする「CompactAttribute」
- 正規表現を使用してstring型の値を制限する「RegexAttribute」
- string型の値を複数行で入力する「MultilineAttribute」
- 値の入力範囲を制限する「RangeAttribute」
- Transform型の位置や回転角、サイズの設定を楽にする その2
- Transform型の位置や回転角、サイズの設定を楽にする
- レイヤー名を定数で管理するクラスを生成する拡張機能
- タグ名を定数で管理するクラスを生成する拡張機能
- シーン名を定数で管理するクラスを生成する拡張機能
- Unityエディタでゲーム実行中にエラーや例外が発生したら一時停止したい
- Unityエディタのフォーカスが外れてもゲームを実行し続ける
- 「Async design with Unity3D」
- ファイル名に全角文字が含まれたテクスチャがUnityプロジェクトに追加された時に警告ダイアログを表示
- 「実行時のために最適なデータ構造を作成しよう」
- 開発者インタビューを見る
- 「Unity初心者が全財産200万投じて、チーム開発に挑戦してみた。」感想
- MonoBehaviourのサブクラスをnewで生成している場合の警告
- 「ウチの姫さまがいちばんカワイイ」の開発秘話が公開されました
- UnityとVisual Studio Express 2012の連携
- おすすめ参考サイトのRSSリンク集
- 「[Unite Japan 2013]Unity × Jenkins:一歩進んだ使い方」感想
- 「[Unite Japan 2013]LWF in real life: どうぶつフレンズの開発事例」感想
- 「知って得するUnity」スライド公開しました
- エディタ再生時の色を変える
- 配列やリストの中身をログに出力するアセット「Quick Debugger」
- お気に入り機能追加用アセット「Favorites Tab[s]」
- コンソール拡張用アセット「Editor Console Pro」
- 「ラクガキ忍者制作秘話」
- 単体テスト用のフレームワーク
- デフォルト引数を使用するクラスでnamespaceを使えない
- 「Editor スクリプティング 入門」
- Unityエディタの拡張機能でコピペ
- MenuItemでショートカットキーを登録
- private変数をInspectorで編集する
- NGUIが75%オフ
- bool型の乱数を返す関数を作る
- リリース時にログを出力しない
- オブジェクトのルートパスを出力する
【C#】
- リスト内に指定された要素があるか調べて存在する場合はその要素をリストから削除する拡張メソッド
- 配列内の要素を複数キーでソートする拡張メソッド
- Dictionary から指定したキーの要素を削除する前に関数を呼び出す拡張メソッド
- 指定されたいずれかの文字列を含むかどうかを返す拡張メソッド
- 条件を満たす場合にのみリストに要素を追加する拡張メソッド
- 指定された文字列がメールアドレスかどうかを返す関数
- 指定された文字列が電話番号かどうかを返す関数
- 指定された文字列に半角カナ文字が含まれているかどうかを返す関数
- 指定された文字列が郵便番号かどうかを返す関数
- List を指定されたパラメータでソートできるようにする拡張メソッド
- Dictionary にキーが存在する場合にのみ関数を呼び出す拡張メソッド
- 文字列が URL かどうかを確認する関数
- XMLドキュメントコメントでparaタグを使用して改行する
- SelectMany関数で複数の配列やリストを1つにまとめる
- 文字列を指定された回数連結して返す拡張メソッド
- 配列やリストの中から指定した範囲の要素を抜き出す
- 配列やリストから目的の値に最も近い値を取得する拡張メソッド その2
- 配列やリストから最小値もしくは最大値を持つ要素を検索する拡張メソッド
- 配列やリストから目的の値に最も近い値を取得する拡張メソッド
- 独自のクラスでコレクション初期化子を使用できるようにする
- 列挙型の要素の数を取得する
- 1つのオブジェクトが複数のオブジェクトのいずれかと等しいか判定する拡張メソッド
- Dictionaryに既に指定したキーが存在する場合は何もしないAdd関数の拡張メソッド
- 配列やリストを逆順に処理する拡張メソッド
- 数値を加算して、範囲を超えた分は 0 からの値として処理して返す拡張メソッド
- 指定した型の基底クラスの情報をすべて取得する拡張メソッド
- リストの先頭にあるオブジェクトを削除して返す拡張メソッド
- Dictionary型の指定したキーに値が存在しない場合はデフォルト値を返す拡張メソッド
- 文字列から特定の文字列をすべて削除する拡張メソッド
- float型を安全に比較する拡張メソッド
- 数値に指定された桁数の固定小数点数を付加した文字列を返す拡張メソッド
- アセンブリ内から指定されたインターフェイスが実装されているすべての型情報を取得する
- 指定したパスにディレクトリが存在しない場合にのみディレクトリを作成する汎用クラス
- スネークケースをキャメルケースに変換する拡張メソッド
- 単語の先頭文字を大文字に変換する拡張メソッド
- 書式指定可能なStringBuilder.AppendLineを拡張メソッドで実装する
- 「Obsolete」属性を使用してクラスや関数を使用された時にエラーや警告を発生させる
- 配列の要素をランダムに並べ替えて返す拡張メソッド
- #error ディレクティブでコンパイルエラーを発生させる
- Arrayクラスのstatic関数をList<T>のメンバ関数のように使用できるようにする拡張メソッド
- String.Splitをもっと使いやすくする拡張メソッド
- 数値を3桁カンマ区切りの文字列に変換する拡張メソッド
- 1つの文字列が複数の文字列のいずれかと等しいか判定する拡張メソッド
- 数値を0埋めの文字列に変換する拡張メソッドの実装
- Rubyライクなループ処理を拡張メソッドで実現する
- Funcデリゲートのnullチェックを省略するための拡張メソッド
- Actionデリゲートのnullチェックを省略するための拡張メソッド
- 周回数が取得できるforeach文を拡張メソッドで実現する
- 開始値の指定を省略できるEnumerable.Rangeのラッパー関数を作る
- ListのAddRangeを拡張する
- Array.ForEachを拡張メソッドでスマートに書く
- リフレクションを使用してToString関数を手軽に実装する
- 列挙型の乱数を取得する
- Dictionary型の変数定義が横に長くなるのが気になる
- 「C#の書き方」
- デリゲートを使用したステートパターン
- インデクサでインスタンスを配列のように扱う
- 基底クラスの関数呼び出しを省略
- null合体演算子によるキャッシュ
- デリゲートやイベントの実行順は登録順とは関係ない
- デリゲートでオブジェクトの振る舞いを変える
- eventとdelegateの違い
- 配列のNULLチェックを省略する
- 複数の戻り値をラムダ式で受け取る
- 「知って得するC# LINQ to Objects編」スライド公開しました
- 文字列がnull または空文字列または空白文字のみかを判断する「String.IsNullOrWhiteSpace 」
- if文の重複を回避する
- 文字列がnullまたは空文字列かを判断する「String.IsNullOrEmpty」
- イベントのNULLチェックを省略する
- 「知って得するC#」スライド公開しました