第十三章 引擎
本章目标
在阅读完本章节后,我们将有能力做下列事情:
l 实现场景中域与域之间的连接
l 在数据库中创建并使用全局域。
l 实现引擎与域以及引擎与引擎之间的连接。
l 临时禁用引擎连接。
l 创建一个简单的引擎网络(engine network)
l 使用引擎驱动场景
l 使用转体节点(rotor)、频闪节点(blinker)、开关节点(shutter)、摇摆节点(pendulum)来驱动场景。
本章所要描述的引擎对象是一种Inventor对象,它可以和其它域进行连接,用来驱动场景运动或强迫场景中的某些物体按照设定的规则运动。本章还将描述域与引擎,以及域和域之间是如何连接的。以及怎样在数据库中创建并使用全局域。
引擎简介
在以前的章节中,我们已经可以使用能对用户事件产生反应的3D对象来创建图形场景。这些3D对象本身是固定不变的,它们只能通过响应用户的交互式操作或受到传感器的驱动才能进行运动。在本章,我们将学习使用一种叫做“引擎”的新对象,引擎可以将运动和几何物体压缩进一个单一的场景中。就像在现实世界中,我们可以将发动机连接到其它设备上来驱动转轮或风扇那样,我们也可以将引擎对象“连接”进场景数据库中,来驱动场景运动或产生可以体现物体之间复杂关系的行为。引擎也可以和其它引擎相互连接,这样它们之间可以相互驱动或相互反应,最终使场景数据库发生改变。
举一个简单的例子,假设有一个用来描述风车模型的场景,我们可以对场景附加上一个引擎对象,这个引擎用来描述风车叶片的旋转并定时增加叶片的旋转角度(You can attach an engine object that describes the rotation of the windmill blades and performs an incremental rotation of the blades in response to time)。这个场景,包括引擎节点在内,都可以保存到一个Inventor文件中。无论何时,只要读入了此场景文件,场景中就会出现一个风车模型,并且风车的叶片还是不停旋转的。几何模型和运动行为都可以使用场景中的节点和引擎来描述。
本章的完整翻译请到下面的地址中下载:
The Inventor Mentor 英文原版。下载
The Inventor Mentor 中文译本。下载
The Inventor Mentor 例子代码。下载