Unity3D矿热炉配料系统的仿真操作训练系统设计与实现(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Unity3D矿热炉配料系统的仿真操作训练系统设计与实现(3)


1.1.3    实现思路及方法
建模部分主要使用3dmax来完成。初步构想使用3Dmax的可编辑多边形的方式完成大部分几何体的建模,然后使用样条线挤出的方式制作其他细节模型部分,料斗小车卷扬机等设备精细度要求中等。重点在于控制台的模型制作,由于控制台需要显示加料的量并且需要在交互中实现柱状图的变形动画。所以这部分打算使用正方体柱状图,通过改变高度动画实现加料过程的动态效果。至于阀门开启时间的控制初步考虑通过时间对应百分比的方式实现,例如加料条预设到100%则阀门开启20秒,即每秒加料5%这种方式来调整阀门开启时间。
Unity负责实现配料系统的简单交互操作,在控制面板手动输入或拖动进度条决定每种原料的比重,然后通过动画展示加料过程。Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三文视频游戏、建筑可视化、实时三文动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity制作动画及互动部分的初步构想是在3Dmax制作好整个动画过程之后,导入Unity中,使用切割工具在需要互动控制动画持续时间的关键帧节点上进行切割,通过C#代码实现手动输入数值百分比与动画时间的相互转换,通过数值*0.1=阀门打开时间的公式来实现小车在某个料斗下方停留加料的时间,由于动画在导入unity时以进行了切割工作,所以只需要在切割点处动画暂停相应秒数,中间使用粒子插件填充粒子流动效果即可。其他部分的铲车将料斗中原料铲入料斗的过程和小车移动到矿热炉车间顶层并由加料斗将小车内配置好的矿石原料填充进矿热炉的过程由于不需要停顿及人机交互,即只需要将在3Dmax中制作好的动画完整播放即可。Unity制作过程中使用到NGUI插件,NGUI是严格遵循KISS原则并用C#编写的Unity(适用于专业版和免费版)插件,提供强大的UI系统和事件通知框架。其代码简洁,多数类少于200行代码。可以很容易地扩展Unity的功能或调节已有功能。NGUI的使用方式与Unity的使用方式一样。使用Widget Tool可快速创建模板化的控件,或者从基本组件创建你自己的控件。可以按照你的意愿拷贝/粘贴,把你的窗口保存为prefabs。所有一切只需简单地点击操作即可完成。当需要编写代码让控件移动时,可以选择简单的例子代码,可以把你的控件转变为按钮、输入框、基于事件改变颜色、播放声音、触发动画等等。最后在Unity场景控制中还用到了C#代码编写,C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。 (责任编辑:qin)