这一节中,我们将会讲述 JavaFX 3D API中的材质。
Material材质中包含了一系列的渲染属性。下面我们来看看它的类结构。
java.lang.Object javafx.scene.paint.Material (abstract) javafx.scene.paint.PhongMaterial
PhongMaterial类提供了材质着色的一系列属性的定义。
这里就不做解释了,主要是Shader中的一些什么高光,自发光等的Shader效果。具体请自行查阅相关资料。
Materials是可以在多个Shape3D的节点共用的。
下面我们来看看,如何创建一个材质,并设置属性然后应用到我们的3D物体上。
//创建材质 Material mat = new PhongMaterial(); Image diffuseMap = new Image("diffuseMap.png"); Image normalMap = new Image("normalMap.png"); // 设置材质属性 mat.setDiffuseMap(diffuseMap); mat.setBumpMap(normalMap); mat.setSpecularColor(Color.WHITE); // 应用到Shape3D上 shape3d.setMaterial(mat);
这样我们就可以将材质应用到我们的3D物体上了。当然,由于JavaFX 3D还是在开发中的API。材质属性跟Unity3D相比还是差太多(不算Unity3D的插件)。
所以现阶段,只做研究,不应该考虑用JavaFX 3D来进行开发。
本博客文章原创类别的均为个人原创,版权所有。转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http://www.wjfxgame.com。