个人理财 在构建3D Java世界的三个步骤 - 傻瓜

在构建3D Java世界的三个步骤 - 傻瓜

目录:

视频: Leap Motion SDK 2025

视频: Leap Motion SDK 2025
Anonim

在几个简短的步骤中,您可以开始在JavaFX中创建一个相对简单的3D程序来显示三维世界(下面显示了一个示例) 。正如你所看到的,这个3D空间包括四个形状:一个球体,一个立方体,一个圆柱体和一个金字塔。这个简短的清单显示了如何开始使用气瓶。因为这个例子技术性很强,很多关于构建3D世界的概念都会让人困惑,特别是如果这是你第一次使用3D编程的经验。

<! --1 - >

JavaFX中的3D示例程序。

第一步:添加一个圆柱体

在这个步骤中,添加一个基本的3D对象到你的世界。 JavaFX提供了三种可以添加的基本形状:圆柱体,方框和球体。开始添加一个圆柱体:

圆柱体圆柱体=新圆柱体(100,50);根。的getChildren()。添加(气缸); Cylinder类的构造函数接受两个参数:圆柱的半径和高度。这个例子创造了一个大概四倍于高的曲棍球形状的圆柱体;然后,它将圆柱体添加到场景的根节点。


此时,气缸存在于世界中,但是不可见。根据你所知道的二维形状,你可能会试图通过添加填充颜色(setFill)或描边颜色(setStroke)来使其可见。但这不是3D对象的工作方式。在下一步中,您会发现如何将材料应用到圆柱体的表面,以便在场景中可见。

第二步:创建一个材质

渲染3D对象的面要比渲染平面的二维对象复杂得多。对于2D对象,只需通过setFill方法应用Paint对象。油漆可以是简单的颜色,渐变的颜色或图像。

对于3D对象,您不使用绘画。而是应用一个名为

Phong材质

的特殊对象,由PhongMaterial类表示。 Phong的材料(以20世纪70年代计算机图形专家Bui Tuong Phong的名字命名)为3D对象的面部逼真渲染提供了手段。 以下代码根据两个蓝色阴影创建一个简单的Phong材质,然后将材质应用于圆柱体: PhongMaterial blueStuff = new PhongMaterial(); blueStuff。 setDiffuseColor(Color。LIGHTBLUE); blueStuff。 setSpecularColor(Color。BLUE);圆筒。 setMaterial(blueStuff);

在将Phong材料应用到气缸后,气缸将在现场内可见,如图所示。

与Phong材料的3D圆筒。

第三步:翻译圆柱

毫无疑问,圆柱看起来不是三维的。那是因为你正在边看着它:摄像机直接指向x轴和y轴的交点,而圆柱体则集中在那个点上。

要获得圆柱体的一些视角,可以通过平移x,y和z坐标将其移动到3D空间中的不同位置。例如:

圆柱体。 setTranslateX(-200);圆筒。 setTranslateY(200);圆筒。 setTranslateZ(200);

在此,气缸向左移动200个单位,向下移动200个单位,距离摄像机200个单位。所得到的视图看起来更像一个圆柱体,正如你在这里看到的。翻译的3D圆柱体。

在这个图中,看起来好像圆柱体已经向前旋转了,这样就可以看到一些顶面。但是,情况并非如此。实际上发生的事情是,你不再看着汽缸边缘。

相反,由于圆柱体在相机下方,因此您可以俯视它。因此,你可以看到一些顶面。你也从侧面看它,这就解释了为什么它看起来只是一个倾斜。

在构建3D Java世界的三个步骤 - 傻瓜

编辑的选择

在QuickBooks Online中使用批发帐单 - 虚拟

在QuickBooks Online中使用批发帐单 - 虚拟

QuickBooks Online为会计专业人员提供免费程序。您可以注册批发价格计划,也可以免费使用QBOA。如果你选择这样做(这是一个不错的选择!),你将需要知道如何管理的事情。从您的批发帐单订阅中删除客户有时候,事情并不是这样...

基于零基础的预算与QuickBooks 2012 - 傻瓜

基于零基础的预算与QuickBooks 2012 - 傻瓜

零基预算是一个非常有用和常用的预算策略在使用QuickBooks 2012之前,您应该先了解一下。基于零的预算与顶级预算相反。零基预算从下到上工作。零基预算始于个人收入,费用,资产,负债和所有者权益账户。它检查一个特定的...

在Sage Timeslips中10个有用的键盘快捷键 - 虚拟键盘

在Sage Timeslips中10个有用的键盘快捷键 - 虚拟键盘

键盘快捷键可以是Sage Timeslips 。启动或保存一张单据,将昨天,今天或明天的日期插入日期字段,并用一个或两个按键打开和关闭定时器。以下是十大最爱。按下它做什么Ctrl + N开始一个新的投票,而工作在...

编辑的选择

可以在Photoshop Elements 11中的任意形状图层上绘制多个图形 - 虚拟模型

可以在Photoshop Elements 11中的任意形状图层上绘制多个图形 - 虚拟模型

Photoshop Elements 11中创建的任何形状图层上的图形。您可以按照与选择相同的方式添加,减去,排除重叠和相交形状。请遵循以下步骤:创建第一个形状后,在工具选项:添加到形状区域中选择一个状态按钮:...

使用读卡器将图像下载到Mac上 - 傻瓜

使用读卡器将图像下载到Mac上 - 傻瓜

您的相机可能有一个USB端口,电缆,您可以使用下载您的图像。这种方法使用相机电池电力,也相当缓慢。如果您使用读卡器,则会更快地将图像存入计算机。如果您下载了大量的图像,请考虑购买FireWire读卡器; ...

在Photoshop Elements 10中创建形状图层后,在Photoshop Elements 10中绘制多个图形 - 虚拟形状

在Photoshop Elements 10中创建形状图层后,在Photoshop Elements 10中绘制多个图形 - 虚拟形状

可以在该图层上绘制其他形状。您可以按照与选择相同的方式添加,减去,重叠和相交形状。请记住,当您在元素中创建一个形状时,您正在创建一个基于矢量的元素。向量在数学上描述形状。 ...

编辑的选择

在您的IOS应用程序中添加模态视图 - 在iPhone和iPad上虚拟视图

在您的IOS应用程序中添加模态视图 - 在iPhone和iPad上虚拟视图

对于那些希望用户(或用户想要)在应用程序流之外执行某些操作的情况非常适用。而不是使用带有后退按钮的导航控制器,而是显示一个模式视图,其中的控件允许用户选择一个动作或...

Android应用程序开发:你的Twitter应用程序的文件 - 傻瓜

Android应用程序开发:你的Twitter应用程序的文件 - 傻瓜

,这个Android Studio项目包含大约100个文件和大约170个不同的文件夹。要制作Android Twitter应用程序,您需要专注于该项目的MainActivity。 java文件。但其他一些文件需要注意。 Twitter4J API jar文件Android没有内置的通信支持...