Домой › Форумы › Проблемы и предложения › Камера за мышкой.
- В этой теме 25 ответов, 3 участника, последнее обновление 5 лет назад сделано vladimir1.
-
АвторСообщения
-
13 декабря, 2019 в 16:35 #15068vladimir1Участник
Добрый день.возникли проблемы. Сцену прикладываю
Проблема в рывках и дерганиях камеры.17 декабря, 2019 в 08:56 #15083vladimir1УчастникДобрый день, помогите пожалуйста разобраться, хочу получить подобный эффект
https://cdn.soft8soft.com/demo/examples/index.html#webgl_lines_colors
слежения камеры за мышкой. Попробовал через пазлы, не получается, что я делаю не так. Если нельзя пазлами, то как реализовать это через js, я ни разу не программер, пробовал вставлять команды из примера по ссылке после function runCode(app) {
// add your code here, e.g. console.log(‘Hello, World!’);
ни чего не сработало)))
И возможно ли что бы камера при этом могла по прежнему вращаться вокруг объекта.19 декабря, 2019 в 09:47 #15095vladimir1УчастникДобрый день, похоже веду диалог сам с собой, что не есть хорошо))).
Со слежением камеры немного разобрался, то что я хотел работает,
возникла следующая проблема.
Изначально камера смотрит на куб и следит за мышкой, после нажатия на куб камера должна переместиться в другое положение и смотреть на сферу.
Создал три камеры, кам1 следит за кубом и мышкой, кам2 для перемещения между кам1 и кам3 орбит для вращения вокруг сферы. Пазлами get.. присваиваю кам2 позицию кам1, делаю ее активной и пазлом twin cam.. перемещаю, и тоже в обратном порядке. После перемещения кам2 не принимает точные значения ни кам1 ни кам3, а после подлета еще меняет позицию. Подскажите что не так и как исправить положение.19 декабря, 2019 в 11:56 #15102Mikhail LuzyaninStaffСоздал три камеры, кам1 следит за кубом и мышкой, кам2 для перемещения между кам1 и кам3 орбит для вращения вокруг сферы. Пазлами get.. присваиваю кам2 позицию кам1, делаю ее активной и пазлом twin cam.. перемещаю, и тоже в обратном порядке. После перемещения кам2 не принимает точные значения ни кам1 ни кам3, а после подлета еще меняет позицию. Подскажите что не так и как исправить положение.
Приложите файлы приложения с логикой, будем смотреть.
Co-founder and lead graphics specialist at Soft8Soft.
19 декабря, 2019 в 12:13 #15108vladimir1Участникhttps://cloud.mail.ru/public/4JQ6/G3ibtJ3zi
Попутно еще вопросы. Хотелось бы увеличить амплитуду или угол поворота как будет точнее, для камеры слежения за мышкой, что бы камера больше поворачивала за объект, возможно ли это. А так же подскажите пожалуйста, как все же это можно решить кодом. Я посмотрел, что у кода куда больше возможностей, степеней контроля, а так как я совсем не программер не могу подступиться к нему, что то пытаюсь, но оно не работает для совмещения с Verge, а хотелось бы. Спасибо.
19 декабря, 2019 в 14:04 #15110Ivan LyubovnikovStaffПодскажите что не так и как исправить положение.
Там сразу несколько нюансов:
1) В паззл “set active camera” нужно подавать паззл объекта-камеры, а там сейчас переменные со списком координат – Camera002 и Camera002_1 – так не сработает.
2) Ещё благодаря вашей демке попутно выявился баг в движке, связанный с тем, что сразу после завершения tween-анимации камера может дернуться один раз из-за рассинхрона с отрисовкой очереднного кадра, но мы его сейчас пофиксили и в ближайшее время (возможно, сегодня) будет новый релиз, включающий этот фикс.
3) Ещё проблема в том, что камера “Camera” обновляет свою позицию постоянно каждый кадр, даже когда активна другая камера. В результате при срабатывании tween-паззла, например, из Camera.001 в Camera, финальная позиция, куда будем перемещаться, определяется из текущих на данный момент координат Camera, но в процессе Camera сама тоже продолжает двигаться и в итоге эти позиции не совпадают. Тут можно пофиксить включая/отключая логику слежения Camera когда переключаемся в/из неё, например, через спец. переменную.Получилось как-то так:
Вложения:
Вы должны войти для просмотра вложений.Co-founder and lead developer at Soft8Soft.
19 декабря, 2019 в 14:09 #15113Ivan LyubovnikovStaffВот, если что ссылка на сохраненный visual_logic.xml файл, можете кинуть в папку с приложением, чтобы вручную не настраивать все паззлы: visual_logic.xml
Co-founder and lead developer at Soft8Soft.
19 декабря, 2019 в 14:22 #15115vladimir1УчастникСпасибо огромное, а то я уже который день зависаю с этой проблемой)).
Сейчас попробую. А по поводу увеличения угла поворота камеры, не получится?
И еще по поводу js кода. Как к нему подобраться) Пытался брать коды с примеров, ссылку на пример скидывал, но не могу вникнуть в суть применения его к объектам в сцене. Мне бы волшебного пенделья для понимания)))) А там полегче пойдет). Надеюсь))19 декабря, 2019 в 14:34 #15116vladimir1УчастникИван, тут проблемка, скинул HTML и у меня в пазлах пусто и сцена через пазлы пустая?
19 декабря, 2019 в 15:47 #15118Ivan LyubovnikovStaffда, извиняюсь, вот исправленная версия файла: visual_logic.xml
Co-founder and lead developer at Soft8Soft.
19 декабря, 2019 в 15:52 #15119vladimir1УчастникСпасибо, я уже починял и пересобрал. Все работает, но да есть глюк, при переходе в конце небольшой скачек, рассинхрон.
19 декабря, 2019 в 16:05 #15120vladimir1УчастникСейчас камера при повторном переходе от куба к сфере принимает измененную позицию после вращения камеры (Camera.001), а необходимо, что бы камера (Camera.001) возвращалась в первоначальное положение.
19 декабря, 2019 в 16:17 #15122Ivan LyubovnikovStaffИ еще по поводу js кода. Как к нему подобраться) Пытался брать коды с примеров, ссылку на пример скидывал, но не могу вникнуть в суть применения его к объектам в сцене. Мне бы волшебного пенделья для понимания)))) А там полегче пойдет). Надеюсь))
Ну, тут не так все просто, примеры -это адаптированные демки из three.js, на основе которого построен verge3d. И там в каждом примере многое делается вручную кодом – от создания сцены и объектов до настройки событий браузера, анимации, обновления сцены и т.д.
А если создаете приложение через Verge3D App Manager, то там очень многое делается автоматом – и загрузка экспортированной сцены и всякие настройки, в том числе и конкретная модель управления камерой. После создания в папке проекта будет файл ИМЯ_ПРОЕКТА.js, в котором есть функция runCode(). Она вызывается после того, как приложение загрузится с базовыми настройками. Туда же и можно вставлять дополнительный код. Но весь код из примеров туда вставлять не нужно, т.к. большая часть кода – это как раз настройка сцены вручную. Самая сложность это выдрать оттуда только то, что нужно. И в каждом случае оно по-своему, т.е. надо понимать, что там происходитCo-founder and lead developer at Soft8Soft.
19 декабря, 2019 в 16:21 #15123vladimir1УчастникДа именно про это я и спрашиваю. Я понимаю что все вставлять не надо. Я пытался как то адаптировать, но безуспешно)).
19 декабря, 2019 в 16:22 #15124Ivan LyubovnikovStaffСейчас камера при повторном переходе от куба к сфере принимает измененную позицию после вращения камеры (Camera.001), а необходимо, что бы камера (Camera.001) возвращалась в первоначальное положение.
А, это я в паззлах tween поменял объект в слоте “position of”. Там раньше были, по-моему Empty. Можете вернуть их обратно, но тогда внутри tween в “set active camera” все равно в конце будет прыгать в измененную позицию камеры Camera.001, т.к. она нигде не восстанавливается, т.е. её нужно обратно возвращать, например, когда мы из неё переключаемся в перед tween.
Co-founder and lead developer at Soft8Soft.
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.