微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用灯光效果和透视相机时窗格切断

如何解决使用灯光效果和透视相机时窗格切断

我还遇到了 javaFX 灯光效果的另一个问题。在 2D 世界中使用透视相机跟随玩家时,一切正常,直到我添加灯光效果

青色代表背景。当灯光效果打开时,关卡窗格不会在场景边缘渲染,而是可以看到背景。这使得我的关卡的底部和右侧不可见,因此无法播放。在全屏模式下更糟!

这是我的演示代码

import javafx.application.Application;
import javafx.scene.PerspectiveCamera;
import javafx.scene.Scene;
import javafx.scene.effect.Light;
import javafx.scene.effect.Lighting;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class dd extends Application {

PerspectiveCamera cam = new PerspectiveCamera(false);

public void start(Stage alku) throws Exception {
    Pane testpane = new Pane();

    Rectangle background = new Rectangle(500,500);
    background.setFill(Color.CYAN);

    Rectangle rec = new Rectangle(500,300);

    Lighting lig = new Lighting();
    Light.Point l = new Light.Point();
    l.setX(200);
    l.setY(150);
    l.setZ(20);
    l.setColor(Color.WHITE);
    lig.setLight(l);

    rec.setFill(Color.RED);

    testpane.getChildren().addAll(background,rec);

    Scene scene = new Scene(testpane,300,300);
    cam.setTranslateX(30);
    cam.setTranslateY(30);

    alku.setTitle("TEST");
    alku.setScene(scene);

    rec.setEffect(lig);
    scene.setCamera(cam);
    alku.show();

}

public static void main(String[] args) {

    launch(args);
}

}

如果您移除相机或灯光,“rec”将再次正常渲染。只需调整窗口大小即可更好地查看问题。 所以我的主要问题是: 这是一个错误吗?如果没有,如何在不牺牲灯光和相机的情况下解决这个渲染问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。