3d对象的阴影在javafx

时间:2016-04-18 14:04:11

标签: java javafx 3d

如何在javafx中创建3d对象的阴影? 我试着用

创建
Parent root2 = FXMLLoader.load(getClass().getResource("ball.fxml"));

Shadow shadow = new Shadow();

root2.setEffect(shadow);

结果如下:

Without shadow

With shadow

有人可以帮我创建3d对象的阴影吗? 谢谢!

1 个答案:

答案 0 :(得分:3)

JavaFX中的Shadow效果用于为2D对象实现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