コガネブログ

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

2019-10-01から1ヶ月間の記事一覧

【Unity】Currently selected scripting backend (IL2CPP) is not installed

概要 PC ビルドしようとした時に、Build Settings ウィンドウに Currently selected scripting backend (IL2CPP) is not installed と表示されている場合、 Unity Hub の Installs タブから「Add Component」を選択して 「Window Build Support (IL2CPP)」を…

【Unity】線と線の当たり判定を実装できる「Unity-LineSegmentsIntersection」紹介

はじめに 「Unity-LineSegmentsIntersection」を Unity プロジェクトに導入することで 線と線の当たり判定を実装できるようになります 使用例 using LineSegmentsIntersection; using UnityEngine; public class Example : MonoBehaviour { private void Sta…

【Unity】GUIStyleで使用できる文字列の一覧がまとめられている Gist

概要 https://gist.github.com/MadLittleMods/ea3e7076f0f59a702ecb

【Unity】EditorGUIUtility.IconContent で使用できる 1000 種類以上のアイコンがまとめられている GitHub リポジトリ

概要 上記の GitHub リポジトリでは EditorGUIUtility.IconContent で使用できる 1000 種類以上のアイコンがすべてまとめられています 使用例 using UnityEditor; using UnityEngine; public sealed class Example : EditorWindow { [MenuItem( "Tools/Hoge"…

【Unity】Animator の Transition を 2D アニメーションが即座に切り替わるように変更するエディタ拡張

概要 using UnityEditor; using UnityEditor.Animations; public static class AnimatorStateTransitionContext { [MenuItem( "CONTEXT/AnimatorStateTransition/Reset Simple" )] private static void ResetSimple( MenuCommand command ) { var transition…

【Unity】Animator の Transition の Inspector のコンテキストメニューに項目を追加するエディタ拡張のサンプル

概要 using UnityEditor; using UnityEditor.Animations; public static class Example { [MenuItem( "CONTEXT/AnimatorStateTransition/Hoge" )] private static void Hoge( MenuCommand command ) { var transition = command.context as AnimatorStateTra…

【Unity】UIElements で Scene ビューにツールバーを追加するエディタ拡張のサンプル

ソースコード using UnityEditor; using UnityEngine; using UnityEngine.UIElements; [InitializeOnLoad] public static class Example { static Example() { foreach ( var sceneView in Resources.FindObjectsOfTypeAll<SceneView>() ) { var toolbar = new VisualEl</sceneview>…

【Unity】PC ビルドにおけるウィンドウの最小サイズを設定できる「Unity-Minimum-Window-Size」紹介

はじめに 「Unity-Minimum-Window-Size」を Unity プロジェクトに導入することで PC ビルドにおけるウィンドウの最小サイズを設定できるようになります 使い方 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { // 最小サ…

【Unity】GetComponent と TryGetComponent の違い

GetComponent の場合 using UnityEngine; public class Example : MonoBehaviour { private void Update() { var result = GetComponent<Rigidbody>(); if ( result != null ) { } } } アタッチされていないコンポーネントを GetComponent すると Unity エディタ上での</rigidbody>…

【Unity】Text の Inspector に ContentSizeFitter をアタッチするボタンを追加するエディタ拡張

はじめに 上記の記事の手順を踏むことで Text の Inspector に ContentSizeFitter をアタッチするボタンを追加できます 概要 if ( GUILayout.Button( "Add ContentSizeFitter" ) ) { var text = target as Text; var gameObject = text.gameObject; if ( gam…

【Unity】HorizontalLayoutGroup や VerticalLayoutGroup の Inspector に ContentSizeFitter をアタッチするボタンを追加するエディタ拡張

はじめに 上記の記事の手順を踏むことで HorizontalLayoutGroup や VerticalLayoutGroup の Inspector に ContentSizeFitter をアタッチするボタンを追加できます 概要 if ( GUILayout.Button( "Add ContentSizeFitter" ) ) { var layoutGroup = target as H…

【Unity】ContentSizeFitter の Inspector に HorizontalFit と VerticalFit を同時に変更するボタンを追加するエディタ拡張

はじめに 上記の記事の手順を踏むことで ContentSizeFitter の Inspector に HorizontalFit と VerticalFit を同時に変更するボタンを追加できます ソースコード using UnityEngine; using UnityEngine.UI; namespace UnityEditor.UI { [CustomEditor(typeof…

【Unity】uGUI の Button や Text の Inspector をエディタ拡張する方法

はじめに uGUI の Button や Text の Inspector は通常方法でエディタ拡張することはできないですが、 https://bitbucket.org/Unity-Technologies/ui uGUI のソースコードはオープンソースとして上記 URL で公開されているので プロジェクトファイルをダウン…

【Unity】Tilemap の Inspector に Compress Bounds のボタンを追加するエディタ拡張

ソースコード using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.Tilemaps; [CustomEditor( typeof( Tilemap ) )] public sealed class TilemapEditor : Editor { public override void OnInspectorGUI() { base…

【Unity】Mathf.Lerp や Vector3.Lerp で Ease を使用できる「Interpolations」紹介

はじめに 「Interpolations」を Unity プロジェクトに導入することで Mathf.Lerp や Vector3.Lerp で Ease を使用できるようになります 使い方 通常 var r1 = Mathf.Lerp( 0, 1, 0.5 ); var a = new Vector3( 0, 0, 0 ); var b = new Vector3( 1, 1, 1 ); va…

【Unity】集中線を使用できる「DynamicCentralLineCamera」紹介

はじめに 「DynamicCentralLineCamera」を Unity プロジェクトに導入することで 集中線を使用できるようになります 使用例 使い方 シーンのカメラに「DynamicCentralLineCamera」をアタッチします そして、Material に「CentralLine」マテリアルを設定して、…

【Unity】古いテレビのようなポストエフェクトを使用できる「[Unity] Old Monitor Shader - Post Processing Stack V2」紹介

はじめに 「[Unity] Old Monitor Shader - Post Processing Stack V2」を Unity プロジェクトに導入することで 古いテレビのようなポストエフェクトを使用できるようになります 使用例 適用前 適用後 使い方 PostProcessing Stack v2 の「Post-processing Pr…

【Unity】LineRenderer で円を描いて拡縮させるスクリプト

使用例 ソースコード 使い方 LineRenderer がアタッチされているゲームオブジェクトに上記のスクリプトをアタッチして 円の半径や線の太さ、スケール演出の再生時間や開始値・終了値を設定します LineRenderer には上記のようなテクスチャが割り当てられたマ…

【Unity】ゲームオブジェクトやアセットの選択履歴を管理できるエディタ拡張「Simple Selection History Lite」紹介(無料)

はじめに 「Simple Selection History Lite」は ゲームオブジェクトやアセットの選択履歴を管理できるエディタ拡張です 使い方 Unity メニューの「Tools > Simple Selection History > Show window」を押すと ゲームオブジェクトやアセットの選択履歴を管理…

【Unity】フォルダに対してモデルやテクスチャ、オーディオクリップのインポート設定を適用できるエディタ拡張「FolderInspector」紹介(無料)

はじめに 「FolderInspector」はフォルダに対してモデルやテクスチャ、 オーディオクリップのインポート設定を適用できるエディタ拡張です 使い方 フォルダを選択して「Enable Auto Import Setting」をオンにすると フォルダに含まれているモデルやテクスチ…

【GIMP】法線マップ(ノーマルマップ)を作成できるようにする

準備 https://code.google.com/archive/p/gimp-normalmap/downloads 上記のページから「gimp-normalmap-winXX-1.2.3.zip」をダウンロードして ダウンロードが完了したら展開します 展開したら「normalmap.exe」を下記のフォルダに移動します C:\Program File…

【Unity】シンプルな 2D のキャラクターコントローラを使用できる「2D Character Controller Tutorial」紹介

はじめに 「2D Character Controller Tutorial」を Unity プロジェクトに導入することで シンプルな 2D のキャラクターコントローラを使用できるようになります 使用例 使い方 操作したいスプライトに「CharacterController2D」をアタッチします これで、左…

【Unity】3D オブジェクトを波打たせる実装を見ることができる「SinewaveShapeDistortion」紹介

はじめに 「SinewaveShapeDistortion」では 3D オブジェクトを波打たせる実装を見ることができます 実装例 閲覧方法 「mainScene」を開くことで実装を見ることができます

【Unity】ロープを実装できる「Unity procedural cables」紹介

はじめに 「Unity procedural cables」を Unity プロジェクトに導入することで ロープを実装できるようになります 使用例 使い方 ゲームオブジェクトに「ProceduralCable」をアタッチすることで使用できます

【Unity】Hierarchy を拡張できる「Unity-HierarchyHelper」紹介

はじめに 「Unity-HierarchyHelper」を Unity プロジェクトに導入することで Hierarchy を拡張できるようになります 使用例 使い方 Unity メニューの「Tools>HierarchyHelper>Open Setting Window」を選択して 表示されたウィンドウで「Enable Helper System…

【Unity】Inspector で UV のプレビューを表示できる「UVPreview」紹介

はじめに 「UGUIEffect」を Unity プロジェクトに導入することで Inspector で UV のプレビューを表示できるようになります 使用例 Inspector 下部のメニューを操作することで使用できます

【Unity】Scene ビューのカメラを右クリック + WASDQE で操作できる「UnitySmoothEditorCamera」紹介

はじめに 「UnitySmoothEditorCamera」を Unity プロジェクトに導入することで Scene ビューのカメラを右クリック + WASDQE で操作できるようになります 使い方 Scene ビューを右クリックしながら WASDQE を押すことで 上下左右前後にカメラを操作できます …

【Unity】モザイクシェーダを使用できる「Censor Effect」紹介(無料)

概要 2018/3/8 に「Censor Effect」がリリースされました 「Censor Effect」を導入すると、モザイクシェーダを使用できるようになります 検証環境 Unity 2018.2.14f1 Censor Effect 1.0 使用例 使い方 マテリアルの Shader を下記のいずれかに変更します FX/…

【Unity】エディタ拡張でマウスカーソルが Scene ビューに重なっているかどうか確認する方法

ソースコード using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.update += Update; } private static void Update() { var mouseOverWindow = EditorWindow.mouseOverWindow;…

【Unity】TypeSafe で手動で Scan する方法

アセット 概要 Unity メニューの「Assets/TypeSafe Refresh」を押すと手動で Scan できます 関連記事