3DText
3D>Textで出したText、常に前面に表示される。
設定で簡単に変えられるかと思ったらできない。
対処少しめんどくさい
boothでunitypackageを配布されている方いる。macだと開けなかった
やる
テキスト用のシェーダー作って、それを適用したマテリアルを作って、それをフォントのマテリアルに適用しないといけない。
こちらのサイト通りにやってみた
シェーダー作る
Shader "Custom/3DText" {
Properties {
_MainTex ("Font Texture", 2D) = "white" {}
_Color ("Text Color", Color) = (1,1,1,1)
}
SubShader {
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
Lighting Off Cull Off ZWrite Off Fog { Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
Pass {
Color [_Color]
SetTexture [_MainTex] {
combine primary, texture * primary
}
}
}
}
適用したマテリアル作る
シェーダー右クリック>Create>Materialでそのシェーダーを適用したマテリアルができるの知らなかった!
フォントを入れる。
マテリアルのテクスチャに、さっき入れたフォントのFontTextureを適用
3DTextのMeshのMaterialに作ったマテリアルを適用
これでできた!文字の色はマテリアルの設定の方で変える。
マテリアルこんな感じになってた
フォントを入れる場合はこれでいいけど、Unityにデフォルトで入っているArialフォントのFontTextureってどこにあるんだろう。
わざわざ3DTextを前面にするためだけにフォント入れるのめんどくさいな〜