Объект Unity Text не виден за пределами холста

Я создаю пустой игровой объект, добавляю к нему текстовый модуль со случайным текстом, текст не будет виден в редакторе независимо от цвета, размера или шрифта.

Когда я помещаю его как дочерний элемент под холст, он отображается нормально

Поскольку я хотел бы создать текстовый элемент в префабах, для меня очень важно выяснить основную причину.

Мой холст активен в Layer UI
Пространство экрана в режиме рендеринга - оверлей
пиксель идеальный не отмечен
порядок сортировки 0

целевой дисплей дисплей 1

Масштаб с размером экрана 1920 1080

Режим соответствия экрана соответствует ширине или высоте

эталонные пиксели на единицу

Графический рейкастер

игнорировать реверсивную графику

блокирующие объекты нет

блокирующая маска все

У меня также есть 1 скрипт, следящий за тем, чтобы камера следовала за персонажем.

Любой клуб о том, почему или что-то, что я пропустил?

я меняю слой текстового объекта тоже ничего не происходит

Все в 2D, и при создании текста нет другого игрового объекта, он нормально отображается под холстом. Не отображается, когда за его пределами.

Это в значительной степени ожидаемое поведение ... без CanvasCanvasRenderer не отображается ... Вместо этого вы, вероятно, ищете TextMeshPro

derHugo 04.04.2023 14:10

Или вам нужен холст для каждого

BugFinder 04.04.2023 14:13

Спасибо за информацию, сможет ли TMP отображать текст, не являясь дочерним объектом Canvas?

Carta Issue 04.04.2023 15:07
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
144
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно создать объект WorldSpace Canvas и поместить ваш игровой объект с текстовым компонентом на него под WorldSpace Canvas.

Компоненты пользовательского интерфейса не видны за пределами холстов. Как сказал @derHugo в комментариях. Если вы хотите отображать элементы пользовательского интерфейса в мире, например, поверх персонажа или на стене и т. д., вам необходимо создать холст WorldSpace.

Если я хочу поместить текстовый объект в префаб, каким должен быть подход? Поскольку префабы еще не появляются в начале игры, можно ли как-то поместить текстовый компонент в префаб? например Изображение магазина, где текст будет названием магазина

Carta Issue 04.04.2023 15:06

Если вы собираетесь поместить префаб под компонент Canvas — если это элемент пользовательского интерфейса — тогда можно создать a game object with text component without Canvas component. Как только вы создадите экземпляр или поместите префаб под Canvas, он должен работать нормально. Но если вы собираетесь использовать префаб в world space, вам нужно создать компонент WorldSpace Canvas внутри префаба, а затем поместить под него текстовый компонент. Убедитесь, что в этой сцене есть только один EventSystem. Не создавайте EventSystem для каждого объекта prefab/worldSpaceCanvas.

msaiduraz 04.04.2023 15:17

Другие вопросы по теме