コガネブログ

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

【Unity】uGUI のコードを変更して使用する方法

はじめに https://bitbucket.org/Unity-Technologies/ui/src uGUI のソースコードは Bitbucket で公開されているため、 自分で編集して使用することができます 変更例 https://bitbucket.org/Unity-Technologies/ui/downloads/ 上記のページにアクセスして「…

【Unity】Tinder のような UI を実装できる「Unity-SwipeableView」紹介

はじめに 「Unity-SwipeableView」を Unity プロジェクトに導入することで Tinder のような UI を実装できるようになります 使用例(引用) 使い方 public class CardData { public string m_text; public CardData( string text ) { m_text = text; } } カ…

【Unity】カスタマイズ可能な円形のプログレスバーを実装できる「RadialProgressBar」紹介

はじめに 「RadialProgressBar」を Unity プロジェクトに導入することで カスタマイズ可能な円形のプログレスバーを実装できるようになります サンプル

【Unity】新しく作成する TextMesh Pro のオブジェクトのデフォルトパラメータを設定する方法

概要 新しく作成する TextMesh Pro のオブジェクトのデフォルトパラメータは 「TMP Settings」の「New Text Object Default Settings」の欄で設定できます

【Unity】TextMesh Pro の文字単位で DOTween のアニメーションを実装できる「CharTweener」紹介

