【发布时间】:2016-04-18 14:04:10
【问题描述】:
如何在 javafx 中创建 3d 对象的阴影? 我尝试用
创建Parent root2 = FXMLLoader.load(getClass().getResource("ball.fxml"));
Shadow shadow = new Shadow();
root2.setEffect(shadow);
结果如下:
有人可以帮我创建 3d 对象的阴影吗? 谢谢!
【问题讨论】:
如何在 javafx 中创建 3d 对象的阴影? 我尝试用
创建Parent root2 = FXMLLoader.load(getClass().getResource("ball.fxml"));
Shadow shadow = new Shadow();
root2.setEffect(shadow);
结果如下:
有人可以帮我创建 3d 对象的阴影吗? 谢谢!
【问题讨论】:
JavaFX 中的Shadow 效果用于实现二维对象的drop shadow 样式效果;它不会为 3D 对象创建适当的阴影效果,也不是为此目的而构建的。
核心 JavaFX 8 3D API 没有内置方法来支持为 3D 对象生成阴影效果。
您可以阅读 various techniques for implementing shadows for 3D objects 并尝试根据 Java 8 3D API 提供的图形基元来实现适当的算法。这样做可能是 IMO 一项相当艰巨的任务。
如果 3D 对象的阴影对您来说很重要,您可能希望考虑替代 3D API that provides a greater degree of 3D shadow support。
【讨论】: