Inline-Sprites in Unitys Text?

10

Wie kann ich verschiedene Materialien verwenden, wenn ich das Tag für die Rich-Text-Syntax von Unity verwende?

Ich möchte Sprites haben, die mit meinem Text übereinstimmen, ohne benutzerdefinierte Schriftarten erstellen zu müssen.

Folgendes habe ich bisher: Geben Sie hier die Bildbeschreibung ein Hier ist die Syntax, die ich für den Text in meinem Bild verwende:

Planetary <quad material=1 size=20 x=0.1 y=0.1 width=0.1 height=0.1 /> Intergalactic

Ich vermute, "material = 1" bezieht sich auf den Materialindex des Textobjekts. Wie kann ich festlegen, dass ein anderes Material verwendet wird?

Gibt es ein Plugin oder eine andere Ressource, die das Einbetten von Symbolen in Text erleichtert?

James Linden
quelle
3
Der Rich-Text von a quadwith Unity ist der einzige Weg. Das materialAttribut ist das Material an der "Position im Materialarray des Renderers". Ich würde im richtigen Materialindex vorverarbeiten oder mich darauf konzentrieren, das Material Renderer.materialszu finden, nach dem Sie suchen .
MLM
Ich werde es versuchen und mit einigen Ergebnissen zurückkommen, danke MLM!
James Linden
1
Diese Frage wird auf Unity Answers veröffentlicht . Es scheint, dass Rich Text zwar unterstützt wird, Quads jedoch nicht Tim C und Phil von Unity entsprechen, siehe: forum.unity3d.com/threads/…
MLM
1
Ich habe eine Implementierung erstellt, die dies in UI-Text ausführt (im Gegensatz zur Quad-Methode mit TextMesh), indem untergeordnete Bilder dynamisch erzeugt und positioniert werden. Die Details werden etwas kompliziert, aber wenn es für jemanden nützlich ist, kann ich es als Antwort aufschreiben.
DMGregory
@DMGregor, ich würde mich freuen, wenn Sie eine Antwort oder einen Link zu Ihrem Code für Ihr Sprited Image-Skript schreiben.
James McMahon

Antworten:

1

Da das Textsystem immer noch das alte Textsystem ist, können Sie keine Bilder in Text einbetten. Die einzige Möglichkeit wäre, eine Layoutgruppe und separate Text- und Bildblöcke zu haben

Alternativ können Sie ein Asset wie TextMeshPro verwenden, das über eine neue Textimplementierung verfügt, die dies vollständig unterstützt (und vieles mehr!).

Dunkle Seite
quelle