Текстовый меш
The Text Mesh generates 3D geometry that displays text strings.
You can create a new Text Mesh from Component > Mesh > Text Mesh.
Свойства
Свойство: | Функция: |
---|---|
Text | Текст, который будет рендериться. |
Offset Z | Уровень сдвига текста относительно transform.position.z. |
Character Size | The size of each character (This scales the whole text.) |
Line Spacing | Расстояние между строками текста. |
Anchor | Точка, относительно которой текст будет рисоваться |
Alignment | Выравнивание строк (лево, право, центр). |
Tab Size | How much space will be inserted for a tab ‘\t’ character. This is a multiplum of the ‘spacebar’ character offset. |
Font Size | The size of the font. This can override the size of a dynamic font. |
Font Style | The rendering style of the font. The font needs to be marked as dynamic. |
Rich Text | When selected this will enable tag processing when the text is rendered. |
Font | TrueType шрифт используемый при рендере текста. |
Color | The global color to use when rendering the text. |
Детали
Text Meshes can be used for rendering road signs, graffiti etc. The Text Mesh places text in the 3D scene. To make generic 2D text for GUIs, use a GUI Text component instead.
Следуйте следующим шагам, чтобы создать текстовый меш с пользовательским шрифтом:
- Import a font by dragging a TrueType Font — a .ttf file — from the Explorer (Windows) or Finder (OS X) into the Project View.
- Выберите в Project View импортированный шрифт.
- Choose GameObject > Create Other > 3D Text. You have now created a text mesh with your custom TrueType Font. You can scale the text and move it around using the Scene View’sTransform controls.
Note: If you want to change the font for a Text Mesh, need to set the component’s font property and also set the texture of the font material to the correct font texture. This texture can be located using the font asset’s foldout. If you forget to set the texture then the text in the mesh will appear blocky and misaligned.
Советы
Вы можете сказать бесплатные TrueType шрифты с сайта 1001freefonts.com (скачивайте версии шрифтов для Windows, т.к. они содержат TrueType шрифты). * If you are scripting the Text property, you can add line breaks by inserting the escape character “\n” in your strings. * Стиль текстовых мешей можно настраивать используя простую разметку. Для деталей см. Styled Text. * Fonts in Unity are rendered by first rendering the font glyphs to a texture map. If the font size is set too small, these font textures will appear blocky. Since TextMesh assets are rendered using quads, it’s possible that if the size of the TextMesh and font texture differ the TextMesh will look wrong.
«Обогащенный» текст (Rich Text)
The text for UI elements and text meshes can incorporate multiple font styles and sizes. Rich text is supported both for the UI System and the legacy GUI system. The Text, GUIStyle, GUIText and TextMesh classes have a Rich Text setting which instructs Unity to look for markup tags within the text. The Debug.Log function can also use these markup tags to enhance error reports from code. The tags are not displayed but indicate style changes to be applied to the text.
Формат разметки
Система разметки текста в Unity была создана на основе HTML, однако при этом строгая совместимость со стандартным HTML не подразумевается. Основная идея заключается в том, что фрагменты текста можно заключать в пару согласующихся друг с другом тегов:-
We are not amused
Как показано на примере выше, тегами называются фрагменты текста, заключенные в угловые скобки: < и >. Текст внутри скобок определяет имя тега (в данном случае это b). Обратите внимание, что тег в конце фрагмента (закрывающий) обладает тем же именем, что и тег в начале (открывающий), однако в нем также содержится символ косой черты /. Теги не видны непосредственно пользователю, однако используются в качестве инструкций по форматированию текста, который они оборачивают. Тег b в примере выше используется, чтобы придать слову «not» жирный стиль шрифта и отобразить текст на экране следующим образом:-
We are not amused
Размеченный фрагмент текста (включая оборачивающие его теги) также называется элементом.
Вложенные элементы
Существует возможность применять более одного стиля к фрагменту текста при помощи «вложения» одних элементов в другие.
We are definitely not amused
Тег i задает фрагменту курсивный стиль шрифта, отображающийся на экране следующим образом:
We are definitely not amused
Обратите внимание, что порядок закрывающих тегов противоположен порядку открывающих. Причину этого проще понять, если вы примете во внимание тот факт, что внутренние теги не обязательно должны распространяться на весь текст вплоть до последнего элемента
We are absolutely definitely not amused
дает следующий результат:
We are absolutely definitely not amused
Параметры тегов
Some tags have a simple all-or-nothing effect on the text but others might allow for variations. For example, the color tag needs to know which color to apply. Information like this is added to tags by the use of parameters:-
Note that the ending tag doesn’t include the parameter value. Optionally, the value can be surrounded by quotation marks but this isn’t required.
Поддерживаемые теги
The following list describes all the styling tags supported by Unity.
Tag | Описание | Шестнадцатиричный код | Notes |
---|---|---|---|
b | Renders the text in boldface. | We are not amused. | |
i | Renders the text in italics. | We are usually not amused. | |
size | Sets the size of the text according to the parameter value, given in pixels. | We are largely unaffected. | Although this tag is available for Debug.Log, you will find that the line spacing in the window bar and Console looks strange if the size is set too large. |
Название цвета | Sets the color of the text according to the parameter value. The color can be specified in the traditional HTML format. #rrggbbaa …where the letters correspond to pairs of hexadecimal digits denoting the red, green, blue and alpha (transparency) values for the color. For example, cyan at full opacity would be specified by | … | Another option is to use the name of the color. This is easier to understand but naturally, the range of colors is limited and full opacity is always assumed. … The available color names are given in the table below. |
Название цвета | Шестнадцатиричный код | Пример |
---|---|---|
aqua (same as cyan) | #00ffffff | |
black | #000000ff | |
blue | #0000ffff | |
brown | #a52a2aff | |
cyan (same as aqua) | #00ffffff | |
darkblue | #0000a0ff | |
fuchsia (same as magenta) | #ff00ffff | |
green | #008000ff | |
grey | #808080ff | |
lightblue | #add8e6ff | |
lime | #00ff00ff | |
magenta (same as fuchsia) | #ff00ffff | |
maroon | #800000ff | |
navy | #000080ff | |
olive | #808000ff | |
orange | #ffa500ff | |
purple | #800080ff | |
red | #ff0000ff | |
silver | #c0c0c0ff | |
teal | #008080ff | |
white | #ffffffff | |
yellow | #ffff00ff |
material
This is only useful for text meshes and renders a section of text with a material specified by the parameter. The value is an index into the text mesh’s array of materials as shown by the inspector.
quad
This is only useful for text meshes and renders an image inline with the text. It takes parameters that specify the material to use for the image, the image height in pixels, and a further four that denote a rectangular area of the image to display. Unlike the other tags, quad does not surround a piece of text and so there is no ending tag — the slash character is placed at the end of the initial tag to indicate that it is “self-closing”.
This selects the material at position in the renderer’s material array and sets the height of the image to 20 pixels. The rectangular area of image starts at given by the x, y, width and height values, which are all given as a fraction of the unscaled width and height of the texture.
Editor GUI
Rich text is disabled by default in the editor GUI system but it can be enabled explicitly using a custom GUIStyle. The richText property should be set to true and the style passed to the GUI function in question:-
GUIStyle style = new GUIStyle (); style.richText = true; GUILayout.Label("Some RICH text",style);
Как Изменить Текст в Unity
Я новичок, что бы я не делал, выдаёт ошибку- NullReferenceException: Object reference not set to an instance of an object.
Отслеживать
задан 23 янв в 19:01
Frozen Fire Frozen Fire
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Он не знает ни что такое scr, ни что такое id, поскольку ты не указал, кто они такие. Сделать их public и указать в инспекторе.
Отслеживать
ответ дан 25 янв в 15:54
36 2 2 бронзовых знака
- c#
- unity3d
- visual-studio
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как к уже существующему тексту добавить текст с другой сцены?
Привет смотрящим! Сразу к вопросу — у меня есть в главном меню игры строка для ввода своего имени, эта строка сохраняется с помощью PlayerPrefs.SetString и потом уже на другой сцене текстовая область присваивает значение PlayerPrefs.SetString, у которого имя игрока. Имя игрока переносится на текстовое поле другой сцены, но что нужно сделать, чтобы в этом текстовом поле во второй сцене было написано что то помимо того, что было перенесено с первой сцены? К примеру: «Ваше имя — (имя с player.Prefs)» или расположить их наоборот. То есть подставить дополнительный текст, не относящийся в Player.Prefs.
Думаю это элементарная задачка, но решить ее я не могу(
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Добавление текста в TextBox к уже существующему тексту
Необходимо, чтобы в TextBox-е текст добавлялся к уже существующему, а не перезаписывал его.
Добавить текст в memo к тексту, который уже есть
Привет! В memo у меня есть текст "Привет!" и я хочу добавить к нему еще текст(продолжение) с.
Как добавить текст в TextBox к существующему
Добрый день всем. Подскажите, пожалуйста, как добавить текст к существующему тексту. На форме.
Как добавить текст к тексту в текстовом поле?
Как добавить текст к тексту в текстовом поле? Когда программировал на C# это примерно выглядело.
2633 / 1561 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
Сообщение было отмечено Daniil28 как решение
Решение
Просто соединяйте строки
1 2 3 4
void Start() { myTextUI.text = "Ваше имя - " + PlayerPrefs.GetString("Имя"); }
Регистрация: 03.09.2021
Сообщений: 5
Спасибо большое) до того как вы написали у меня получилось сделать задуманное, но в нескольких строках, в вашем варианте гораздо удобнее
250 / 186 / 68
Регистрация: 04.03.2019
Сообщений: 1,010
Daniil28,
почитайте документацию про строки в целом. вам думаю облегчит жизнь немного.
там есть например и про конкатенацию что упоминалось выше, так и про «Интерполяция строк» (заумное слово, сам фиг запомню, если по простому то изменение строки в нужном формате)
https://metanit.com/sharp/tutorial/7.5.php
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Listview. Добавить картинку к уже имеющемуся тексту в item
Доброго дня. Есть листвей. Циклом прохожусь по столбцу: For i As Integer = 0 To.
Как подключить Identity к уже существующему проекту
Всем привет. Подскажите, пожалуйста, как подключить Identity к уже существующему проекту. Google.
Как установить иконку уже существующему exe-файлу?
С извлечением все понятно, берем класс Icon и чудесный метод ExtractAssociatedIcon, таким образом.
Как добавить текст в картинку которая уже находится на сервере?
У меня есть функция размещения картинки, и я решила эту функцию немного переделать и теперь в.
Как в Excel добавить текст в несколько ячеек, в которых уже что-то есть?
Народ, кто с Excel дружит? Как добавить текст в несколько ячеек, в которых уже что-то есть? Т.е.
Как добавить поддомен к существующему домену?
Доброго дня. Есть необходимость добавить поддомен к существующему домену. Вопрос — какие.
Как добавить к существующему проекту библиотеку dll
У меня создан проект из 20 форм, так вот в 20 форме мне необходимо импортировать из библиотеки.