找回密码
 注册
Simdroid-非首页
查看: 956|回复: 24

[原创区] 游戏引擎与CAE软件的后处理漫谈(原创)

[复制链接]
发表于 2005-6-14 14:05:11 | 显示全部楼层 |阅读模式 来自 湖北武汉
游戏引擎与CAE软件的后处理漫谈

alexqxp 原创

(我写本文的动机是很多人,包括我自己,在用了国外的CAE软件后,有时想自己做个小小的CAE软件,但会遇到不少困难,特别是后处理部分的编程比较难。)

搞仿真的时候,我们有些时候会想到自己做个独立的CAE分析软件,小型的,但是专业针对自己的问题或者某一类问题。但是真正做的时候会遇到一些问题,其中,前处理与计算部分的问题比较好解决,只要有相当的编程基础,一般都可以解决数据输入与计算方面的问题。但是后处理就不是那么容易做了,要涉及到计算机图形图像编程,设计到很多计算机可视化编程方面的问题,这是很多人所不熟悉的。其实,CAE软件后处理所要解决的一些问题和游戏引擎所要解决的问题是类似的。游戏引擎这个词大家经常会遇到,但是游戏引擎在游戏中究竟起着什么样的作用

?它和CAE的后处理有什么关系?这些问题大家可能就想得不多了,下面这篇文章来分析一下。

引擎(Engine)是马达,发动机的意思。可以把游戏的引擎比作赛车的引擎,大家知道,引擎是赛车的心脏,决定着赛车的性能会稳定性,赛车的速度、操纵感这些直接与车手相关的指标都是建立在引擎的基础上的。游戏也是如此,玩家所体验到的剧情、关卡、美工、音乐、操作等

内容都是由游戏的引擎直接控制度,它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们同时、有序地工作。简单地说,引擎就是"用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及安装正确定音量输出声音等等。"

从这里来看,CAE软件也有自己的核心引擎,它负责接受研究者的输入数据,模型生成,设定求解条件,计算温度,压力,速度等物理量,最后

通过后处理将结果以可视化的结果表现出来。所不同的是,游戏是实时交互操作的,而CAE软件由于计算量大,需要一定的时间延迟。

游戏引擎是一段起控制作用的代码。它已经发展成为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,到物理系统、

碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中的所有重要环节。

CAE软件的核心引擎也起到类似的作用,它的后处理部分对应于游戏的光影效果和动画,以及最重要的渲染功能。CAE软件和游戏都要把计算结

果渲染出来以供观看。如果自己编写CAE后处理部分的话,2D的显示相对简单,比较困难的3D显示。对应的,来看一下3D游戏引擎。因此下面主要围绕动作射击游戏的变迁展开,动作设计游戏同3D引擎之间的关系相当于一对孪生兄弟,它们一同诞生,一同成长,互相为对方提供着发展的动力。简单看一下比较出名的3D游戏引擎。

3D Realms公司/Apogee公司,德军司令部,Wolfenstein 3D引擎;
id Software公司,毁灭战士,Doom引擎;
Realms公司,毁灭公爵,Build引擎;
id Software公司,雷神之锤,Quack引擎。这个游戏引擎值得多说一点,在改进的Quack引擎基础上诞生了本人初玩游戏时最喜欢的半条命,也

就是现在CS的前身;
Megagames公司(即现在地Epic游戏公司),虚幻,Unreal引擎。Unreal引擎的应用范围不限于游戏制作,还涵盖了教育、建筑等其它领域。

Digital Design公司曾与联合国教科文组织的世界文化遗产分部合作采用Unreal引擎制作过巴黎圣母院的内部虚拟演示,Zen Tao公司采用

Unreal引擎为空手道选手制作过武术训练软件,另一家软件开发商Vito Miliano公司也采用Unreal引擎开发了一套名为"Unrealty"的建筑设计

