コガネブログ

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

【書籍情報】UNIBOOK 10

リンク 目次 Amazon GameSparksで週間ランキングを実装する Firebaseを用いたゲームアプリ開発 LiveTuneによる機種に合わせたパフォーマンスチューニング Unityをベースとした開発環境Babylon Toolkitについて マルチタッチジェスチャ入力をサポートする無料…

【Unity】スプライトにアウトラインを追加できる「Sprites-OutlineMeter.shader」紹介

使用例 適用前 適用後 ソースコード 使い方 マテリアルを作成して、マテリアルの Shader を「Sprites/OutlineMeter」に変更し、 各種パラメータを調整します 作成したマテリアルをスプライトに設定します

【Unity】Application.dataPath などで取得できる文字列を一覧で確認できるエディタ拡張

概要 上記のサイト様が公開されている 「DefauldFolderWindow.cs」を Unity プロジェクトの「Editor」フォルダに導入することで Application.dataPath などで取得できる文字列を一覧で確認できるようになります 使用例 ソースコード(Unity 2018 対応版)

【Unity】指定したコンポーネントを参照しているオブジェクトを検索できるエディタ拡張

ソースコード 使用例 Inspector でコンポーネントを右クリックして「Find References In Scene」を選択すると そのコンポーネントを参照しているオブジェクトをで検索できます 参考サイト 参考ツイート Find references in the scene in the future!! Provid…

【Unity】「おなかソフトのDontDestroyOnLoad #01」動画

動画

【Unity】ゲームオブジェクトが存在するシーンの名前を取得する方法

概要 Debug.Log( gameObject.scene.name ); gameObject.scene.name で取得できる

【Unity】ゲーム内にチートコードを実行するターミナルを追加できる「OpenTerminal」紹介(無料)

概要 2018/1/4 に「OpenTerminal」がリリースされました 「OpenTerminal」を導入すると、 ゲーム内にチートコードを実行するターミナルを追加できるようになります 検証環境 Unity 2018.2.2f1 OpenTerminal 1.0 使い方 シーンのオブジェクトに「Terminal」コ…

【Unity】ゲーム内にチートコードを実行するターミナルを追加できる「Command Terminal」紹介(無料)

概要 2018/8/1 に「Command Terminal」がリリースされました 「Command Terminal」を導入すると、 ゲーム内にチートコードを実行するターミナルを追加できるようになります 検証環境 Unity 2018.2.2f1 Command Terminal 1.0 使い方 シーンのオブジェクトに「…

【Unity】Hierarchy にゲームオブジェクトのアクティブやロックを切り替えるボタンを表示できるエディタ拡張「Unity Quick Toggle」

はじめに 「Unity Quick Toggle」を Unity プロジェクトに導入することで Hierarchy にゲームオブジェクトのアクティブや ロックを切り替えるボタンを表示できるようになります 使い方 目のアイコンを押すとアクティブを切り替えられます 四角マークを押すと…

【Unity】TextMesh Pro で文字列中に表示したい画像を Sprite Atlas に簡単にまとめられる「Simple Sprite Packer」紹介

はじめに この記事は「Unityゆるふわサマーアドベントカレンダー 2018」の 8/8 の記事です 昨日は @monry さんの 「Assembly Definition Files の地雷ポイントについて解説してみる」でした 明日は @matsu_vr さんの 「Google Resonance Audio + Ambisonics…

【Unity】ScriptableObject に PreferBinarySerialization 属性を適用すると読み書きのパフォーマンスが向上するらしい

概要 using UnityEngine; [CreateAssetMenu] [PreferBinarySerialization] public class CharacterData : ScriptableObject { public int m_id ; public string m_name; } ScriptableObject を継承したクラスに PreferBinarySerialization 属性を適用すると…

【Unity】TextMesh Pro の Font Asset はエディタ拡張のスクリプトから生成することはできない?

概要 開発中のゲームで、使用する文字に変更があった場合に TextMesh Pro の Font Asset を作り直すのがメンドウだったので、 エディタ拡張で自動化しようと思ったけれど、 TextMesh Pro の Font Asset はエディタ拡張のスクリプトから生成することはできな…

【Unity】Asset Store からアセットをダウンロードした時の保存先を変更する方法

はじめに 詳細な説明は上記のサイト様を閲覧していただければと思いますが、 備忘録として自分のブログにも手順をまとめておきます 方法 C:\Users\【ユーザー名】\AppData\Roaming\Unity\Asset Store-5.x Asset Store からダウンロードしたアセットは、上記…

【Unity】JsonUtility でログ出力の効率化 その2

概要 using UnityEngine; public interface IJson { } public static class IJsonExt { public static string ToJson( this IJson self ) { return JsonUtility.ToJson( self, true ); } } 上記のようなクラスを用意して using System; [Serializable] publi…

【Unity】最近開いた Unity プロジェクトを開くことができる EditorWindow

概要 上記のスクリプトを Unity プロジェクトに導入して Unity メニューの「Window>Recent Project」を押すことで 最近開いた Unity プロジェクトを開くことができる EditorWindow を開くことができます

【Unity】アセットストアのパブリッシャーが使用できるサポートウィンドウのサンプル「asset-store-support-window」紹介

