表示テーマ
TextRenderer Component
Font Assetの文字Atlasを使って文字列を描画します。
設定する手順
- Fontと文字列を設定し、文字サイズ・字間・2D/3Dを選択します。
- SceneViewまたはGameViewで結果を確認します。
- 編集中のSceneまたはPrefabを保存します。
項目の説明
| 項目 | C#名 | 型 | 操作 | 定義時の初期値 | 意味 |
|---|---|---|---|---|---|
| RenderingLayerMask | RenderingLayerMask | uint | 読取・変更 | 1u | このRendererを表示するCameraのCullingMaskと照合するbit集合です。 |
| フォント | Font | Font? | 読取・変更 | {} | 文字Atlasを持つFont Assetです。 |
| マテリアル | Material | Material? | 読取・変更 | {} | 描画に使うMaterial参照です。既定MaterialはEngine側から解決されます。 |
| テキスト | Text | string | 読取・変更 | "Text" | 表示する文字列です。 |
| フォントサイズ | FontSize | float | 読取・変更 | 32.0f | 文字の大きさです。2D/3D設定とWorldScaleの影響を受けます。 |
| 文字間隔 | CharSpacing | float | 読取・変更 | 0.0f | 文字間隔です。 |
| Layer | Layer | int | 読取・変更 | 0 | 描画するLayer番号です。 |
| Order | Order | int | 読取・変更 | 0 | 同じLayer内の並び順です。 |
| 表示 | Visible | bool | 読取・変更 | true | 通常描画に表示するかを指定します。 |
| BlendMode | BlendMode | BlendMode | 読取・変更 | BlendMode::Normal | 背景への色の混ぜ方です。加算などの方式を選びます。 |
| Queue | Queue | RenderPhase | 読取・変更 | RenderPhase::ScreenUI | 同じ描画区分内の並び順です。 |
| ピボット | Pivot | Vector2 | 読取・変更 | Vector2::AnyInit(0.0f) | 形状の原点または投影中心をずらします。 |
| UVを文字ごとに適用 | UvPerCharacter | bool | 読取・変更 | true | UV設定を文字ごとに適用します。 |
| Dimension | Dimension | Dimension | 読取・変更 | Dimension::Type2D | 2Dまたは3Dの描画を選びます。 |
| ワールドスケール | WorldScale | float | 読取・変更 | 0.01f | 3D文字をWorld上の寸法へ合わせる倍率です。 |
Inspectorの設定と使い方
「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。
| 設定・操作 | 編集場所 | C#の入口 | 意味・使い方 |
|---|---|---|---|
| 表示レイヤーと描画順 | Editor / C# | RenderingLayerMask / Layer / Order | RenderingLayerMaskはCameraのCullingMaskと照合する表示先のbitです。LayerとOrderは描画の並び順で、衝突タイプとは別です。 |
| Material・個別パラメータ | Editor / C# | Material / MaterialInstance | Materialは共有Asset、MaterialInstanceはこのRendererの上書きです。色・Texture・発光などの公開Parameterを個別に変え、ほかの物体のMaterial設定を変えずに点滅や色違いを作れます。 |
| ブレンドモード・キュー | Editor / C# | BlendMode / Queue | 透明度をどう合成するかと、どの描画段階へ送るかを指定します。Alphaを下げるだけで透過描画になるとは限らないため、Materialの表面方式と合わせます。 |
| Font・テキスト・文字間隔 | Editor / C# | Font / Text / FontSize / CharSpacing / Pivot | Font Assetの収録文字で文章を配置します。FontSizeは文字の基準サイズ、CharSpacingは追加の字間です。未収録文字は代替文字になる場合があるため、スコアやUIで使う文字をFontへ含めます。 |
| 描画次元・ワールドスケール | Editor / C# | Dimension / WorldScale | 2D画面向けか3D空間向けかを選びます。3DではWorldScaleでFontのサイズをWorldへ合わせます。 |
| 文字ごとの変形・UV | Editor / C# | CharacterTransforms / UvPerCharacter | 文字単位の位置・回転・スケールを編集できます。UvPerCharacterはUVを文章全体ではなく各文字へ適用する指定です。C#の文字変形はCharacterTransformsの要素を変更します。 |
初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。
C#から使う
操作型はTextRendererです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。
実用例:スコア表示を更新する
TextRendererへFontを設定し、このScriptへ得点を渡します。Fontには表示するSCOREと数字・記号を収録します。
cs
using NEMEngine;
public sealed class ScoreText : MonoBehaviour {
private TextRenderer? label;
private int score;
void Start() {
// 表示先を取得して初期値を描画
label = GetComponent<TextRenderer>();
Refresh();
}
public void AddScore(int amount) {
// アイテム取得や敵の撃破時に得点を加える
score += amount;
Refresh();
}
void Refresh() {
// 値が変わったときだけ文字列を更新
if (label != null) label.Text = $"SCORE: {score}";
}
}設定用・関連するC#型
選択値(Enum)
| 型・各値の詳説 | 使える値 |
|---|---|
| BlendMode | Add / Multiply / Normal / Screen / Subtract |
| Dimension | Type2D / Type3D |
| RenderPhase | EditorOverlay / Opaque / PostProcessUI / ScreenUI / Transparent |
TextRenderer
| 宣言・詳説 | 種類・操作 | 役割 |
|---|---|---|
public BlendMode BlendMode | プロパティ(読取・変更) | 背景への色の混ぜ方です。加算などの方式を選びます。 |
public float CharSpacing | プロパティ(読取・変更) | 文字間隔です。 |
public DynamicBuffer<TextCharacterTransform> CharacterTransforms | プロパティ(読取専用) | 各文字の移動・回転・拡縮・色を設定するBufferです。 |
public Dimension Dimension | プロパティ(読取・変更) | 2Dまたは3Dの描画を選びます。 |
public Font? Font | プロパティ(読取・変更) | 文字Atlasを持つFont Assetです。 |
public float FontSize | プロパティ(読取・変更) | 文字の大きさです。2D/3D設定とWorldScaleの影響を受けます。 |
public static TextRenderer FromEntity(GameObject gameObject) | 関数 | 既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。 |
public Color4 GetColor() | 関数 | 現在のマテリアル color を取得する。 |
public int Layer | プロパティ(読取・変更) | 描画するLayer番号です。 |
public Material? Material | プロパティ(読取・変更) | 描画に使うMaterial参照です。既定MaterialはEngine側から解決されます。 |
public MaterialInstance MaterialInstance | プロパティ(読取専用) | このRendererだけに適用するMaterial Parameterです。共有Materialの変更とは区別します。 |
public int Order | プロパティ(読取・変更) | 同じLayer内の並び順です。 |
public Vector2 Pivot | プロパティ(読取・変更) | 形状の原点または投影中心をずらします。 |
public RenderPhase Queue | プロパティ(読取・変更) | 同じ描画区分内の並び順です。 |
public uint RenderingLayerMask | プロパティ(読取・変更) | このRendererを表示するCameraのCullingMaskと照合するbit集合です。 |
public void SetColor(Color3 color) | 関数 | 色Parameterを設定します。 |
public void SetColor(Color4 color) | 関数 | マテリアル color を上書きする。 |
public string Text | プロパティ(読取・変更) | 表示する文字列です。 |
public bool UvPerCharacter | プロパティ(読取・変更) | UV設定を文字ごとに適用します。 |
public bool Visible | プロパティ(読取・変更) | 通常描画に表示するかを指定します。 |
public float WorldScale | プロパティ(読取・変更) | 3D文字をWorld上の寸法へ合わせる倍率です。 |
public static int componentTypeID | プロパティ(読取専用) | 組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。 |
継承する共通操作:Component
継承する共通操作:Object
使用時の注意
Fontに収録していない文字は描けません。収録文字を変更してFontを再生成してください。
Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。