Unity」カテゴリーアーカイブ

ゲームエンジン「Unity」に関するカテゴリーです。

TextMesh Proで使えるタグ

UnityのTextMesh Proは少し前から無料になったので、使っている人も多いと思います。

TextMesh Proの便利な機能の1つにタグを使ったテキストの装飾があるのですが、HTMLとは少し違うので使い方をすぐに忘れてしまいます。

ということで、よく使うタグをまとめてみました。

<color="green">緑色</color>
<color="#0000FF">青色</color>
<alpha="#aa">透明度</alpha>
<b>ボールド</b>
<i>イタリック</i>
<u>アンダーライン</u>
<size="200%">拡大と縮小</size>
<align="center">センタリング</align>

それ以外についてはリンク先などを参照してみてください。

リンク

TextMesh Pro User Guide
https://docs.unity3d.com/Packages/[email protected]/manual/index.html

Rich Text, TextMesh Pro Documentation
http://digitalnativestudios.com/textmeshpro/docs/rich-text/

Unityでマウスカーソルの画像を変更する方法

マウスカーソルの画像を(一時的に)変更したい場合はCursor.SetCursorを使うと実装できるみたいです。

使い方

例えば、カーソルが特定のエリアにある時にカーソル画像を変更したい場合は次のような感じです。

public class Example : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
  public Texture2D cursorTexture;

  public void OnPointerEnter(PointerEventData eventData)
  {
    Cursor.SetCursor(cursorTexture, Vector2.zero, CursorMode.Auto);
  }

  public void OnPointerExit(PointerEventData eventData)
  {
    Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
  }
}

これとUI.Buttonを組み合わせれば、ボタン上にカーソルが来た時にカーソル画像を変更したりできるみたいです。

リンク

Unity – Scripting API: Cursor.SetCursor(Texture2D,CursorMode)
https://docs.unity3d.com/ScriptReference/Cursor.SetCursor.html

TextureをPNGファイルとして保存する方法

先日、PNGファイルを読み込んでTextureとして使う方法という記事を書きましたが、逆にTextureをPNGファイルとして保存したい場合は、EncodeToPNGを使って次のような感じで実装できるみたいです。

Texture2D texture;
string path = "texture.png";
byte[] bytes = texture.EncodeToPNG();
File.WriteAllBytes(path, bytes);

PNGフォーマット以外にもEXRフォーマット、JPGフォーマット、TGAフォーマットに対応しているそうです。

リンク

Unity – Scripting API: ImageConversion.EncodeToPNG
https://docs.unity3d.com/ScriptReference/ImageConversion.EncodeToPNG.html

Unity – Scripting API: Windows.File.WriteAllBytes
https://docs.unity3d.com/ScriptReference/Windows.File.WriteAllBytes.html