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

参考文章

相关推荐
Clarify6 天前
一种增量式的状态同步方案
后端·游戏开发
Thomas_YXQ13 天前
Unity3D项目为什么要使用FairyGUI
开发语言·unity·游戏引擎·unity3d·游戏开发
nicepainkiller13 天前
Flutter 内嵌 unity3d for android
flutter·unity3d
Raysen17 天前
GridLayout玩出花系列-使用Android原生GridLayout控件打造方块消除小游戏
android·游戏开发
Thomas_YXQ1 个月前
Unity3D ngui和ugui区别与优缺点详解
服务器·游戏·unity·unity3d·游戏开发
Thomas_YXQ1 个月前
Unity3D Lua如何支持面向对象详解
开发语言·游戏·junit·性能优化·lua·unity3d
刘好念1 个月前
[UE5学习] 一、使用源代码安装UE5.4
ue5·游戏开发
懷淰メ1 个月前
PyQt飞机大战游戏(附下载地址)
开发语言·python·qt·游戏·pyqt·游戏开发·pyqt5
Thomas游戏开发1 个月前
Unity3D 逻辑服的Entity, ComponentData与System划分详解
前端框架·unity3d·游戏开发
大眼睛姑娘1 个月前
unity运行状态下移动、旋转、缩放控制模型
unity3d