きゅぶろぐ

きゅぶんずの ぶろぐができて べんりだな

本当に使える!TextMeshProでの「日本語」「多言語」対応方法

はじめに TextMeshProがUnityに標準搭載されてから、もう3年近く経とうとしています。 もう皆さん知ってると思うので、今更TextMeshProの利点をいちいち紹介したりはしません。 それでも「良いものなのは知ってるけど、日本語表示するのは大変なんでしょ?」…

UnityEditorでもApplication.isEditor == falseになるケースがある

Device Simulatorのパッケージを入れていると、 気を利かせてApplication.isEditorはfalseになるわ、 Application.platformもiPhonePlayerになるわ、 そういうこともあるんだなぁ。みたいな挙動をします。 Application.installMode == ApplicationInstallMod…

Unity Addressableで"Use Existing Build"を使っているときにSpriteAtlasからSpriteが読まれない時の対処法

問題 青色と緑色の2つがSpriteAtlasになっています。 上がシーンに直接Prefabを配置、 下がAddressable経由でPrefabをロードした状態。 "Use Existing Build"を使えばほぼ実機と同じ挙動になるはずなのに、なぜかSpriteAtlasからSpriteが読まれない!なぜ? …

Auto9Slicer - 自動的に9スライス用画像に変換してくれるライブラリ

github.com 画像を入れると、自動的に9スライス用画像に変換してくれるライブラリです。 メリットとしては、テクスチャサイズが小さくなる、サイズを変更しても拡大した感がでなくなる、などなど9スライスの恩恵を自動的に受けられます。 (昔、OnionRingと…

Unity Editorでsvgからpngを作る

using System.IO; using AkyuiUnity.Editor.Extensions; using Unity.VectorGraphics.Editor; using UnityEditor; using UnityEngine; namespace Sandbox { public static class SvgToPng { public static byte[] Convert(string svg, Vector2Int size) { va…

常用漢字を突っ込むのはもうやめ!Adobeが定めた良い感じの日本語文字セットをTextMeshProで使う

Adobe-Japan1 文字コレクションって? 先日、Fontworksさんがゲームにも使えるライセンスでフォントを無償公開してましたね! めっちゃ良い!これ使おう!!と思ってフォントの詳細ページを見ると 収録文字 Adobe-Japan1-4の全グリフ GF Latin Core という表…

Unityで画面に描画せずにテキストの幅と高さを取る方法

var fontAsset = AssetDatabase.LoadAssetAtPath<Font>(fontPath); var settings = new TextGenerationSettings { generationExtents = Vector2.zero, textAnchor = TextAnchor.MiddleCenter, alignByGeometry = false, scaleFactor = 1.0f, color = Color.white, </font>…

球の表面のuvを回転するシェーダー

百聞は一見に如かず で。 球のtransformを変更せずに球を回転させたい時どうすれば良いか。 テクスチャだけ回転させてしまえば良いのです! まあ、そんな機会めったにないと思いますが、めったに無いからこそググってもあんまり出なかったので貼っときます。…

QuestLink中にバッテリーが減らない環境の作り方

QuestLinkでVRゲーム遊んでると、徐々にバッテリーが減っていくんですよね。 充電100%の状態から遊ぶなら長時間持つので良いのですが、充電し忘れてて10%の状態から遊ぼう!となると辛いです。 そんな悩みから開放されたくて色々調べたので、ここにまとめて…

Unity2020.2でnull許容参照型を使う

null許容参照型って? ドキュメントを読みましょう。 これが欲しかった!最高! Unityで使うには辛さがある SerializeFieldは#nullable enableで囲う。とかは良いとして、 public class Hoge : MonoBehaviour { private HogeComponent _cache; public void S…