はじめに 「CharTweener」を Unity プロジェクトに導入することで TextMesh Pro の文字単位で DOTween のアニメーションを実装できるようになります 使用例 使い方 using CharTween; using DG.Tweening; using TMPro; using UnityEngine; [RequireComponent(…

【Unity】重なっている uGUI のオブジェクトを選択しやすくするエディタ拡張

はじめに 重なっている uGUI のオブジェクトを選択しやすくするエディタ拡張を作りました Scene ビューで右クリックすると、マウスカーソルの位置に存在する すべての uGUI のオブジェクトをコンテキストメニューから選べるようになります ソースコード 注意…

【Unity】uGUI でブラーやモザイクなど 7 種類以上の画面エフェクトを使用できる「unity-ugui-posteffect」紹介

はじめに 「unity-ugui-posteffect」を Unity プロジェクトに導入することで uGUI でブラーやモザイクなど 7 種類以上の画面エフェクトを 使用できるようになります 使用例 ブラー エフェクトの強さは「Color」で調整します モノクロ エフェクトの強さは「Co…

【Unity】UI がうねうねするシェーダを導入する

はじめに 上記のサイト様が公開されているシェーダを Unity プロジェクトに導入することで UI をうねうねさせることができます 使用例 使い方 上記のシェーダを Unity プロジェクトに導入します シェーダを使用したいマテリアルの Shader を 「BitshiftProdu…

【Unity】uGUI でオブジェクトを円形に配置できる「uGUI-Circle-Layout-Group」紹介

はじめに 「uGUI-Circle-Layout-Group」を Unity プロジェクトに導入することで uGUI でオブジェクトを円形に配置できるようになります 使用例 使い方 空のゲームオブジェクトに「CircleLayoutGroup」をアタッチして 各種パラメータを調整します

【Unity】uGUI でジャギーの無いマスクを使用できる「Unity-UI-Image-AlphaMask」紹介

はじめに 「Unity-UI-Image-AlphaMask」を Unity プロジェクトに導入することで uGUI でジャギーの無いマスクを使用できるようになります 詳細は上記のブログ様で紹介されいるので、詳しくはそちらをご覧頂ければと思います 使用例 左が Unity 標準の Mask …

【Unity】uGUI でブラーを使用できる「BlurringAtlasForUGUI」紹介

はじめに 「BlurringAtlasForUGUI」を Unity プロジェクトに導入することで uGUI でブラーを使用できるようになります 使用例(GIF アニメ) 使い方 Canvas の「Additional Shader Channels」に「TexCoord1」を設定します そして、ブラーを適用したい uGUI …

【Unity】uGUI 上で Particle System を表示できる「ParticleEffectForUGUI」紹介

はじめに 「ParticleEffectForUGUI」を Unity プロジェクトに導入することで Canvas を分けたり Render Texture を使用したりしなくても uGUI 上で Particle System を表示できるようになります 使用例 例えば、上記のように Image と Image の間に Particle…

【Unity】TextMesh Pro の Font Asset の作成をエディタ拡張で自動化しようとして断念した話

概要 TextMesh Pro を導入した Unity プロジェクトで、 使用する文字が増えるたびに毎回 Font Asset Creator を開いて Font Asset を作成するのがメンドウだったので、 エディタ拡張で自動化しようとしたのですが、うまくいきませんでした せっかくなので途…

【Unity】TextMesh Pro で数値を表示する時に GC Alloc の発生を防ぐことができる「TMProNonAllocUtil」紹介

はじめに 「TMProNonAllocUtil」を Unity プロジェクトに導入することで TextMesh Pro で数値を表示する時に GC Alloc の発生を防ぐことができるようになります 通常 using TMPro; using UnityEngine; public class Example : MonoBehaviour { public TextMe…

【Unity】uGUI の Text を TextMesh Pro に置換できる「TextMeshProReplacer」紹介

はじめに 「TextMeshProReplacer」を Unity プロジェクトに導入することで uGUI の Text を TextMesh Pro に置換できます 使い方 Unity メニューの「Text Mesh Replacer」からコマンドを実行できます Replace Current Scene: 現在のシーンのテキストを置換し…

【Unity】Hierarchy の「Create>UI」のメニューに「TextMeshPro - Button」を追加できる「TextMeshProButtonExtension」紹介

はじめに 「TextMeshProButtonExtension」を Unity プロジェクトに導入することで Hierarchy の「Create>UI」のメニューに「TextMeshPro - Button」を追加できます 使用例

【Unity】ペルシャ語やアラビア語のような右から左に書く言語を TextMesh Pro で使用できる「RTL Text Mesh Pro」紹介

はじめに 「RTL Text Mesh Pro」を Unity プロジェクトに導入することで ペルシャ語やアラビア語のような右から左に書く言語を TextMesh Pro で使用できます 使用例 使い方 Hierarchy の「Create>UI>Text - RTLTMP」を選択して 作成されたオブジェクトで右か…

【Unity】TextMesh Pro のオブジェクトをカーブさせるスクリプト「WarpTextExample」紹介

はじめに TextMesh Pro のサンプルに入っている「WarpTextExample」を使用することで TextMesh Pro のオブジェクトをカーブさせることができます ソースコード 使用例

【Unity】TextMesh Pro でランダムに文字の色を変更するスクリプト「VertexColorCycler」紹介

はじめに TextMesh Pro のサンプルに入っている「VertexColorCycler」を使用することで ランダムに文字の色を変更することができます ソースコード 使用例

【Unity】TextMesh Pro で使用できる 30種類のタグを紹介

はじめに この記事では TextMesh Pro で使用できる 30種類のタグ を紹介していきます 目次 はじめに 目次 テキストの配置 (align) 色 (color) 透明度 (alpha) 太字と斜体 (b, i) 文字間隔 (cspace) フォント (font) インデント (indent) 行の高さ (line-heig…

【Unity】TextMesh Pro で文字列中に表示したい画像を Sprite Atlas に簡単にまとめられる「Simple Sprite Packer」紹介

はじめに この記事は「Unityゆるふわサマーアドベントカレンダー 2018」の 8/8 の記事です 昨日は @monry さんの 「Assembly Definition Files の地雷ポイントについて解説してみる」でした 明日は @matsu_vr さんの 「Google Resonance Audio + Ambisonics…

【Unity】TextMesh Pro で NGUI の Shrink Content のような機能を使用する方法

概要 「Auto Size」をオンにする 「Auto Size Options」の「Min」に「1」、「Max」に文字の最大サイズを設定する 「Wrapping & Overflow」を「Enabled」「Truncate」にする (自動改行をオフにする場合は「Disabled」「Truncate」) 注意 「Content Size Fit…

【Unity】uGUI のオブジェクトを反射して表示できる「MirrorReflectionEffectForUGUI」紹介

はじめに 「MirrorReflectionEffectForUGUI」を Unity プロジェクトに導入することで uGUI のオブジェクトを反射して表示できるようになります 導入方法 https://github.com/mob-sakai/MirrorReflectionEffectForUGUI/releases 上記のページから「MirrorRefl…

【Unity】uGUI で六角形のタイル状に UI を整列できる「HexGridLayout.cs」紹介

ソースコード 使用例 Canvas 内に「HexGridLayout」をアタッチしたオブジェクトを用意して、 整列させたいオブジェクトをその子供にすることで このように六角形のタイル状に UI を整列できます 備考 Assets/Hexagon.cs(38,63): error CS0122: `UnityEngine.…

【Unity】NGUI の UISprite のように、設定されているアトラスからスプライトを選択できる Image「AtlasImage」紹介

はじめに 「AtlasImage」を Unity プロジェクトに導入することで NGUI の UISprite のように、設定されているアトラスから スプライトを選択できる Image を使用できるようになります 使い方 Image の代わりに AtlasImage を使用します Sprite Name のプルダ…

【Unity】uGUI でスクロール内のボタンを少しでもドラッグしてしまうとボタンが押せなくなる問題の対応方法が紹介されているサイト様

参考サイト様 uGUIのスクロールビューにボタンを並べるとボタンが反応しにくくなる際の対応 UnityのScrollRectを拡張しよう | 株式会社ヘキサドライブ | HEXADRIVE | ゲーム制作を中心としたコンテンツクリエイト会社

【Unity】uGUI で画像や文字がキラッと光る演出を実装できる「ShinyEffectForUGUI」紹介(2018/5/29 更新)

はじめに 「ShinyEffectForUGUI」を Unity プロジェクトに導入することで uGUI で画像や文字がキラッと光る演出を実装できるようになります 使用例 WebGL デモ https://mob-sakai.github.io/ShinyEffectForUGUI/ 導入方法 https://github.com/mob-sakai/Shin…

【Unity】uGUI でピンチイン・アウトを実装したサンプル「SamplePinchScaling」紹介

はじめに 「SamplePinchScaling」は uGUI でピンチイン・アウトを実装したサンプルです 使い方 こちらのサイト様に詳細な内容が記載されていますので、 詳しくは上記のサイト様を閲覧して頂ければと思いますが 自分のブログにも手順をまとめておきます Hiera…

【Unity】RectTransform の anchoredPosition を設定する拡張メソッド

ソースコード using UnityEngine; public static class RectTransformExt { public static void SetAnchoredPositionX ( this RectTransform self, float x ) { var pos = self.anchoredPosition; pos.x = x; self.anchoredPosition = pos; } public static …

【Unity】UnityEvent で RemoveAllListeners してから AddListener する拡張メソッド

ソースコード using System; using UnityEngine.Events; public static class UnityEventExt { public static void SetListener( this UnityEvent self, Action call ) { self.RemoveAllListeners(); self.AddListener( () => call() ); } public static voi…