コガネブログ

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

2017-01-01から1年間の記事一覧

【Visual Studio】クラスや構造体で変数を選択した状態で Ctrl + . を押すと引数付きのコンストラクタを生成できる

概要 クラスや構造体で変数を選択した状態で Ctrl + . を押して 「コンストラクターを生成します」を選択することで 引数付きのコンストラクタを生成できます 関連記事

【Unity】Alt + C で Profiler をクリアするエディタ拡張

概要 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加することで Alt + C で Profiler をクリアできるようになります 関連記事

【Unity】ドット絵の端に線が表示されてしまう時の対処方法

概要 Unity メニューの「Edit>Project Settings>Quality」を選択して 「Anti Aliasing」を「Disable」に変更する 関連記事

【Unity】シンプルな待機アニメーションを実装する

概要 下記のスクリプトを使用することで、 このようなシンプルな待機アニメーションを実装できます using UnityEngine; public class IdleAnim : MonoBehaviour { public float min = 0.95f; public float max = 1.05f; public float speed = 2; private flo…

【Unity】メッシュの頂点を設定する時は Mesh.vertices ではなく Mesh.SetVertices を使用することで GC Alloc の発生を防ぐことができる

Mesh.vertices using UnityEngine; public class Example : MonoBehaviour { private Mesh mesh; private void Awake() { mesh = new Mesh(); } private void Update() { mesh.vertices = new [] { new Vector3( 0, 1 ), new Vector3( 1, -1 ), new Vector3(…

【Unity】AnimationState の Speed にマイナス値を入れることで逆再生できる

概要 AnimationState の Speed にマイナス値を入れることで逆再生できます 関連記事

【Unity】Animation ウィンドウで C キーを押すと Dopesheet と Curves の表示を切り替えられる

概要 Animation ウィンドウで C キーを押すと Dopesheet と Curves の表示を切り替えられます 関連記事

【Unity】List からランダムに値を取得して、その値を List から削除する拡張メソッド

ソースコード using System.Collections.Generic; using UnityEngine; public static class ListExt { public static T PopRandomElement<T>( this List<T> self ) { var item = self[ Random.Range( 0, self.Count ) ]; self.Remove( item ); return item; } } 使</t></t>…

【Unity】Inspector 内に他オブジェクトの Custom Inspector を表示する PropertyAttribute「EmbeddedInspectorAttribute.cs」紹介

ソースコード 使用例 using RedBlueGames.Tools; using UnityEngine; public class Example : MonoBehaviour { [EmbeddedInspector] public RectTransform target; } 関連記事

【Unity】Inspector 内に他オブジェクトの Custom Inspector を表示する「Editor.CreateEditor」

概要 using UnityEngine; public class Example : MonoBehaviour { public RectTransform target; } using UnityEditor; [CustomEditor( typeof( Example ) )] public class ExampleEditor : Editor { public override void OnInspectorGUI() { DrawDefaultI…

【Unity】アプリに含まれるアセットを圧縮する設定

検証環境 Unity 2017.3.0f3 概要 Build Settings の「Compression Method」を設定することで アプリに含まれるアセットを圧縮することができます BuildPipeline.BuildPlayer ( EditorBuildSettings.scenes, "app.apk", BuildTarget.Android, BuildOptions.Co…

【Unity】AudioSource や AudioListener にエフェクトを適用できる6つのコンポーネント

目次 目次 はじめに 参考動画 高い周波数をカット「Audio Low Pass Filter」 低い周波数をカット「Audio High Pass Filter」 エコー「Audio Echo Filter」 ノイズ「Audio Distortion Filter」 リバーブ「Audio Reverb Filter」 コーラス「Audio Chorus Filte…

【Unity】「AudioLowPassFilter」を使用すると BGM が水中にいる時のようなくぐもった聞こえ方になる

概要 「AudioLowPassFilter」を使用すると BGM が水中にいる時のようなくぐもった聞こえ方になります 使い方 「AudioSource」に「AudioLowPassFilter」をアタッチします 「Cutoff Frequency」を小さい値にするほどくぐもった聞こえ方になります 関連記事

【Unity】AudioSource の Pitch にマイナス値を設定すると逆再生できる

概要 AudioSource の Pitch にマイナス値を設定すると逆再生できます 関連記事

【Unity】Action デリゲートは 104B の GC Alloc が発生するが、インターフェイスであれば発生しない

概要 Action デリゲートはとても便利ですが、104B の GC Alloc が発生します もしも Action デリゲートを Update 関数などで頻繁に呼び出す場合は インターフェイスに置き換えることで GC Alloc の発生を防ぐことができます Action デリゲート using System;…

【Unity】エディタ上でドラッグ&ドロップしている時に Esc キーを押すとキャンセルできる

概要 エディタ上でオブジェクトやアセットをドラッグ&ドロップしている時に Esc キーを押すとキャンセルできます 関連記事

【Unity】Project ビューの Create から四角形、三角形、ひし形、六角形、円形、多角形のスプライトを作成できる

概要 Project ビューの「Create>Sprite」から 四角形、三角形、ひし形、六角形、円形、多角形のスプライトを作成できます 関連記事

【Unity】オブジェクト選択中に Scene ビューに表示される輪郭線の色は変更できる

概要 オブジェクト選択中に Scene ビューに表示される輪郭線の色は Unity メニューの「Edit>Preferences...」を選択して 「Selected Outline」を変更することで 変えることができます 関連記事

【Unity】Game ビュー右上の「Mute Audio」をオンにするとサウンドをミュートにできる

概要 Game ビュー右上の「Mute Audio」をオンにするとサウンドをミュートにできます 関連記事

【Unity】シーンを新規追加した時に BuildSettings に追加するか確認するダイアログが表示されるようになる「BuildSceneProcessor.cs」紹介

概要 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加することで シーンを新規追加した時に BuildSettings に追加するか確認するダイアログが表示されるようになります 関連記事

【Unity】オブジェクトの位置情報を持つ親オブジェクトを作成できる「PivotUtilities.cs」紹介

ソースコード 使い方 例えば ( 1, 0, 0 ) の位置に存在する Cube を右クリックして 「Pivot>Create Pivot」を選択すると Cube の位置情報を持つ Pivot オブジェクトが親として作成されます そして Cube の位置情報は ( 0, 0, 0 ) になります 関連記事

【Unity】Scene ビューにメッシュの法線を表示できる「NormalsVisualizer.cs」紹介

ソースコード https://gist.github.com/mandarinx/ed733369fbb2eea6c7fa9e3da65a0e17 使用例 関連記事

【Unity】Inspector の項目をハイライト表示する PropertyAttribute「HighlightAttribute」紹介

はじめに https://gist.github.com/LotteMakesStuff/2d3c6dc7a913ed118601db95735574de 「HighlightAttribute」は Inspector の項目をハイライト表示する PropertyAttribute です 使用例 using UnityEngine; public class Example : MonoBehaviour { [Highli…

【Unity】Inspector にゲージを表示する PropertyAttribute「StatsBarAttribute」紹介

はじめに https://gist.github.com/LotteMakesStuff/b8853a16de3e680dc1c326fe6f5ebd7e 「StatsBarAttribute」は Inspector にゲージを表示する PropertyAttribute です 使用例 using UnityEngine; public class Example : MonoBehaviour { [StatsBar( "max"…

【Unity】Color 型の定数がたくさん定義された「Colors」紹介

ソースコード 参考サイト様 https://www.w3.org/TR/css-color-3/#svg-color 関連記事

【Unity】エディタでコルーチンを使用できるようにする「EditorCoroutineRunner」紹介

ソースコード 使い方 using UnityEngine; using UnityEditor; public static class Example { [MenuItem( "Tools/Example" )] private static void Hoge() { // コルーチン開始 EditorCoroutineRunner.StartCoroutine( Fuga() ); // コルーチン開始(進捗ダ…

【Unity】Alt + Q で Inspector のロック状態を切り替えるエディタ拡張

概要 Alt + Q で Inspector のロック状態を切り替えるエディタ拡張を作成しました 下記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加すると使用できます 関連記事

【Unity】Inspector の入力欄の色を変更できる PropertyDrawer「ColorMeDrawer」

ソースコード 使い方 「ColorMeDrawer.cs」は Unity プロジェクトの「Editor」フォルダ内に、 「ColorMeAttribute.cs」は Unity プロジェクトのどこかに追加することで使用できます using UnityEngine; public class Example : MonoBehaviour { [ColorMe( 1,…

【Unity】ちょっと良い見た目のツールバーを自作してみる

概要 このような感じのツールバーを表示する場合 下記のようなスクリプトを記述します using UnityEditor; using UnityEngine; public class Example : EditorWindow { [MenuItem( "Tools/Example" )] private static void Init() { GetWindow<Example>(); } private </example>…

【Unity】エディタ拡張で検索欄を自作してみる

概要 このような検索欄を自作する場合、下記のようなスクリプトを記述します using UnityEditor; using UnityEngine; public class Example : EditorWindow { private string filter; [MenuItem( "Tools/Example" )] private static void Init() { GetWindow<Example></example>…