コガネブログ

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

【Unity】Particle System のゲームオブジェクトが移動や回転した時にパーティクルを追従させないようにする方法

概要 Particle System のゲームオブジェクトが移動や回転した時に パーティクルを追従させないようにしたい場合は Simulation Space を「World」にします これでパーティクルがゲームオブジェクトの移動や回転に追従しなくなります 参考サイト様

【Unity】Instantiating material due to calling renderer.material during edit mode. This will leak materials into the scene. You most likely want to use renderer.sharedMaterial instead.

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var gameObject = Selection.activeGameObject; var lineRenderer = gameObject.GetComponent<LineRenderer>(); lineRenderer.materi</linerenderer>…

【Unity】SpringJoint2D を LineRenderer で表示するサンプル

ソースコード using UnityEngine; [DisallowMultipleComponent] [ExecuteAlways] [RequireComponent( typeof( SpringJoint2D ) )] [RequireComponent( typeof( LineRenderer ) )] public sealed class Example : MonoBehaviour { private SpringJoint2D m_sp…

【Unity】エディタ拡張で Sprites-Default マテリアルを使用したい場合

概要 var mat = AssetDatabase.GetBuiltinExtraResource<Material>( "Sprites-Default.mat" ); 上記のコードを書くとエディタ拡張で Sprites-Default マテリアルを使用できます</material>

【Rider】Insert キーを押した時に上書きモードにならないようにする方法

概要 Rider の設定の「キーマップ」の「挿入/上書きの切り替え」を右クリックして 「Insert の除去」を押してから「Save」を押すと Insert キーを押した時に上書きモードにならなくなります

【Unity】.csproj の NoWarn に 0169 と 0649 を追加して警告を抑制するエディタ拡張

概要 Unity で「Suppress Common Warnings」をオンにすれば Unity 上では 0169 と 0649 の警告は出なくなるが Rider 上でビルドした場合は警告が出るので以下のエディタ拡張を作って警告を抑制 using System.IO; using System.Text; using System.Xml.Linq; …

【Unity】Scene ビューに 3D オブジェクトの法線・接線・従法線を表示できる「NormalView」紹介

はじめに 「NormalView」を Unity プロジェクトに導入することで Scene ビューに 3D オブジェクトの法線・接線・従法線を表示できるようになります 使用例 クイックスタート 3D オブジェクトに Normal View をアタッチすることで表示できます

【Unity】デバイスが対応している Texture フォーマットを確認できる「UnityTextureFormatCheckerKun」紹介

はじめに 「UnityTextureFormatCheckerKun」を Unity プロジェクトに導入することで デバイスが対応している Texture フォーマットを確認できるようになります

【Unity】プレハブモードになった時に Scene ビューの 2D カメラの位置やサイズを変更するエディタ拡張

概要 using Cysharp.Threading.Tasks; using UnityEditor; using UnityEditor.Experimental.SceneManagement; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { PrefabStage.prefabStageOpened += async stage => {…

【Unity】Scene ビューの 2D カメラの位置やサイズを変更するエディタ拡張

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/FixCameraPivotAndSize" )] public static void FixCameraPivotAndSize() { var sceneView = SceneView.lastActiveSceneView; if ( sceneView == null ) retur…

【Rider】空白を表示する方法

概要 Rider の設定の「エディター > 一般 > 外観」の「空白を表示」をオンにすると 空白を表示できます

【Rider】namespace と入力した時に MyNamespace 以外の名前が自動で入力されるようにする方法

概要 namespace と入力した時に MyNamespace 以外の名前が入力されるようにしたい場合、 Rider の設定の「エディター > Live Templates > C#」を押して 「namespace」の「Edit variables」を押して 好きな名前を入力して「Done」を押して「Save」を押します …

【Unity】Odin で Inspector の Script の欄を非表示にする方法

概要 コンポーネントの Inspector に表示される「Script」の欄を非表示にしたい場合は using Sirenix.OdinInspector; using UnityEngine; [HideMonoScript] public class Example : MonoBehaviour { public string m_name; } HideMonoScript をクラスに付け…

【Unity】Unity を再生する時にプレハブモードを終了するエディタ拡張

ソースコード using UnityEditor; using UnityEditor.SceneManagement; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.playModeStateChanged += change => { if ( change != PlayModeStateChange.ExitingEditMode…

【Unity】プレハブモードを終了するエディタ拡張

ソースコード using UnityEditor; using UnityEditor.SceneManagement; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { StageUtility.GoToMainStage(); } }