标签:aci 额外 功能 大量 没有 blender 自动构建 ++ 研究生
基于机器人自动构建的3D点云、八叉树等类型的室内地图数据,运用Opengl渲染手段,实现一个能导入地图数据文件、构建三维空间模型并渲染的可视化图形平台,可进一步应用到虚拟现实的交互游戏场景。
C/C++, Java, OpenGL,Unity3D
Unity 3D 是由 Unity Technologies 公司开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具。Unity 3D 可以运行在 Windows 和MacOS X 下,可发布游戏至 Windows、Mac、Wii、iPhone、WebGL(需要 HTML5)、Windows Phone 8 和 Android 平台。也可以利用 Unity Web Player 插件发布网页游戏,支持 Mac 和 Windows 平台的网页浏览,是一个全面整合的专业游戏引擎。
业界现有的商用游戏引擎和免费游戏引擎数不胜数,其中最具代表性的商用游戏引擎有 UnReal、CryENGINE、Havok Physics、Game Bryo、Source Engine 等,但是这些游戏引擎价格昂贵,使得游戏开发成本大大增加。而 Unity 公司提出了“大众游戏开发”(Democratizing Development)的口号,提供了任何人都可以轻松开发的优秀游戏引擎,使开发人员不再顾虑价格。
Unity 5.x 软件的下载与安装十分便捷,游戏开发者可根据个人计算机的类型有选择地安装基于 Windows 平台或 MacOS X 平台的 Unity 3D 软件。要安装 Unity 3D 游戏引擎的最新版,可以访问 Unity 官方网站 https://unity3d.com/cn/。
这种大型3D建模渲染软件在运行时,不可避免地会出现Bug,下面列举一些常见的Bug和解决办法。
(1)U3D经常莫名奇妙崩溃。
(2)编码切换警告提示。
(3)中文界面解决问题。
(4)安装空项目报错
此类大型3D建模渲染软件主要分为开源和闭源两种,下面简介Unity 3D 的特性和优势。
1) 跨平台
游戏开发者可以通过不同的平台进行开发。游戏制作完成后,游戏无需任何修改即可直接一键发布到常用的主流平台上。Unity 3D 游戏可发布的平台包括 Windows、Linux、MacOS X、iOS、Android、Xbox360、PS3 以及 Web 等。跨平台开发可以为游戏开发者节省大量时间。以往游戏开发中,开发者要考虑平台之间的差异,比如屏幕尺寸、操作方式、硬件条件等,这样会直接影响到开发进度,给开发者造成巨大的麻烦,Unity 3D 几乎为开发者完美地解决了这一难题,将大幅度减少移植过程中不必要的麻烦。
2) 综合编辑
Unity 3D 的用户界面具备视觉化编辑、详细的属性编辑器和动态游戏预览特性。Unity 3D 创新的可视化模式让游戏开发者能够轻松构建互动体验,当游戏运行时可以实时修改参数值,方便开发,为游戏开发节省大量时间。
3) 资源导入
项目可以自动导入资源,并根据资源的改动自动更新。Unity 3D 支持几乎所有主流的三维格式,如 3ds Max、Maya、Blender 等,贴图材质自动转换为 U3D 格式,并能和大部分相关应用程序协调工作。
4) 一键部署
Unity 3D 只需一键即可完成作品的多平台开发和部署,让开发者的作品在多平台呈现。
5) 脚本语言
Unity 3D 集成了 MonoDeveloper 编译平台,支持 C#、JavaScript 和 Boo 3 种脚本语言,其中 C# 和 JavaScript 是在游戏开发中最常用的脚本语言。
6) 联网
Unity 3D 支持从单机应用到大型多人联网游戏的开发。
7) 着色器
Unity 3D 着色器系统整合了易用性、灵活性、高性能。
8) 地形编辑器
Unity 3D 内置强大的地形编辑系统,该系统可使游戏开发者实现游戏中任何复杂的地形,支持地形创建和树木与植被贴片,支持自动的地形 LOD、水面特效,尤其是低端硬件亦可流畅运行广阔茂盛的植被景观,能够方便地创建游戏场景中所用到的各种地形。
9) 物理特效
物理引擎是模拟牛顿力学模型的计算机程序,其中使用了质量、速度、摩擦力和空气阻力等变量。Unity 3D 内置 NVIDIA 的 PhysX 物理引擎,游戏开发者可以用高效、逼真、生动的方式复原和模拟真实世界中的物理效果,例如碰撞检测、弹簧效果、布料效果、重力效果等。
10) 光影
Unity 3D 提供了具有柔和阴影以及高度完善的烘焙效果的光影渲染系统。
软件和硬件紧密相联却又互相区别。有一部分硬件可以看成是固化的软件,还有一部分硬件可以看成是软件指令的实现者,根据软件的指令去完成一些事情。这些说明了软件的某些本质。软件编译后的指令能够驱动硬件,一部分软件和硬件的功能可以相互取代。软件的修改比硬件更加方便。两者都是为服务人而创造设计的。
第一次使用此类软件是这个礼拜,我研究生一年级,班主任叫赵振刚,在苏州,学习状态,通过网络获取开源代码。
暂时处于初学入门阶段。只是了解了Unity 3D 的工作原理。
目前选择 Unity 3D 的原因主要是:安装、调试和打包方便,配置VR项目十分简单,文档完善。Unity3D配套了很多东西供开发者使用,基本可以靠Marketplace买来的东西搭建原型,甚至某些最终业务的核心组件也可以用买来的东西,极大的降低了开发成本。比如你可以把整个Material换成Alloy、用Ngui替代UI系统,如果你要做个赛车游戏,你能找到从模型、音效、材质,到控制系统等一切。
但其也有缺点:内建工具不够完善,渲染差,光照系统糟糕,阴影Bake有Bug,只能勉强达到2A游戏入门水平对于控制器支持较差,一些如手柄震动、VR控制器空间定位的功能引擎未集成,需要第三方插件或额外代码没有材质编辑器,需要第三方插件,Prefab不支持继承,没有内建的Level Stream支持。
Unity 3D最大的问题都不在于以上,而在于官方对于开发者的技术支持不够。有开发者网友表示,曾经在VR Demo上进行一项底层优化时,在缺少渲染使用的关键数据时,向官方寻求技术支持,结果一个“没有这样的接口”就被打发了。对开发者而言,这可不是什么好消息。
目前我仍然在使用该款产品,同类软件具有代表性的是UE4。
UE4的优势:
作为后起之秀,UE4在虚拟现实游戏开发者界大出风头,其强大的开发能力和开源策略,瞬间吸引了大量VR游戏开发者的目光。目前,大量以UE4开发的VR游戏已经登陆各大平台,而VR爱好者的普遍评价都是虚幻4引擎游戏在游戏画面和沉浸体验方面要明显优于Unity3D 游戏。
UE4画面效果完全达到3A游戏水准,光照和物理渲染即便在缩水的状况下也足以秒杀Unity蓝图系统。UE4让游戏策划不用再写劳神费力编辑代码,其强大的材质编辑器实在让开发者们大呼德玛西亚,各种官方插件齐全也让开发者不用在自编第三方插件并担心兼容接口问题。更重要的是针对虚拟现实游戏,UE4为手柄、VR控制器提供了良好支持。而UE4提供的各种游戏模版,让其与Blueprint配合做原型甚至比Unity更快。
UE4的劣势:
C++语言是第一个令众多开发者头痛的东西。对于主机平台的支持不够,开发PS4游戏需要重新编译引擎,光拉代码就需要至少一个小时,使用12核服务器,24线程同时编译都需要二三十分钟,创建新项目大概又要编译十多分钟。如果切换平台,要编译几千到上万个Shader,安装、调试和打包不方便,需要的时间明显超过Unity很多。
同样,UE4最大的问题也不在以上,而在于学习成本高。UE4现有的虚拟现实游戏开发者中普及度并不高,开发者对于这款引擎的了解程度和使用经验明显不够。UE4各子模块虽然功能强大,但操作复杂,部分功能甚至没有任何文档,已有文档的功能文档同样不够完善,加大增加了开发者的学习难度,影响开发者的使用体验。UE4开发成本高是出了名的,某国内3A团队做了个10分钟的VR Demo,一千多万眨眨眼就烧掉了。UI设计器非常之难用,VR下的一些best practice也缺乏文档和例子,给人的感觉就是UE4在和开发者以期摸石头过河,明显不能让开发者省心。
会一直存在的。Unity 3D 作为虚拟现实游戏开发者的轻量级工具,目前虚拟现实游戏开发者的首选游戏引擎。时下大部分的VR游戏开发者都是从原Unity 3D开发者转型而来,由于能够快速上手,在VR方面的学习成本比较低,因而受到了广大开发者的热捧。
标签:aci 额外 功能 大量 没有 blender 自动构建 ++ 研究生
原文地址:https://www.cnblogs.com/hmk0407/p/11624038.html