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

Приближение и отдаление камеры с помощью кнопок

Домой Форумы Пазлы Приближение и отдаление камеры с помощью кнопок

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

    Есть задача, реализовать приближение и отдаление камеры через кнопочки в интерфейсе (+ и -). Как это сделать правильнее всего и в идеале через паззлы? Есть идея после нажатия определять позицию камеры и путем векторных вычислений переназначать координаты камеры на новые, приближая к центру координат. Но что то это больно мудрено. Есть ли более простые способы?

    #15096
    vladimir1
    Участник

    Ребята, извиняюсь что суюсь в ваш пост. Что-то разработчики потерялись, а я смотрю что у вас вопрос тоже по камере (я свой вопрос оставлял в проблемах и предложениях). Может вы сталкивались с такой же проблемой как у меня и сможете подсказать решение? Спасибо.

    #15097
    CyberFox
    Customer

    Исходя из Вашего описания проблемы сложно сказать как ее решить. Нужно сохранить пропорции или конкретное положение камеры?

    Можно к примеру попробовать задать фиксированный размер Canvas , тогда прям железно будет прибито и тянуться не будет.
    Или к примеру в зависимости от размера экрана и его пропорции менять позицию через теже паззлы. То есть узнаем width и height и через set positon устанавливаем камеру.
    Хорошо бы на проект взглянуть, а там уже решение придумывать.

    Кстати, жизненно необходимы пазлы, которые будут задавать лимиты камеры.

    #15101

    Что-то разработчики потерялись

    Заняты вплотную релизом.

    Co-founder and lead graphics specialist at Soft8Soft.

    #15104

    Есть задача, реализовать приближение и отдаление камеры через кнопочки в интерфейсе (+ и -). Как это сделать правильнее всего и в идеале через паззлы?

    Можно использовать паззл change_local_transform, который изменяет локальное положение объекта. Например, вот так камера будет двигаться вдоль направления, по которому смотрит: zoom.png

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

    Co-founder and lead developer at Soft8Soft.

    #15109

    Кстати, жизненно необходимы пазлы, которые будут задавать лимиты камеры.

    Тут сильно зависит от типа камеры и что конкретно нужно реализовать. Могут подойти паззлы констрейнтов из вкладки Physics, такие как limit_transform и copy_transform – они общего назначения для любых объектов и аналогичны констрейнтам Блендера, но их можно использовать и с камерой.
    Но для управления конкретными моделями поведения как Orbit или Flying паззлов нет, сейчас можно только через js апи ими управлять.

    Co-founder and lead developer at Soft8Soft.

    #15127
    CyberFox
    Customer

    Спасибо. Как всегда решение на поверхности)

    #18546
    Алексей
    Customer

    Добрый день.
    Можно ли попросить более подробную инструкцию для управления зумом у ортогональной камеры Orbit? Хотелось бы реализовать алгоритм с помощью пазлов. Пазл change_local_transform здорово помог бы, если бы использовалась перспективная камера…

    Min Zoom, Max Zoom
    «Зум» ортографической камеры. В терминах «Вердж3Д», «зум» ортографической орбитальной камеры обозначает «сделать объём камеры больше-меньше». Сама камера при этом не перемещается.

    В терминах «Вердж3Д» нужно изменять «объём камеры»

    #18550
    Алексей
    Customer

    Нашел следующий способ для изменения зума! Как бы сделать зумирование более плавным…

    Вложения:
    Вы должны войти для просмотра вложений.
    #18552
    kdv
    Участник

    Как то так

    https://v3d.net/hkt

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

    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.

    #18554
    Алексей
    Customer

    Как этот код должен работать в вашем приложении?

    #18555
    kdv
    Участник

    NumPad+ для приближения, или NumPad- для отдаления. как в ТЗ из первого поста )))

    а приложение – эт “шедевр” какого то зарубежного товарища. я его только использовал как подопытного кролика для создания алгоритма ограничения панинга для орто камеры…

    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.

    #18556
    Алексей
    Customer

    Понял, спасибо, не признал коды клавиш.
    Тяжеловатое приложение у товарища.

    #18557
    kdv
    Участник

    Тяжеловатое приложение у товарища.

    не то слово ))) ~4гб видео памяти на несколько зданий – эт перебор ))) взято отсюда

    How to limit the camera panning

    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.

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