コガネブログ

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

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

【Unity】Xcode プロジェクトをキャッシュしてビルド時間を削減できる「UnityXcodeCache」紹介

はじめに 「UnityXcodeCache」を Unity プロジェクトに導入することで Xcode プロジェクトをキャッシュしてビルド時間を削減できようになります 使い方 「Tools > Xcode > WriteCacheXcode」を実行します Xcode プロジェクトをビルドします 「Tools > Xcode …

【Unity】No Sprite Editor Window registered. Please download 2D Sprite package from package manager.

概要 スプライトの「Sprite Editor」を開こうとした時に No Sprite Editor Window registered. Please download 2D Sprite package from package manager. このようなメッセージが表示された場合は Unity メニューの「Window > Package Manager」から 「2D S…

【C#】readonly なフィールドをコンストラクタから呼び出される関数で初期化する方法

C#

概要 public sealed class Character { private readonly int m_id; private readonly string m_name; public Character() { Initialize( out m_id, out m_name ); } private void Initialize( out int id, out string name ) { id = 25; name = "ピカチュウ…

【Unity】Unity Remote で表示されるゲーム画面をキレイにする方法

概要 Unity メニューの「Edit > Project Settings...」から「Editor」を選択して 「Resolution」を「Normal」に変更すると、 Unity Remote で表示されるゲーム画面をキレイにすることができます (代わりに Unity Remote の動作が遅くなる可能性があります)…

【Unity】Unity Remote 接続中に Input.GetKey や Input.GetButton などが反応しない場合

概要 Unity メニューの「Edit > Project Settings...」から「Editor」を選択して 「Joystick Source」を「Local」に変更すると、 Unity Remote 接続中に Input.GetKey や Input.GetButton などが動作するようになります

【Unity】Inspector で Build Report を確認する方法

はじめに 「Build Report Inspector」を Unity プロジェクトに導入することで Inspector で Build Report を確認できるようになります 導入方法 Package Manager の「Advanced > Show preview packages」をオンにして 「Build Report Inspector」をインスト…

【Unity】Unity Test Runner のテストに説明をつける方法

概要 using NUnit.Framework; [Description( "ピカチュウ" )] public class Example { [Test] [Description( "カイリュー" )] public void Test1() { } } Description 属性をクラスや関数に適用することで テストに説明をつけることができます

【Visual Studio】ブックマークは相対パスではなく絶対パスで保存される

概要 ブックマークを使用していた Visual Studio のソリューションを 別のフォルダに移動したところ、ブックマークを押しても ソースコードの該当箇所にジャンプできなかった どうやら Visual Studio のブックマークは相対パスではなく絶対パスで保存されて…

【Unity】.unitypackage のインポートを開始した・完了した・キャンセルされた・失敗した時に呼び出されるイベント

概要 using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { // .unitypackage のインポートを開始した AssetDatabase.importPackageStarted += packageName => { Debug.Log( packageName ); }; // .…

【ReSharper】Unity におけるコードの問題点を見つける

はじめに ReSharper で Unity 連携を有効化すると、Unity において問題のあるコードに 警告の波線が表示されたり、ハイライト表示されるようになります この記事では、どのようなコードに警告の波線やハイライトが表示されるか紹介していきます 目次 はじめ…

【Python】docopt 使用例

ソースコード """ Usage: hoge.py -h hoge.py (--input-path <input-path>) (--output-path <output-path>) (--column <column>) (--start-x <start-x>) (--start-y <start-y>) (--offset-x <offset-x>) (--offset-y <offset-y>) (--height <height>) Options: -h --help Show this screen. --input-path <input-path> Input imag…</input-path></height></offset-y></offset-x></start-y></start-x></column></output-path></input-path>

【Python】python-pptx で画像ファイルの名前を取得する方法

概要 from pptx import Presentation from pptx.enum.shapes import MSO_SHAPE_TYPE if __name__ == '__main__': ppt = Presentation("【.pptx のファイルパス】") for slide in ppt.slides: for shape in slide.shapes: if shape.shape_type == MSO_SHAPE_T…

【Unity】Inspector で UnityEvent のリスナーの順番を変更できる「Easy Event Editor」紹介

はじめに 「Easy Event Editor」を Unity プロジェクトに導入することで Inspector で UnityEvent のリスナーの順番を変更できるようになります 使用例 適用前 適用後

【ReSharper】Visual Studio を軽量化する

はじめに Visual Studio メニューの「RESHARPER > Options」から 「Environment > Performance Guide」を選択すると、 Visual Studio の重たい設定を無効化して、軽量化することができます 軽量化したい項目を「Fix Silently」にすることで、 その機能を無効…

【Unity】Particle System の Inspector で未使用のモジュールを非表示にする方法

概要 Particle System の Inspector で「+」ボタンを押して 「Show All Modules」をオフにすると 未使用のモジュールは非表示にできます この状態で使用するモジュールを追加したい場合は 「+」ボタンから追加したいモジュールを選択します 参考ツイート様 W…

【Unity】Unity 2019.3 のエディタで使用されているフォントを 2019.2 以前のものに変更する方法

概要 Unity メニューの「Edit > Preferences...」から 「General」の「Editor Font」を変更することで エディタのフォントを 2019.2 以前のものに変更できます 参考ツイート様 #unitytips #unity3d Over time, I'm still not used to using the new Unity 20…

【Unity】Inspector で入力欄を限界まで大きく表示できる「UnityCompactFieldAttribute」紹介

はじめに 「UnityCompactFieldAttribute」を Unity プロジェクトに導入することで Inspector で入力欄を限界まで大きく表示できるようになります 使用例 デフォルト using UnityEngine; public class Example : MonoBehaviour { public int m_id; public str…

【Rider】後置テンプレートを使う(15種類以上)

はじめに Rider では後置テンプレートと呼ばれる機能を使用して 楽にコーディングすることができます 目次 はじめに 目次 例 else for foreach forr if new not notnull null parse return tryparse typeof yield switch 例 ここでは Rider で使用できる後置…

【Rider】勉強会などで役に立つ Rider のプレゼンテーションモード

概要 Rider メニューの「表示 > 外観 > プレゼンテーション・モードにする」を選択すると 全画面に大きくコードエディタを表示できます 終了したい場合は、画面上部にカーソルを合わせて 「表示 > 外観 > プレゼンテーション・モードを終了」を選択します

【Unity】Rider で C# 8.0 のサポートを無効化する方法

はじめに Rider では C# 8.0 がサポートされているため、 switch 文を式に置き換える、といったことが可能ですが 現在、Unity は C# 8.0 をサポートしていないため、 Rider の機能で C# 8.0 の文法に置き換えてしまうと、 Unity でコンパイルエラーになって…

【Unity】Sprite で Radial 360 の fillAmount を設定できる「FilledSpriteShader」紹介

はじめに 「FilledSpriteShader」を Unity プロジェクトに導入することで Sprite で Radial 360 の fillAmount を設定できるようになります 使用例 使い方 Sprite Renderer のマテリアルに「SampleMaterial」を設定します (もしくは Shader が「Unlit/Fille…

【Rider】Unity において問題のあるコード(30パターン以上)には下線で警告が表示される

はじめに Rider で Unity 連携を有効化すると、Unity において問題のあるコードに 警告の波線が表示されたり、ハイライト表示されるようになります この記事では、どのようなコードに警告の波線やハイライトが表示されるか紹介していきます 目次 はじめに 目…

【Unity】Python で .asset や .prefab、.unity などのファイルを編集する方法

はじめに この記事は「Unity #3 Advent Calendar 2019」の 12/9 の記事です 「Unity YAML Parser」を Python で使用することで Unity の .asset や .prefab、.unity などのファイルを編集できます 目次 はじめに 目次 検証環境 インストール方法 ProjectSett…

【Unity】プロジェクトに存在するすべてのアセットの GUID を出力するエディタ拡張

概要 上記のスクリプトを Unity プロジェクトの Editor フォルダに追加して Unity メニューの「Tools > Export GUID」を押すと CSV 形式でアセットのパスと GUID を出力してクリップボードにコピーできます

【おすすめスライド】「モチ上ガールが出来るまで」

スライド

【Rider】「Heap Allocations Viewer」を導入すると割り当てが発生しているコードに下線が表示されるようになる

はじめに 「Heap Allocations Viewer」を Rider に導入すると 割り当てが発生しているコードに下線が表示されるようになるので 自分が知らなかった割り当ての存在を知ることができます この記事では、どのようなコードがハイライトされるようになるか紹介し…

【Unity】スクリプトから WebGL Template を変更する方法

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var name = "Minimal"; PlayerSettings.WebGL.template = $"APPLICATION:{name}"; } } PlayerSettings.WebGL.template にテンプレートの名…

【Unity】エディタの再生ボタンの左右に独自の GUI を追加する

はじめに この記事は「Unity Advent Calendar 2019」の 12/6 の記事です 上記の「CustomToolbar」を Unity プロジェクトに導入することで エディタの再生ボタンの左右に独自の GUI を追加することができます 使用例 使い方 「CustomToolbar」を Unity プロジ…

【ReSharper】ReSharper の Code Cleanup をコマンドラインから実行する方法

はじめに 「ReSharper Command Line Tools」を使用することで ReSharper の Code Cleanup をコマンドラインから実行できるようになります 準備 https://www.jetbrains.com/resharper/download/#section=resharper-clt 上記のページから「ReSharper Command L…

【Unity】uGUI のクリックのパフォーマンスを最適化する方法がまとめられたサイト様

概要 https://networm.me/2019/10/06/unity-ugui-eventsystem-optimization/ https://blog.csdn.net/cyf649669121/article/details/83661023 https://blog.csdn.net/cyf649669121/article/details/83785539 https://blog.csdn.net/cyf649669121/article/deta…