はじめに 「asset-store-support-window」はアセットストアの パブリッシャーが使用できるサポートウィンドウのサンプルです サンプル 使い方 「SupportWindow.cs」内でサポートフォラームや ドキュメントの URL を自由に変更して使用します

【Unity】Windows 10 の C ドライブの容量が圧迫されていたので調査したところ、Unity の GI Cache が約 10GB 使用していた話

はじめに Windows 10 の C ドライブの容量が圧迫されていたので 「DriverStore Explorer」というツールで、何が容量を圧迫しているのか調査したところ、 Unity の GI Cache が約 10GB 使用していたので、 このキャッシュを削除して容量を確保しました 方法 U…

【Unity】ゲーム内にデバッグ用のカスタマイズ可能なボタンを表示できる「UniDebugPanel」を GitHub に公開しました

はじめに ゲーム内にデバッグ用のカスタマイズ可能なボタンを表示できる 「UniDebugPanel」を GitHub に公開しました 開発環境 Unity 2018.2.2f1 導入方法 下記のページにアクセスして 「UniDebugPanel.unitypackage」をダウンロードします https://github.c…

【Unity】Smear Frame Effect を使用できる「HelpfulScripts」紹介

はじめに 上記の「HelpfulScripts」に含まれている「SmearEffect.cs」と 「Smear.shader」を Unity プロジェクトに追加することで Smear Frame Effect を使用できるようになります 使用例 使い方(ソースコードは引用) SmearEffect.cs using UnityEngine; u…

【Unity】気づいたら Project ビューのアセットを右クリックしてファイルパスをコピーできるようになってた

概要 Unity 2018.2.2f1 で Project ビューのアセットを右クリックしたら 「Copy Path」という項目が追加されていて、 選択したらアセットのファイルパスをコピーできるようになってた どの Unity のバージョンからできるようになってた...?

【Unity】Game ビューの解像度の追加、削除、編集が簡単にできるエディタ拡張「GameViewSizeSettings」紹介

はじめに 「GameViewSizeSettings」は Game ビューの解像度の 追加、削除、編集が簡単にできるエディタ拡張です 使い方 Unity メニューの「Window>GameViewSize Settings」を選択して 表示されたウィンドウで Game ビューの解像度の追加、削除、編集ができま…

【おすすめスライド】「【Unity道場スペシャル 2017幕張】続 あそびのデザイン講座」

スライド

【Unity】Parameter 'Hash XXXX' does not exist.

概要 Parameter 'Hash -251040659' does not exist. UnityEngine.Animator:SetInteger(Int32, Int32) Animator.SetBool や Animator.SetInteger で存在しない ID を指定すると 上記の警告が表示されます

【Unity】Visual Studio で Unity 関連の設定を変更する方法

概要 Visual Studio メニューの「ツール>オプション」から 「Tools for Unity」を選択することで、Unity 関連の設定を変更することができます

【Unity】uGUI でキラリと光る演出を手軽に実装する方法

実装例 手順 光らせたい画像に「Mask」をアタッチします 光らせたい画像の子オブジェクトに「Image」を作成して 「Source Image」に上記のような白線の画像を設定します さらに「Rotation」の「Z」を調整して光の角度を調整します そして、「Animation」をア…

【Unity】Unity でビルドしたゲームの起動時間が長かったので AudioClip の LoadType を「Decompress On Load」以外に変えたら起動時間が短くなった

概要 タイトル通りですが、Unity でビルドしたゲームの起動時間が長かったので AudioClip の LoadType を「Decompress On Load」以外に変えたら 起動時間がとても短くなりました 参考資料

【Unity】LayoutGroup の子オブジェクトの transform.position を参照すると最初のフレームだけ違う数値が返ってくる

概要 Canvas 内に LayoutGroup が存在して その子オブジェクトの transform.position を using UnityEngine; public class Example : MonoBehaviour { private void Update() { var t = GetComponent<RectTransform>(); Debug.Log( t.position ); } } 上記のようなスクリプ</recttransform>…

【Unity】数値の羅列のテキストデータは TextAsset 、ScriptableObject どちらで持つ方が容量が大きいか

概要 1 2 3 4 5 6 7 8 9 0 2 3 ... 上記のような数値の羅列のテキストデータを .txt 形式で所持する場合と、 using UnityEngine; public class Hoge : ScriptableObject { public int[] m_list; } このような ScriptableObject で所持する場合では、 種類 容…

【Unity】TextMesh Pro で NGUI の Shrink Content のような機能を使用する方法

概要 「Auto Size」をオンにする 「Auto Size Options」の「Min」に「1」、「Max」に文字の最大サイズを設定する 「Wrapping & Overflow」を「Enabled」「Truncate」にする (自動改行をオフにする場合は「Disabled」「Truncate」) 注意 「Content Size Fit…

【Unity】「I2 Localization」で TextMesh Pro のテキストをローカライズすると「The referenced script on this Behaviour (Game Object '<null>') is missing!」の警告が出力される

メモ The referenced script on this Behaviour (Game Object '<null>') is missing! 「I2 Localization」で TextMesh Pro のテキストをローカライズすると 上記の警告が出力される現象に遭遇 https://forum.unity.com/threads/textmeshpro-with-i2-localization-i</null>…