Какие ключи используются для перемещения при использовании KeyNavigatorBehavior? Как мне их установить? - PullRequest
0 голосов
/ 20 июня 2019

Я кое-что узнал о Java3D, и мне стало интересно, как перемещаться по камере с помощью нажатия клавиш. Я нашел KeyNavigatorBehavior и настроил его, просто нет ключа, делающего что-либо. Как правильно использовать это поведение?

Здесь я получил свой метод установки поведения:

protected BranchGroup buildViewBranch(Canvas3D c) {

        BranchGroup viewBranch = new BranchGroup();
        Transform3D viewXfm = new Transform3D();

        viewXfm.set(new Vector3f(0.0f, 0.0f, 10.0f));

        TransformGroup viewXfmGroup = new TransformGroup(viewXfm);

        viewXfmGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
        viewXfmGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);

        BoundingSphere movingBounds = new BoundingSphere(new Point3d(0.0, 0.0,0.0), 100.0);

        BoundingLeaf boundLeaf = new BoundingLeaf(movingBounds);
        ViewPlatform myViewPlatform = new ViewPlatform();

        viewXfmGroup.addChild(boundLeaf);

        PhysicalBody myBody = new PhysicalBody();
        PhysicalEnvironment myEnvironment = new PhysicalEnvironment();

        viewXfmGroup.addChild(myViewPlatform);
        viewBranch.addChild(viewXfmGroup);

        View myView = new View();

        myView.addCanvas3D(c);
        myView.attachViewPlatform(myViewPlatform);
        myView.setPhysicalBody(myBody);
        myView.setPhysicalEnvironment(myEnvironment);

        KeyNavigatorBehavior keyNav = new KeyNavigatorBehavior(viewXfmGroup);

        keyNav.setSchedulingBounds(movingBounds);
        viewBranch.addChild(keyNav);

        return viewBranch;

    }

Вот строки, устанавливающие VirtualUniverse:

        group = new BranchGroup();

        VirtualUniverse universe = new VirtualUniverse();

        Locale locale = new Locale(universe);
        locale.addBranchGraph(this.buildViewBranch(canvas));
        locale.addBranchGraph(group);

1 Ответ

0 голосов
/ 21 июня 2019

Я нашел ответ сам:

Вы должны активировать KeyboardMouse ( Alt + Shift + Num ) и деактивировать numlock:

Клавиши: стрелки + страница вверх / вниз (также на numlock)

...