软件,用于房地产的演示。这里可以看到由于3D游戏引擎在3D图像表现上的优势,可以在科学计算可视化的应用上起到巨大的作用。
Monolith公司,升钢,LithTech引擎;
GarageGames公司,部落2,V12引擎,使用权费用100美元;
马科斯·佩恩,MAX-FX引擎;
红色派系,Geo-Mod引擎;
英雄萨姆,Serious引擎,等等。

这里提到的游戏相信是单机版游戏时代很多人的最爱。关于3D图像的知识最初很多人都是来源于这些游戏。关心游戏又支持了哪些新的特效,

自己电脑的硬件是否支持等等。特效的专业名称及其含义是什么。

在进行自己的CAE软件后处理编程的时候,可能首先是使用MATLAB等图像功能强大的软件进行计算的可视化处理。但是作为一个整体CAE程序来

说,MATLAB游离于主体程序之外的问题始终难以解决,如果把CAE软件构建在MATLAB之上的话,MATLAB的循环计算速度又差强人意。这个时候,

可能把目光投向了3D游戏引擎。在经过了初步了解和熟悉后,基于游戏引擎自编CAE后处理软件已经初见雏形。但是深感要想做得好的话不是一

件容易的事情。

目前解决CAE后处理的问题可能采用的方法有:
1.  商业用户购买2D&3D图形开发包;
2.  使用专门的图像编程语言编程;
3.  基于windows平台的Open GL或者DirextX编程。

作为研究者来说,要结合自己的实际情况进行选择。作为想自己做CAE后处理软件的个人来说,推荐从游戏引擎入手,或者说从3D游戏的基本编程入手学习科学计算可视化编程技术。当然,如果有经济实力和条件的话,走1,2条路是便捷的选择。

当然,为了支持国产有限元软件,也可以用FEPG的图形输出功能,但是……。

.................................
参考文献:游戏引擎演化史
.................................
发表于 2005-6-14 14:23:59 | 显示全部楼层 来自 江西南昌

Re:游戏引擎与CAE软件的后处理漫谈(原创)

Simdroid开发平台
很多都没有见过,长见识了
发表于 2005-6-14 14:47:42 | 显示全部楼层 来自 河南郑州

Re:游戏引擎与CAE软件的后处理漫谈(原创)

这个要加分,然后加精。
发表于 2005-6-14 15:04:45 | 显示全部楼层 来自 江苏南京

Re:游戏引擎与CAE软件的后处理漫谈(原创)

这个比较厉害!加精加分!
发表于 2005-6-14 15:35:10 | 显示全部楼层 来自 北京

Re:游戏引擎与CAE软件的后处理漫谈(原创)

这个汗
发表于 2005-6-14 16:13:48 | 显示全部楼层 来自 江苏苏州

Re:游戏引擎与CAE软件的后处理漫谈(原创)

ainite wrote:
这个要加分,然后加精。
好久不见大熊了。
发表于 2005-6-14 16:14:14 | 显示全部楼层 来自 江苏苏州

Re:游戏引擎与CAE软件的后处理漫谈(原创)

真是原创吗???

立刻加精8D
 楼主| 发表于 2005-6-14 16:29:15 | 显示全部楼层 来自 湖北武汉

Re:游戏引擎与CAE软件的后处理漫谈(原创)

是原创啊!我昨天晚上还没有吃饭就开始写。
发表于 2005-6-14 18:05:49 | 显示全部楼层 来自 江西南昌

Re:游戏引擎与CAE软件的后处理漫谈(原创)

吃饭就写不出原创了,以后做事我也不吃饭了:D:D:D
 楼主| 发表于 2005-6-14 18:10:11 | 显示全部楼层 来自 湖北武汉

Re:游戏引擎与CAE软件的后处理漫谈(原创)

是啊,要是你有什么事情感觉非做不可,不做不行的话,那肯定是你的原创。饭还是要吃的,只不过我写的时候老婆菜还没有烧好。写了一半,吃饭,吃完了继续。^_^。
发表于 2005-6-14 20:19:45 | 显示全部楼层 来自 江西南昌

