コガネブログ

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

【Unity】半透明オブジェクトのアウトラインシェーダ「Unity-Outline」紹介

はじめに 「Unity-Outline」は半透明オブジェクトのアウトラインシェーダです 使用例 使い方 マテリアルの Shader に「ModelEffect/VerticsOutline」を設定します 関連記事

【Unity】2D の水面シェーダ「2D Water surface in Unity3D」紹介

はじめに 「2D Water surface in Unity3D」は 2D の水面シェーダです 使用例 使い方 「Water2D Surface」プレハブをシーンに配置します 関連記事

【Unity】色相彩度調整シェーダ「HSV Shader for Unity」紹介

はじめに 「HSV Shader for Unity」は色相彩度調整シェーダです 使用例 1つのテクスチャから様々な色合いのスプライトを描画できます 使い方 マテリアルの Shader を「Custom/HSLRangeShader」に設定します 関連記事

【Unity】Inspector でパラメータを右クリックして GetComponent 系の関数を実行できるエディタ拡張

ソースコード 使用例 using UnityEngine; public class Example : MonoBehaviour { public Transform transform; public SphereCollider sphereCollider; public BoxCollider[] boxColliders; } 「ContextualPropertyMenuManager.cs」を Unity プロジェクト…

【Unity】SceneAsset の Inspector でシーン情報を表す文字列をコピーできるようにするエディタ拡張

ソースコード 使用例 「SceneAssetEditor.cs」を Unity プロジェクトの「Editor」フォルダに導入することで SceneAsset の Inspector に「Copy」ボタンが追加され、 シーン情報を表す文字列をコピーできるようになります また、テキストエリア内を選択するこ…

【Unity】TextAsset の Inspector でテキストをコピーできるようにするエディタ拡張

ソースコード 使用例 変更前 変更後 「TextAssetEditor.cs」を Unity プロジェクトの「Editor」フォルダに導入することで TextAsset の Inspector に「Copy」ボタンが追加され、 テキストをコピーできるようになります また、テキストエリア内を選択すること…

【Unity】Inspector のパラメータの欄に GetComponentInChildren ボタンを追加する Attribute

ソースコード 使い方 using UnityEngine; public class Example : MonoBehaviour { [GetComponentInChildren] public BoxCollider collider; [GetComponentInChildren] public Rigidbody rigidbody; } スポイトボタンを押すと、 子オブジェクトから対象のコ…

【Unity】Inspector のパラメータの欄に GetComponent ボタンを追加する Attribute

ソースコード 使い方 using UnityEngine; public class Example : MonoBehaviour { [GetComponent] public Transform transform; [GetComponent] public Example example; } スポイトボタンを押すと、 ゲームオブジェクトから対象のコンポーネントを GetComp…

【Unity】SerializedProperty の型名を取得する関数

ソースコード using System.Text.RegularExpressions; using UnityEditor; public static class MyEditorUtils { public static string GetPropertyType( SerializedProperty property ) { var type = property.type; var match = Regex.Match( type, @"PPtr…

【Unity】GetComponentsInChildren で引数の型情報を文字列で渡せるようにする拡張メソッド

ソースコード using UnityEngine; public static class GameObjectExt { public static Component[] GetComponentsInChildren( this GameObject self, string type, bool includeInactive ) { return self .GetComponentsInChildren<Transform>( includeInactive ) .Sel</transform>…

【Unity】GetComponentInChildren で引数の型情報を文字列で渡せるようにする拡張メソッド

ソースコード using UnityEngine; public static class GameObjectExt { public static Component GetComponentInChildren( this GameObject self, string type, bool includeInactive ) { var com = self.GetComponent( type ); if ( com != null ) return …

【Unity】飛行機や宇宙船を操縦できる「Spaceflight Controls」紹介(無料)

概要 2014/11/8 に「Spaceflight Controls」がリリースされました 「Spaceflight Controls」を導入すると飛行機や宇宙船を操縦できるようになります 検証環境 Unity 2017.3.0f3 Spaceflight Controls 1.11 使用例 サンプル 「Scenes」フォルダ内のシーンファ…

【Unity】操舵行動の AI を実装できる「Unity Movement AI」紹介

はじめに 「Unity Movement AI」を Unity プロジェクトに導入することで 操舵行動の AI を実装できるようになります サンプル 関連記事

【Unity】ゲームをリプレイ再生できる「InGameReplay」紹介

はじめに 「InGameReplay」を Unity プロジェクトに導入することで ゲームをリプレイ再生できるようになります 使用例 使い方 「REPLAY」プレハブをシーンに配置します また、リプレイ再生したいオブジェクトに 「Replay Entity」コンポーネントをアタッチし…

【Unity】ゲームジャムで使用できる無料のメニューテンプレート「Game Jam Menu Template」紹介(無料)

概要 2015/6/29 に「Game Jam Menu Template」がリリースされました 「Game Jam Menu Template」は ゲームジャムで使用できる無料のメニューテンプレートです 検証環境 Unity 2017.3.0f3 Game Jam Menu Template 1.2 使用例 使い方 「EventSystem」プレハブ…