Решение проблем
Что-то не работает? Найдите свою проблему ниже. Начните с первых двух: из-за них возникает большинство сложностей.
В предпросмотре работает, а в редакторе нет
Так и задумано. Редактор не запускает вашу логику: скрипты, патчи, физика, таймеры и триггеры приближения выключены. Редактор только показывает сцену и даёт её править.
Это сделано специально. Анимация, которая играет, пока вы редактируете, мешала бы, а таймер менял бы проект. Чтобы увидеть проект в действии, откройте Предпросмотр.
Скрипт не запускается
Проверьте по порядку:
- Объект включён, и все объекты выше него в иерархии — тоже.
- Его сцена активна. В AR-сцене это значит, что метка распознана.
- Компонент скрипта включён.
- Вы в Предпросмотре или в опубликованном проекте, а не в редакторе.
Скрипт перезапускается, когда вы меняете одно из его свойств в панели Настройки элемента. Поэтому случайная правка может выглядеть как сбой.
Изменение откатывается
Обычно причин две:
- Активно состояние. Пока выбрано состояние, ваши правки объекта сохраняются в это состояние. Когда вы переключаете состояния, сохранённые значения возвращаются. Чтобы изменить сам объект, сначала снимите выбор состояния.
- Что-то другое задаёт это значение каждый кадр. Полоса на таймлайне, физическое тело или компонент Направление взгляда постоянно пишут в объект и перезаписывают вашу правку. См. следующий раздел.
Две анимации мешают друг другу
Один и тот же объект меняют две вещи. Таймлайн пишет каждый кадр, поэтому он всегда побеждает переход.
Используйте для одного объекта что-то одно. Если нужен переход на том, чем управляет таймлайн, повесьте переход на дочерний объект или сделайте эту анимацию на таймлайне. См. Анимация.
Материал не меняется из скрипта
Материал — это список слотов, поэтому material.update({ color }) записывает поле, которого
на этом уровне нет. Меняйте слот:
material.update({
materials: [{ ...material.$data.materials[0], color: '#ff0000' }],
});
То же касается любого вложенного значения: update заменяет то, что вы передали, поэтому
скопируйте в него значения, которые хотите сохранить.
Объект проваливается сквозь пол
Импортированная 3D-модель не твёрдая, пока вы не добавите коллайдер. Добавьте его — обычно подходит куб или капсула.
Проверьте также, что у пола есть твёрдое тело и коллайдер. Геометрия без них — просто украшение, и предметы проходят сквозь неё. См. Физика.
Физический объект не встаёт туда, куда я его ставлю
Положением динамического тела управляет физика и задаёт его заново на каждом шаге. Чтобы
поставить объект в точку, используйте teleport. Чтобы двигать его — импульсы или силы.
Интерфейса нет на скриншоте
Карточки рисуются перед 3D-видом, и снимок 3D-вида их не захватывает. Проверяйте интерфейс в Предпросмотре.
Значения поворота не совпадают
Всё, что вы видите, — панель Настройки элемента, порты нод в патчах — показывает градусы. Скрипты читают и пишут радианы. Переводите значение, когда передаёте его между ними.
Ничего не происходит, когда я нажимаю клавишу
Проверьте, как написано имя: в триггерах — дефисы (on-click), в шагах — подчёркивания
(play_animation). Имя с опечаткой не вызывает ошибку. Оно просто ни с чем не совпадает.
Если событие использует привязку клавиши проекта, проверьте, что привязка ещё существует. Когда привязку удаляют, событие перестаёт срабатывать. На «любую клавишу» оно не переключается.
Срабатывает дважды
Один и тот же триггер обрабатывается в двух местах: в событии и скрипте или в событии и патче. Оставьте что-то одно. См. События.
Объект появляется с задержкой
Ресурсы загружаются, когда сцена уже работает, поэтому модели, текстуры и текст могут появиться чуть позже, чем откроется сцена. Если контент должен быть на месте с первого кадра, избегайте больших загрузок или прячьте сцену, пока она не будет готова.
Нет события «анимация закончилась»
Такого события нет ни у одного инструмента анимации. Используйте шаг ожидания той же длины или отслеживайте время в скрипте.
Моя отмена убрала чужую правку
История отмены у каждого своя и откатывается строго по порядку. Она не знает, что коллега за это время поменял тот же объект. В общей сцене исправляйте ошибку новой правкой, а не отменой назад через неё.
Не нашли ответ?
Скорее всего, он есть на одной из этих двух страниц:
- Справочник — все настройки, всегда актуальные.
- Объекты и сцены — как устроен проект. На этом построено всё остальное в разделе.