Как правильно сделать «Hover» камеру?

Домой Форумы Для программистов Как правильно сделать «Hover» камеру?

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #15381
    webglwebgl
    Лицензиат

    Попробовал сделать такую камеру с LimitLocationConstraint, технически всё как надо, но по факту констрейнты имеют инерцию при столкновении с границей лимита, и в условиях когда я зажимаю лимиты камеры и таргета по оси Y, и камера смотрит под углом то камеру сильно трясёт от постоянного отыгрывания инерции столкновения.
    В общем то вопрос в том есть ли какие то решения или надо просто конвертировать скринспейс в нужную плоскость (как в таком случае сохранить инерции как в controls при движении, их надо будет воссоздать)?

    • Тема изменена 2 месяца назад пользователем webglwebgl.
    #15387
    Ivan LyubovnikovIvan Lyubovnikov
    Разработчик

    Там, скорее всего, модель движения камеры конфликтует с лимитами, поэтому и происходит тряска.

    В общем то вопрос в том есть ли какие то решения или надо просто конвертировать скринспейс в нужную плоскость (как в таком случае сохранить инерции как в controls при движении, их надо будет воссоздать)?

    Можно использовать оригинальный MapControls из примеров, отсюда: https://github.com/Soft8Soft/verge3d-code-examples/blob/master/js/controls/MapControls.js

    И потом в js файле, после загрузки сцены, сменить тип контролов, например, в runCode:

    
    function runCode(app) {
        if (app.controls) {
            app.controls.dispose();
        }
        app.controls = new v3d.MapControls(app.camera, app.renderer.domElement);
    }
    
    • Ответ изменён 2 месяца назад пользователем Ivan LyubovnikovIvan Lyubovnikov.

    Co-founder and lead developer at Soft8Soft.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)

Для ответа в этой теме необходимо авторизоваться.