コガネブログ

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

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

【Unity】Overdraw を計測して解析できる「UnityOverDrawKun」紹介

はじめに 「UnityOverDrawKun」を Unity プロジェクトに導入することで Overdraw を計測して解析できるようになります 使用例 クイックスタート 「OverdrawCamera」プレハブをシーンに配置して 「Target Display」を「Display 1」以外に変更し、 「Master Ca…

【Unity】Risk of unwanted modifications

概要 Risk of unwanted modifications The following scripts on the Prefab open ion Prefab Mode use the [ExecuteInEditMode] attribute which means they may accidentally affect or be affected by Play Mode: XXXX See the documentation for [Execut…

【Unity】Corgi Engine で動く床に合わせてプレイヤーが移動しない場合

概要 Corgi Engine で動く床に合わせてプレイヤーが移動しない場合、 動く床に「Moving Platform Free」をアタッチすると 動く床に合わせてプレイヤーが移動するようになります

【Rider】ツールバーに好きなコマンドを追加する方法

概要 Rider のツールバーの空いている箇所を右クリックして 「メニューおよびツールバーをカスタマイズ...」を選択して 「メインツールバー」の中の項目を選択した状態で 「+ > アクションを追加...」を選択して 追加したいコマンドを選択して「OK」を押して…

【Fork】コミットメッセージを変更する方法

概要 コミットログを右クリックして「Interactive Rebase > Reword...」を押して 新しいコミットメッセージを入力して「OK」を押して 「Rebase」を押すとコミットメッセージを変更できます

【Unity】スクリプトからキャッシュサーバ(Accelerator)にアクセスしているか確認する方法

概要 using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.update += () => { Debug.Log( AssetDatabase.IsConnectedToCacheServer() ); }; } } AssetDatabase.IsConnectedToCacheServer() を使用す…

【Unity】Corgi Engine でプレイヤーがやられたかどうか検知する方法

