• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【Delphi】FMX开发3D程序(1)---简介

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

FMX框架很早就支持3D程序开发,但是教程很少,不知道怎么用,记录一下研究学习的过程。

虽然网上说FMX很多3D控件和类的名称已经方法与opengl 3D对应,但这方面我的知识点是一片空白,而且我根本就不想再去看opengl的相关内容,实在是学不动了。所以这里只研究3D控件的基础使用,做一些简单效果。

一. 创建工程

FMX包含了多个3D控件,在创建工程时,主要有2种方式:

1)2D工程(普通工程) 集成 3D控件

操作流程: File - New - Multi-Device-Application - Blank Application,在form上摆放一个TViewport3D控件。

所有3D控件必须放在TViewport3D中使用,而在TViewport3D之外,仍然是普通的程序界面和控件

2)3D工程

操作流程:File - New - Multi-Device-Application - 3D Application

此方法创建的工程form继承子TForm3D,其实内部就相当于一个TViewport3D

二.基础控件

1)3D Scene

这个分组的控件大概意思就是场景相关的吧,主要包括了整个场景的视角(TCamera,摄像机),灯光(TLight,光源,光照)。

另外 TDummy 和 TProxyObject暂时不知道用处,也还没有去使用,以后有机会研究了再说。

2)3D Shapes

与Shapes类似,不过矩形变成了立方体,圆形变成了球形,以及立柱体 圆锥体等3D形状的控件。

另外还有一些虚线(TMesh),框线(TStrokeCube)等图形,还有文字(TText3D),甚至灵活度非常高的TPath3D(不会用)。

3)3D Layers

这里大致上就是一些布局相关的,还有一些功能性控件,如TLayout3D(类似TLayout),TLayer3D(和TLayer TPanel等类似), TImage3D, TSplitter3D等

4)Materrials

素材,渲染相关的,可能熟悉opengl 3d或者做游戏的人会比较熟悉这个概念,不过这里面的控件几乎是必须要用也很实用的。

 

三. 简单使用

如何做出下面的效果?

采用“2D工程集成3D控件”的方法创建工程,在TViewport3D中摆放一个TCube控件,即Cube1,拖动Cube1的大小(不熟悉的话操作起来会崩溃,严重打击学习的积极性)。

1)设置3D形状控件的颜色

默认摆放的Cube1是红色的,没啥鸟用,一点都看不出3D效果,所以要加上一个素材,选用TLightMaterialSource,即光照素材LightMaterialSource1,再关联到Cube1.MaterialSource属性,这时候设置LightMaterialSource1的颜色可以改变Cube1的颜色。

2)设置3D六面阴影效果

要有阴影效果(不熟悉的连这个效果名称都叫不出来,我也不知道是不是这样叫的),就要有光照,现在光照素材(LightMaterialSource1)有了且简单设置好颜色了,我们还需要有光源,也就是摆放一个TLight控件Light1,再拖动一下光照方向(如图中黄色控件)

其他:

如果想要有动画效果,则设置Position和RotationAngle等属性,不过想要好看的晃动效果也不容易啊。。。。涉及3角函数矩阵等运算知识,估计有更简单的输入方法,不过不知道怎么用。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi面向对象编程发布时间:2022-07-18
下一篇:
matlab自学笔记(2)-函数的使用发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap