javafx 3d Meshview旋转

标签 java javafx javafx-3d

我想旋转电机的轴,但未能获得所需的行为。

motor model

我得到的轮换就是这个。

motor model

这是我正在使用的代码,其中shaft是我想要旋转的MeshView:

    Model3D motor = new Model3D("motor.obj");

    Map<String, MeshView> meshMapMotor = motor.getMapMeshes();
    Pane gpMotor = new Pane();

    for (Map.Entry<String, MeshView> entry : meshMapMotor.entrySet()) {
        String key = entry.getKey();
        MeshView value = entry.getValue();
        Rotate rot = new Rotate(180);
        rot.axisProperty().set(Rotate.Y_AXIS);
        value.getTransforms().add(rot);
        gpMotor.getChildren().add(value);
        System.out.println("name: " + key);

        if (key.equals("default (3)")) {
            shaft = value;
        }
    }
    gpMotor.setTranslateZ(7);
    Rotate rot = new Rotate(1);
    rot.axisProperty().set(new Point3D(0, 0, 1));
    shaft.getTransforms().add(rot);

    if (shaft != null) {
        KeyFrame shaftFrame = new KeyFrame(Duration.millis(100), new KeyValue(rot.angleProperty(), 360));
        motorRunning = new Timeline(shaftFrame);
        motorRunning.setCycleCount(Timeline.INDEFINITE);
        motorRunning.play();

    }

最佳答案

   Rotate rot = new Rotate(1);
    //rot.axisProperty().set(new Point3D(0, 0, 0));
    rot.setPivotX(0);
    rot.setPivotY(1.4);
    rot.setPivotZ(0);

这成功地显示了我想要的效果。

关于javafx 3d Meshview旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35852007/

相关文章:

java - 输入输出API

java - HotswapAgent org.hotswap.agent.command.ReflectionCommand异常的原因?

java - maven多模块项目中的循环引用。我能做什么来修复它

multithreading - 无并发更改游标

java - 从命令提示符转变为 Netbeans

JavaFX 最小化未修饰阶段

java - 有没有办法在 JavaFX Webview 中指定用户代理样式表?

javafx - 在 JavaFX 3D 中删除对象时出现内存泄漏

JavaFX 3D 着色面...再次

javafx - 在 JavaFX 中使用 2D 文本到 3D 场景中会导致文本模糊