Мы используем файлы 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

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

    Soft8Soft Tech Chief
    X | FB | LinkedIn

    #18058
    quasar
    Customer

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

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

    #18059
    quasar
    Customer

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

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

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

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

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

    #18061
    kdv
    Участник

    Лаг имеет место быть, когда несколько 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 неоптимизированный по причине того, что неизвестно какая геометрия будет у объекта в момент щелчка мышки…

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

    Puzzles and JS coding. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.

    #18065
    quasar
    Customer

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

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

    #18066
    kdv
    Участник

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

    Puzzles and JS coding. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.

    #18067
    kdv
    Участник

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

    Puzzles and JS coding. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.

    #18069
    quasar
    Customer

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

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

    #18070
    kdv
    Участник

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

    Puzzles and JS coding. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.

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