Мы используем файлы cookie, чтобы упростить навигацию на этом сайте. Если вы даете свое согласие на использование файлов cookie и обработку ваших персональных данных, нажмите «Принимаю».

when clicked и shape key – конфликт

Домой Форумы Проблемы и предложения when clicked и shape key – конфликт

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)
  • Автор
    Сообщения
  • #18045
    quasar
    Customer

    На объекте А есть шейпкеи, а в пазлах у меня есть обработчик when clicked, который обращается вообще к другому объекту Б, но при нажатии на объект А идет просадка fps или какое то дергание, именно в момент отпускания мыши или пальца, т.к. у меня скролл приложение. Так происходит только с объектом у которого есть шейпкеи. Если удалить шейпкеи или удалить пазл when clicked то все в порядке. Видео прикрепил ниже.

    https://disk.yandex.ru/i/fuYj6qhT2zrFMw – видео процесса

    https://inpretium.com - интерактивные решения

    #18057

    Добрый день!
    А может такое быть что он морфит геометрию в этот момент?

    Verge3D’s Tech Chief
    FB | Twitter | VK

    #18058
    quasar
    Customer

    Я ещё не писал логику по управлению морфинга. Я сделал в блендере сами шейпкеи, но до логики их задействования в пазлах не дошел. Поэтому это исключено. Пазлы чистые. Обработчика клика нет на этом объекте.
    Могу отправить проект приватно. Не хочу публично.

    https://inpretium.com - интерактивные решения

    #18059
    quasar
    Customer

    Сейчас сделал эксперемент: Взял проект Follow Path, добавил в сцену сферу, накинул сабдив на сферу в несколько итераций. Итого сфера в 30к полигонов.Добавил сфере шейпкей, просто без изменений геометрии.

    Добавил впазлы пустой обработчик when clicked на несколько объектов, но не на сферу. У вуаля – лаг огромный именно при отпускании мыши на этой сфере. На любых других объектах все хорошо. Но на сфере есть шейпкей и вот это влияет как то. Очень странный баг, и странно, что его до сих пор никто не заметил.

    Версия Verege3d – 4.1.1 для блендера.

    Вложения:
    Вы должны войти для просмотра вложений.

    https://inpretium.com - интерактивные решения

    #18061
    kdv77kdv
    Участник

    Лаг имеет место быть, когда несколько reycaster “стреляеют” через сферу с shape keys.
    Время выполнения команды raycaster.intersectObjects(objList, false); возрастает раз в 40-50.

    В конечном итоге, лагает вот эта функция в v3d.js
    origMeshRaycastFunc.call(this, raycaster, intersects)

    P.S. Ищем в v3d.js функцию _updateMeshesRaycastFromGLTF, из нее удаляем 0!==Object.keys(t.morphAttributes).length|| и лаг уйдет. НО это приведет к тому, что при применении морфинга raycaster будет находить объект ТОЛЬКО рамках изначальной геометрии.

    Очень странный баг, и странно, что его до сих пор никто не заметил.

    собсно, это и не баг, а фича. так задумано, судя по коду. рейкастинг у объектов с shape keys неоптимизированный по причине того, что неизвестно какая геометрия будет у объекта в момент щелчка мышки…

    Вложения:
    Вы должны войти для просмотра вложений.
    #18065
    quasar
    Customer

    В очередной раз спасибо. Фичей не могу назвать это, тк реально эта проблема рушила все планы по проекту.

    https://inpretium.com - интерактивные решения

    #18066
    kdv77kdv
    Участник

    даж тормознутый редми 7а не настолько тормознут, как “low-end mobile” профиль в хроме ))) и он не замечает этот лаг вообще. у него проблема производительностью видео, а с процессором щас у любого бюджетника все в порядке. это чисто математика на CPU. на старом айфоне SE тоже практически незаметен лаг. это при том, что “стреляет” 5 raycasters одновременно.

    #18067
    kdv77kdv
    Участник

    Чтоб не кромсать v3d.js лишний раз, можно воспользоваться скриптом

    Вложения:
    Вы должны войти для просмотра вложений.
    #18069
    quasar
    Customer

    Чем больше обработчиков клика и чем больше полигонов в модели, тем больше лаг. У меня 30к объект и три обработчика клика. Тормозит на oneplus 5t и даже немного на iphone 13

    https://inpretium.com - интерактивные решения

    #18070
    kdv77kdv
    Участник

    странненько. у меня сфера на 60к и 5 обработчиков клика и не тормозит. если не включать тормознутый профиль на ПК, то разница во времени обработки не в 40-50 раз, а всего лишь в 5-6… ну, в любом случае, эт можно подправить, если не устраивает )))

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)
  • Для ответа в этой теме необходимо авторизоваться.