概要 using System; using MoreMountains.CorgiEngine; using MoreMountains.Tools; using UnityEngine; public sealed class PlayerDeathListener : MonoBehaviour, MMEventListener<CorgiEngineEvent> { public event Action OnDead; private void OnEnable() { this.MMEvent</corgiengineevent>…

【C#】Flags が付いている列挙型で ALL を表現する方法

C#

概要 [Flags] public enum PokemonType { FIRE = 1 << 0, WATER = 1 << 1, GRASS = 1 << 2, ALL = FIRE | WATER | GRASS, } 上記のように Flags が付いている列挙型で ALL を表現している場合、 [Flags] public enum PokemonType { FIRE = 1 << 0, WATER = 1 …

【Visual Studio】構造体の表示色を変える方法

概要 Visual Studio メニューの「ツール > オプション」を選択して 左メニューの「環境 > フォントおよび色」を選択して 「ユーザータイプ - 構造体」を選択して「前景色」を変更して「OK」を押すと 構造体の表示色を変更できます

【Unity】Kinematic 2D で急な坂道(Slope)の上でジャンプできないようにする方法

概要 「Vertical Movement」の「Jump Only On Stable Ground」をオンにすると 急な坂道(Slope)の上でジャンプできないようになる

【Unity】Corgi Engine でブロックに潰されたらプレイヤーがやられるようにする方法

概要 Corgi Engine でブロックに潰されたらプレイヤーがやられるようにしたい場合は 「Character Crush Detection」と「Health」を使用する if (DieWhenCrushed) { // we kill the character _health.Kill (); CorgiEngineEvent.Trigger(CorgiEngineEventTyp…

【Unity】Corgi Engine で乗っている坂道(Slope)の角度を取得する方法

概要 CorgiController.State.BelowSlopeAngle を参照する using MoreMountains.CorgiEngine; using UnityEngine; [RequireComponent( typeof( CorgiController ) )] public sealed class Player : MonoBehaviour { [SerializeField] private CorgiController…

【Unity】Corgi Engine で坂道(Slope)の上でジャンプできないようにする方法

概要 Corgi Engine で「Corgi Controller」の 「Maximum Slope Angle」に設定している角度よりも急角度な坂道に乗っている時に ジャンプできないようにしたい場合は以下のようなスクリプトを作成します using MoreMountains.CorgiEngine; using UnityEngine;…

【Unity】Corgi Engine で坂道(Slope)を滑らない場合

概要 Corgi Engine で「Corgi Controller」の 「Maximum Slope Angle」に設定している角度よりも急角度な坂道に乗った時に 坂道を滑らずに自由に移動できてしまう場合は 「Corgi Conteoller」の「Ray Offset」の数値を増やして「Stick To Slopes」をオフにす…

【Unity】Corgi Engine で Dynamic な RIgidbody2D のオブジェクトを押せないようにする方法

概要 Corgi Engine では Dynamic な RIgidbody2D のオブジェクトを デフォルトでは押せてしまいますが Corgi Controller の「Physics 2D Interaction」をオフにすると 押せなくなります

【Unity】アセットバンドルの中身の差分を比較できる「UnityAssetBundleDiffKun」紹介

はじめに 「UnityAssetBundleDiffKun」を Unity プロジェクトに導入することで アセットバンドルの中身の差分を比較できるようになります 使用例 クイックスタート Unity メニューの「Window > UTJ > UnityAssetBundleDiffKun」を選択して 表示されたウィン…

【Rider】Alt + Enter の「コンテキストアクションの表示」に Ctrl + . を割り当てる方法

概要 Rider の設定の「キーマップ」から「コンテキストアクションの表示」をダブルクリックして 「キーボードショートカットの追加」を選択して 「コンテキストアクションの表示」の欄を選択した状態で Ctrl + . を押して「OK」を押します 警告ダイアログが…

【Rider】JetBrains Rider を日本語化する方法(2021年11月)

概要 日本語化用のプラグインが Rider 上の Markerplace から見つからない場合は 上記のサイトを開いて「Get」を押していずれかのバージョンの「Download」を押します .jar ファイルがダウンロードできたら Rider メニューの「File > Settings...」を押して …

【VSCode】空フォルダの折りたたみを無効化する方法

概要 上記のような空フォルダの折りたたみを無効化したい場合は 設定の「Explorer: Compact Folders」をオフにするか "explorer.compactFolders": false settings.json に上記のコードを追加すると 空フォルダが折りたたまれなくなります 参考サイト様

【VSCode】前回開いていたフォルダを開かないようにする方法

概要 設定の「Window: Restore Windows」を「none」にするか "window.restoreWindows": "none" settings.json に上記のコードを追加する 参考サイト様

【Rider】Explorer で開いているファイルを常に選択する方法

概要 Explorer の設定アイコンを押して「開いているファイルを常に選択」をオンにする 参考サイト様

【Rider】11月1日現在では Rider 2021.2.2 は日本語化できない

概要 Plugin error Plugin 'Japanese Language Pack / 日本語言語パック' is not compatible with the IDE because the IDE contains module 'com.intellij.modules.rider' which conflicts with the plugin IDE contains conflicting module `com.intellij.…

【Rider】2021.1 から縦に分割されたタブをダブルクリックすると拡大表示できる

概要 Rider 2021.1 から縦に分割されたタブをダブルクリックすると拡大表示できる

【Rider】2021.1 からタスクバーで最近開いたソリューションを開けるようになった

概要 Rider 2021.1 からタスクバーで右クリックすると 最近開いたソリューションを開けるようになった

【Rider】CognitiveComplexity の複雑度を常に表示する方法

概要 デフォルトでは複雑ではない関数には複雑度は表示されないですが File | Settings | 言語 & フレームワーク | Cognitive Complexity を開いて 「CodeVision thresholds(複雑度を表示するかどうかのしきい値)」を調整することで 複雑ではない関数にも…

【Rider】Code Vision の表示位置を上ではなく右に変更する方法

概要 デフォルトでは Code Vision は上に表示されることが多いですが Rider の設定を開いて左メニューから「Code Vision」を選択して 各 Metric の Position を「Above declaration」から「Next to declaration」にすると Code Vision を右に表示できるよう…

【Unity】スクリプトをダブルクリックしても Rider が開かない場合

はじめに スクリプトをダブルクリックしても Rider が開かない現象に遭遇した タスクマネージャーを見てみたら Rider がアイドル状態で存在していた 手順 Package Manager で「Jetbrains Rider Editor」を探してみたら インストールされていなかったのでイン…

【Unity】アセットバンドルに含まれている内容を確認する方法

概要 【Unity のインストール先】\Editor\Data\Tools\ 上記のフォルダに存在する「WebExtract.exe」を使用して WebExtract.exe 【アセットバンドルのパス】 上記のコマンドを実行します すると 【アセットバンドル名】_data というフォルダが作成されるので …

【Rider】「Untrusted Solution」のダイアログが表示されないようにする方法

概要 Trust and Open "XXXX" Solution? When loading, running or building "XXXX" project, MS Build may execute potentially malicious code from its build scripts. Open only trusted sources. To prevent showing this dialog, set up trusted direct…

【VSCode】Markdown ではファイル保存時に末尾の空白をトリミングする機能を無効化する

概要 "[markdown]": { "files.trimTrailingWhitespace": false } settings.json に上記のコードを追加する