Re:游戏引擎与CAE软件的后处理漫谈(原创)

后处理更难,这个到是有点出乎意料,编制高效的算法不难么?以前学c++时最大的成就就是自已做了一个小算法,只有一千来行,深知其中的难处。做界面用VC+OPEN GL是个选择。
发表于 2005-6-14 20:22:18 | 显示全部楼层 来自 上海徐汇区

Re:游戏引擎与CAE软件的后处理漫谈(原创)

鼓励原创
发表于 2005-6-14 20:45:48 | 显示全部楼层 来自 新疆乌鲁木齐

Re:游戏引擎与CAE软件的后处理漫谈(原创)

楼主老兄的思维非常新颖,这两天看过很多老兄的文章,真是非常有启发,这是在传统教育体系下培养出的人很难切入到的角度,加精加分实在不过分!我想都这样去想问题,不囿于专业,天马行空,会有很多意外的事情发生.而这样的意外我想应该是很多人希望发生的.
发表于 2005-6-15 01:43:50 | 显示全部楼层 来自 河南郑州

Re:游戏引擎与CAE软件的后处理漫谈(原创)

yuan wrote:
好久不见大熊了。
那就多看两眼 :D
发表于 2005-6-15 08:47:58 | 显示全部楼层 来自 江苏苏州

Re:游戏引擎与CAE软件的后处理漫谈(原创)

alexqxp wrote:
是原创啊!我昨天晚上还没有吃饭就开始写。
鼓励原创。
发表于 2005-8-24 13:04:09 | 显示全部楼层 来自 上海浦东新区

Re:游戏引擎与CAE软件的后处理漫谈(原创)

如果楼主真的想做这方面,建议可以使用VTK编程,据说很多软件图形仿真公司已经在使用这个软件。这个软件是我3年前搜索到的。
他的开发基础为c 并且支持c++ TCl/TK java,tcl/tk语言很多CAE软件都使用了一些比如ansys/hypermesh/GID有兴趣的朋友可以看看这个官方主页
http://public.kitware.com/VTK/

另外FEPG的图形输出也不是自己的,他使用的是西班牙的GID,另外自己的FA系统比较差,后处理功能比较简单,并且很多量需要修改。
发表于 2005-8-24 22:17:45 | 显示全部楼层 来自 上海

Re:游戏引擎与CAE软件的后处理漫谈(原创)

写得不错,我用matlab写过一些图像处理的模块,比较粗浅,大概有上万行代码。
如果能够直接借用这些Engine是最好了,但是兼容性是一个值得考虑的问题,是否容易扩展?学习时间要多少?这些都需要权衡。
发表于 2005-8-25 09:47:29 | 显示全部楼层 来自 江苏南京

Re:游戏引擎与CAE软件的后处理漫谈(原创)

又长见识了,老大强啊
我在想毕业了
我是去做模具,编程,游戏开发,广告设计,产品设计还是.........
呵呵,好象都涉及到了一点。
发表于 2005-8-26 18:47:18 | 显示全部楼层 来自 陕西西安

Re:游戏引擎与CAE软件的后处理漫谈(原创)

edodo wrote:
如果楼主真的想做这方面,建议可以使用VTK编程,据说很多软件图形仿真公司已经在使用这个软件。这个软件是我3年前搜索到的。
他的开发基础为c 并且支持c++ TCl/TK java,tcl/tk语言很多CAE软件都使用了一些比如ansys/hypermesh/GID有兴趣的朋友可以看看这个官方主页
http://public.kitware.com/VTK/

另外FEPG的图形输出也不是自己的,他使用的是西班牙的GID,另外自己的FA系统比较差,后处理功能比较简单,并且很多量需要修改。

我这有 manual book
发表于 2005-8-26 21:08:50 | 显示全部楼层 来自 上海普陀区

Re:游戏引擎与CAE软件的后处理漫谈(原创)

lxuejin wrote:
我这有 manual book
能上传上来么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-29 04:14 , Processed in 0.057498 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表