Сброс положения камеры и логика плеера
16 августа 2016 11:57
Здравствуйте.
Ситуация такая.
С помощью объекта, нодов-логики и пару "пустышек" легко сделать "сброс камеры в начальное положение".
Но, в плеере есть такая замечательная кнопка "ротация". То есть, если человек нажмёт авто-ротацию, то "кнопка сброса положения камеры" конечно будет работать, но и поворот камеры не прекратится.
Что-то в нодах-логики нет ничего похожего, чтобы остановить это вращение. (А было-бы неплохо)
Напрашивается js callback ? Правильно понимаю, что надо писать внешний сценарий?
Спасибо.
Ситуация такая.
С помощью объекта, нодов-логики и пару "пустышек" легко сделать "сброс камеры в начальное положение".
Но, в плеере есть такая замечательная кнопка "ротация". То есть, если человек нажмёт авто-ротацию, то "кнопка сброса положения камеры" конечно будет работать, но и поворот камеры не прекратится.
Что-то в нодах-логики нет ничего похожего, чтобы остановить это вращение. (А было-бы неплохо)
Напрашивается js callback ? Правильно понимаю, что надо писать внешний сценарий?
Спасибо.
16 августа 2016 14:26
Добрый день.
Web Player - это тоже приложение со своей собственной логикой, которую совсем выключить не получится. Нужно понимать, какой итоговый результат вы хотите получить.
Если вам нужен весь интерфейс Web Player, и не хочется мириться с auto-rotate, то в любом случае придется написать несколько строчек кода, убрав из приложения этот функционал авто-поворота и пересобрав Web Player.
Если же интерфейс вас не волнует, то вы можете просто создать приложение пустышку через Project Manager. В этом случае вы получите "голое" приложение, которое только подключает возможность управления камерой, что тоже можно отключить, убрав строку:
Web Player - это тоже приложение со своей собственной логикой, которую совсем выключить не получится. Нужно понимать, какой итоговый результат вы хотите получить.
Если вам нужен весь интерфейс Web Player, и не хочется мириться с auto-rotate, то в любом случае придется написать несколько строчек кода, убрав из приложения этот функционал авто-поворота и пересобрав Web Player.
Если же интерфейс вас не волнует, то вы можете просто создать приложение пустышку через Project Manager. В этом случае вы получите "голое" приложение, которое только подключает возможность управления камерой, что тоже можно отключить, убрав строку:
m_app.enable_camera_controls();
16 августа 2016 14:51
Ответ на сообщение пользователя Евгений Родыгингм…
Добрый день.
Web Player - это тоже приложение со своей собственной логикой, которую совсем выключить не получится. Нужно понимать, какой итоговый результат вы хотите получить.
…
Я не против авто-поворота. Это даже удобно, кликнул и моделька вращается. Пусть будет!
Суть в том, что хочу изменить одни модели на другие, но предварительно выключив авторотацию и вернуть камеру в "нулевое положение".
В логике нодов: Еntry Point - Switch Select - Move Camera , не хватает Еntry Point - Switch Select - webpleer (autorotation - stop) - Move Camera.
Можно-ли вместо несуществуещего "webpleer" воспользоваться нодой " js callback" и… если можно примерным кодом.
16 августа 2016 18:10
Можно-ли вместо несуществуещего "webpleer" воспользоваться нодой " js callback" и… если можно примерным кодом.Для использования ноды js callback нужно так или иначе иметь кастомное приложение. Использовать её в стандартном Web Player-е не получится. То есть, в вашем случае необходимо изменить приложение лежащее в папке: apps_dev/webplayer/webplayer.js, добавив нём вызов функции append_custom_callback. Сделать это нужно до инициализации движка, перед вызовом m_app.init(). Выглядеть это будет примерно так:
m_logic_nodes = require("logic_nodes"); // этот модуль необходимо подключить
function custom_cb() { // ваш коллбэк
m_camera_anim.stop_cam_rotating();
}
exports.init = function() { // эта функция уже объявлена в Web Player
...
m_logic_nodes.append_custom_callback(1, custom_cb) // вы сможете обращаться к коллбэку по id = 1
m_app.init(....
...
}
После этого вам нужно будет пересобрать Web Player через Project Manager.