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档与一个执行时所必需相关文件的文件夹

参考文章

相关推荐
北冥没有鱼啊9 天前
UE 像素和线框盒子 材质
c++·ue5·游戏开发·虚幻·材质
大飞pkz9 天前
【Unity】使用XLua进行热修复
unity·c#·游戏引擎·lua·游戏开发·xlua·lua热修复
工藤新一¹10 天前
C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 19)
开发语言·c++·游戏引擎·游戏开发·sdl
大飞pkz13 天前
【Unity】使用XML进行数据读存的简单例子
xml·unity·c#·游戏引擎·游戏开发·数据读写
大飞pkz13 天前
【Unity】如何解决UI中的Button无法绑定带参数方法的问题
ui·unity·游戏引擎·游戏开发·开发记录·button绑定
大飞pkz13 天前
【Unity】使用LitJson保存和读取数据的例子
unity·游戏引擎·游戏开发·数据保存和读取·游戏中的数据处理·类似jsonunility
大模型铲屎官15 天前
Unity C# 与 Shader 交互入门:脚本动态控制材质与视觉效果 (含 MaterialPropertyBlock 详解)(Day 38)
c语言·unity·c#·交互·游戏开发·材质·shader
Thomas游戏开发15 天前
Unity3D Timeline扩展与自定义事件处理
前端框架·unity3d·游戏开发
龙智DevSecOps解决方案16 天前
CI/CD解决方案TeamCity在游戏开发中的应用价值与优势分析
ci/cd·游戏开发·jetbrains·持续集成·teamcity
工藤新一¹16 天前
C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 14)
开发语言·c++·游戏引擎·游戏开发·sdl·实践项目