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