Unity 系列 -- 什么是 Unity

Unity 是什么

  • Unity 平台提供一整套完善的软件解决方案(编辑器 + 引擎)做游戏

Unity 跨平台

  • Unity 是一种跨平台的游戏引擎,它支持开发各种类型的游戏和应用程序,并且可以在多个平台上运行,包括【PC、移动设备、主机游戏机和虚拟现实设备】
  • Unity 可以为多个平台生成不同的二进制文件,包括【Windows、macOS、Linux、iOS、Android、WebGL、Xbox、PlayStation 和 Nintendo Switch】等平台。Unity 还提供了对【各种 AR 和 VR 设备】的支持,例如【HoloLens、Oculus Rift 和 HTC Vive】等

Unity 主要特性

  • 游戏脚本基于Mono一个兼容于.NET Framework 2.0的跨平台开源包,因此程序员可用JavaScript、C#或Boo加以编写。
  • 音效系统基于OpenAL程序库,可以播放Ogg Vorbis的压缩音效。
  • 视频播放采用Theora编码。
  • 内置地形编辑器,支持树木与植被贴片。
  • 内置Lightmap ping 以及全局照明 (Global illumination)。
  • 层级式的综合开发环境,可视化编辑 ,详细的属性编辑器和动态的游戏预览。Unity也被用来快速的制作游戏或者开发游戏原型。
  • 可开发微软Microsoft Windows和Mac OS X的可执行文件,在线内容(通过Unity Web Player插件支持Internet Explorer、Firefox、Safari、Mozilla、Netscape、Opera和Camino),Mac OS X的Dashboard工具,Wii程序和iPhone应用程序(开发Wii和iPhone需要用户购买额外的授权,在价格上不同)。
  • 自动资源导入:项目中的资源会被自动导入,并根据资源的改动自动更新。虽然很多主流的三维建模软件为Unity所支持,不过对于3ds Max、Maya、Blender、Cinema 4D和Cheetah3D的支持比较好,并支持一些其他的三维格式。
  • 图形引擎使用的是Direct3D (Windows),OpenGL (Mac,Windows)和自有的APIs(Wii)。
  • 支持凹凸贴图 (Bump mapping)、反射贴图 (Reflection mapping)、视差贴图 (Parallax Mapping)、屏幕空间环境光遮蔽 (Screen Space Ambient Occlusion,SSAO)、动态阴影使用的是阴影贴图(Shadow mapping)技术,并支持Render-to-texture和全屏Post Processing效果。
  • Shaders编写使用ShaderLab语言,同时支持自有工作流中的编程方式或Cg、GLSL语言编写的Shader。一个Shader可以包含众多变量及一个参数接口,允许Unity去判定参数是否为当前所支持并适配最适合参数,并自己选择相应的Shader类型以获得广大的兼容性。
  • 内置对Nvidia的PhysX物理引擎支持。
  • The Unity Asset Server:一个支持各种游戏和脚本的版本控制方案,使用PostgreSQL作为后端。
  • 多人网络联机功能由第三方包提供,有Raknet、Photon、SmartFoxServer等多种选择。

Unity 编译

  • Android

在编译输出App安装用的apk档之前,需要先安装过Android SDK。

  • iOS

输出成文件夹,一个Xcode项目,必须再到macOS环境下用Xcode输出。

  • Windows

输出成文件夹,包含一个可执行的exe档与一个执行时所必需相关文件的文件夹。

  • Web Player

输出成文件夹,包含一个html档与一个执行时所必需的unity3d档。客户端必须另外先安装Unity Web Player。2015年,Google Chrome已中止此Unity插件支持。Web Player已被弃用,取而代之的是编译到WebGL

  • BlackBerry

输出成一个应用程序安装用的bar档

  • Linux

输出成文件夹,包含一个x86档与一个执行时所必需相关文件的文件夹

参考文章

相关推荐
技术小甜甜2 天前
【Blender Texture】【游戏开发】高质感 Blender 4K 材质资源推荐合集 —— 提升场景真实感与美术表现力
blender·游戏开发·材质·texture
Thomas游戏开发2 天前
Unity3D TextMeshPro终极使用指南
前端·unity3d·游戏开发
Thomas游戏开发3 天前
Unity3D 逻辑代码性能优化策略
前端框架·unity3d·游戏开发
Thomas游戏开发4 天前
Unity3D HUD高性能优化方案
前端框架·unity3d·游戏开发
陈哥聊测试5 天前
游戏公司如何同时管好上百个游戏项目?
游戏·程序员·游戏开发
一名用户6 天前
unity随机生成未知符号教程
c#·unity3d·游戏开发
Be_Somebody11 天前
计算机图形学——Games101深度解析_第二章
游戏开发·计算机图形学·games101
GameTomato11 天前
【IOS】【OC】【应用内打印功能的实现】如何在APP内实现打印功能,连接本地打印机,把想要打印的界面打印成图片
macos·ios·objective-c·xcode·游戏开发·cocos2d
Be_Somebody12 天前
计算机图形学——Games101深度解析_第一章
游戏开发·计算机图形学·games101
Thomas_YXQ18 天前
Unity3D HUD UI性能优化方案
开发语言·ui·搜索引擎·性能优化·全文检索·unity3d