コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

2014-06-01から1ヶ月間の記事一覧

【Unity】RemoveComponentを拡張メソッドで実現する

ソースコード using UnityEngine; /// <summary> /// Component 型の拡張メソッドを管理するクラス /// </summary> public static class ComponentExtensions { /// <summary> /// コンポーネントを削除します /// </summary> public static void RemoveComponent<T>(this Component self) where T : C</t>…

【C#】Dictionary型の指定したキーに値が存在しない場合はデフォルト値を返す拡張メソッド

ソースコード using System.Collections.Generic; /// <summary> /// Dictionary 型の拡張メソッドを管理するクラス /// </summary> public static class DictionaryExtensions { /// <summary> /// 指定したキーに関連付けられている値を取得します。 /// キーが存在しない場合は既定値</summary>…

【C#】文字列から特定の文字列をすべて削除する拡張メソッド

ソースコード /// <summary> /// string 型の拡張メソッドを管理するクラス /// </summary> public static class StringExtensions { /// <summary> /// 指定した文字列をすべて空文字列に置換した新しい文字列を返します /// </summary> /// <remarks> /// "ABCABC".ReplaceEmpty("B") → ACAC /// </remarks> public s…

【おすすめスライド】「失敗から学ぶゲーム開発(ドラゴンジェネシス〜聖戦の絆〜の場合) 」

失敗から学ぶゲーム開発(ドラゴンジェネシス〜聖戦の絆〜の場合) from Yuki Tamura

【Unity】ベジェ曲線のプログラム

ソースコード using UnityEngine; /// <summary> /// Mathf クラスに関する汎用関数を管理するクラス /// </summary> public static class MathfUtils { /// <summary> /// ベジェ曲線における X 座標を返します /// </summary> /// <remarks>http://opentype.jp/fontguide_doc3.htm</remarks> /// <param name="x1">開始点の X 座標</param> /// <param name="x2"></param>…

【Unity】B-スプライン曲線のプログラム

ソースコード using UnityEngine; /// <summary> /// Mathf クラスに関する汎用関数を管理するクラス /// </summary> public static class MathfUtils { /// <summary> /// B-スプライン曲線における X 座標を返します /// </summary> /// <remarks>http://opentype.jp/fontguide_doc2.htm</remarks> /// <param name="x1">開始点の X 座</param>…

【Unity】プレハブとインスタンスのヒモ付を解除するエディタ拡張

概要 using System.Linq; using UnityEditor; using UnityEngine; public static class PrefabInstanceDisconnecter { [MenuItem("Tools/Prefab/Disconnect")] public static void Disconnect() { foreach (var n in Selection.gameObjects) { PrefabUtility…

【C#】float型を安全に比較する拡張メソッド

ソースコード using UnityEngine; /// <summary> /// float 型の拡張メソッドを管理するクラス /// </summary> public static class FloatExtensions { /// <summary> /// 指定のオブジェクトが現在のオブジェクトと等しいかどうかを判断します /// </summary> public static bool SafeEquals ( thi…

【C#】数値に指定された桁数の固定小数点数を付加した文字列を返す拡張メソッド

ソースコード using System; /// <summary> /// int 型の拡張メソッドを管理するクラス /// </summary> public static class IntExtensions { /// <summary> /// 数値に指定された桁数の固定小数点数を付加した文字列を返します /// </summary> /// <remarks> /// 123.FixedPoint(2) → 123.00 /// 123.FixedP</remarks>…

【Unity】UITextureやUISpriteで色を簡単に設定できるようにする拡張メソッド

ソースコード using UnityEngine; /// <summary> /// UIWidget 型の拡張メソッドを管理するクラス /// </summary> public static class UIWidgetExtensions { /// <summary> /// 赤成分値を設定します /// </summary> public static void SetColorR(this UIWidget self, float r) { var color = sel…

【Unity】transform.LookAtをGameObject型のtransformプロパティを介さずに使用できるようにする拡張メソッド

ソースコード using UnityEngine; /// <summary> /// GameObject 型の拡張メソッドを管理するクラス /// </summary> public static class GameObjectExtensions { /// <summary> /// 向きを変更します /// </summary> public static void LookAt(this GameObject self, GameObject target) { self.t…

【Unity】Sceneビューのカメラのアイコンを非表示にする

UnityのSceneビューはデフォルトだとカメラのアイコンが表示された状態なので UIを作成するときはカメラのアイコンが邪魔になってしまいますが Sceneビューの上部にある「Gizmos」を押して カメラのアイコンを選択することで カメラのアイコンを非表示にする…

【Unity】Sceneビューの表示を2Dにする

UnityのSceneビューはデフォルトだと3D表示ですが Sceneビューの上部にある「2D」を押すことで簡単に2D表示に切り替えることができます もう一度押すことで3D表示に戻ります NGUIなどでUIを作成するときによく使用しています

【おすすめスライド】「NGUI基礎」

関連記事

【C#】アセンブリ内から指定されたインターフェイスが実装されているすべての型情報を取得する

C#

using System; using System.Linq; using System.Reflection; /// <summary> /// Assembly クラスに関する汎用関数を管理するクラス /// </summary> public static class AssemblyUtils { /// <summary> /// 現在実行中のコードを格納しているアセンブリ内の指定されたインターフェイスが</summary>…

【C#】指定したパスにディレクトリが存在しない場合にのみディレクトリを作成する汎用クラス

C#

はじめに 上記の記事で、C# でフォルダ(ディレクトリ)の 作成、移動、削除、存在するかどうかの確認を行う方法を紹介しました この記事では、指定したパスにフォルダが存在しない場合にのみ、 フォルダを作成する関数を紹介していきます ソースコード usin…

【Unity】マテリアルの透明度を設定しやすくする拡張メソッド

ソースコード using System; using UnityEngine; /// <summary> /// Material 型の拡張メソッドを管理するクラス /// </summary> public static class MaterialExtensions { /// <summary> /// 透明度を設定します /// </summary> public static void SetAlpha(this Material self, float a) { var …

【Unity】GetComponentsInChildrenで自分自身を含まないようにする拡張メソッド

ソースコード using System.Linq; using UnityEngine; public static class GameObjectExtensions { public static T[] GetComponentsInChildrenWithoutSelf<T>(this GameObject self) where T : Component { return self.GetComponentsInChildren<T>().Where(c =></t></t>…

【Unity】Unite Japan 2014の講演動画が公開開始

http://japan.unity3d.com/unite/unite2014/schedule

【おすすめスライド】「「宴」実装時に得られたUnityプログラムノウハウ」

気になったところ Unity4.5でGetComponentInParentが追加された GameObject.Find:速度が遅い GameObject.FindWithTag:速度がちょっと遅い FindObjectOfType:速度が遅い? FindやGetComponentは遅いのでキャッシュする transformプロパティは内部でGetComp…

【おすすめスライド】「20140530 Unity に於ける Localization のおはなし」

関連記事