У меня есть сцена внутри TransformGroup, которая позволяет мыши масштабировать / поворачивать / панорамировать.
Мне нужно установить положение камеры достаточно далеко, чтобы я мог видеть всю сцену, что я делаю с помощью следующего кода:
// Position the position from which the user is viewing the scene
ViewingPlatform viewPlatform = universe.getViewingPlatform();
TransformGroup viewTransform = viewPlatform.getViewPlatformTransform();
Transform3D t3d = new Transform3D();
viewTransform.getTransform(t3d);
t3d.lookAt(new Point3d(0,0,50), new Point3d(0,0,0), new Vector3d(0,1,0));
t3d.invert();
viewTransform.setTransform(t3d);
Выполнение вышеуказанного кода работает в том смысле, что я могу манипулировать сценой с помощью мыши. Однако, если я поменяю эту строку:
t3d.lookAt(new Point3d(0,0,50), new Point3d(0,0,0), new Vector3d(0,1,0));
с:
// Change value from 50 to 90 to push the camera back further
t3d.lookAt(new Point3d(0,0,90), new Point3d(0,0,0), new Vector3d(0,1,0));
Я теряю способность манипулировать экраном с помощью мыши.
Как я могу сохранить способность трансформироваться с помощью мыши, одновременно толкая камеру назад, чтобы я мог видеть весь экран?
Большое спасибо заранее!