Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (3)

Лучшие ответы пользователя

Все ответы (2)
  • Какая минимальная конфигурация ноутбука для программирования?

    @t_s_o
    Лично я в путешествиях/в дороге пользуюсь Chuwi Minibook X - сравнительно дешёвый китаец на Intel N100 с 12 гб DDR5. Его вполне хватает для .NET/Unity, плюс спокойно тянет ФШ и Solidworks 2022+ (2014 притормаживает, видимо вопрос оптимизации). Естественно это всё лучше не запускать одновременно, да и будет заметно греться при работе. При этом всякие браузеры-ютубы и тд вообще без проблем работают.
    Короче если говорить о современных бюджетниках - я бы смотрел в сторону Intel N100 с Full HD экраном (QHD ему уже тяжеловато, говорят), SSD 256-512 и DDR5 памятью сколько дадут (но лучше больше 8, конечно). Лично меня в рамках своего бюджета (~25к на тот момент) этот ноут сильно удивил. Но вообще сейчас на рынке хватает ноутов разных производителей на N100 (в том числе дешевле), главное чтобы DDR5 было
    Ответ написан
    Комментировать
  • Как исправить ошибку?

    @t_s_o
    Оставлю здесь комплексный ответ, основанный как на материалах чата разработчиков Яндекс.Игр, так и на моём собственном опыте решения этой проблемы.

    Сама по себе эта ошибка может возникать из-за огромного количества причин, поэтому для начала необходимо сузить круг поиска. Для этого в настройках Project Settings > Player > WebGL Settings > Publishing Settings установите следующее значение:

    6501adceb76c7773932768.jpeg
    После этого забилдите проект и воспроизведите ошибку. Билд займёт больше времени, чем обычно, но все возникающие в рантайме ошибки теперь будут давать больше информации.

    В моём случае всплывающее окно с ошибкой вообще перестало появляться, но игра стала работать некорректно, а в консоли браузера появился стактрейс с указанием на название конкретного метода, вызывавшего ошибку. Это был обычный NullPointerException, ошибка возникала из-за попытки вызвать метод у объекта, который в билде становился null (а в Editor-е - нет).

    Также привожу цитату из телеграм-чата разработчиков Яндекс.Игр:

    Ошибка "RuntimeError: null function or function signature mismatch" в 3D Unity WebGL обычно возникает, когда функция, которая вызывается или используется в коде, не определена или имеет неправильную сигнатуру (неправильное количество аргументов или типы аргументов не соответствуют ожидаемым). Это может произойти, например, если вы пытаетесь вызвать функцию, которая не была правильно объявлена или имеет опечатки в имени. Чтобы исправить эту ошибку, выполните следующие шаги:
    Проверьте правильность написания функции и ее сигнатуры. Убедитесь, что функция правильно объявлена и имена аргументов соответствуют ожидаемым.
    Убедитесь, что все функции, которые вызываются, действительно существуют и доступны в момент вызова. Если функция определена в другом скрипте, убедитесь, что этот скрипт загружен перед использованием функции.
    Проверьте, нет ли опечаток или ошибок в других частях кода, которые могут привести к этой ошибке.
    Если вы используете сторонние библиотеки или плагины, убедитесь, что они правильно подключены и совместимы с вашей версией Unity WebGL.
    При необходимости проверьте журналы или консоль разработчика браузера для получения дополнительных подробностей об ошибке.


    Я бы обобщил суть проблемы: ошибка возникает, когда код в билде работает некорректно, а его поведение не соответствует поведению в Editor-е. Причём проблема может быть не только в вызове несуществующих функций, но и вообще NullPointerException - необходимо включить опцию Full With Stacktrace и разбираться.

    После решения проблемы эту опцию необходимо выключить - она увеличивает время билда и негативно влияет на производительность игры. Да и вообще нужна только для дебага.
    Ответ написан
    1 комментарий