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

参考文章

相关推荐
Mapmost16 小时前
【数据融合实战手册·进阶篇】模型融合总出错?先看看这些“对齐”了没!
unity3d
北桥苏2 天前
如何在 Unity3D 导入 Spine 动画
unity3d
Thomas游戏开发4 天前
Unity3D状态管理器实现指南
前端框架·unity3d·游戏开发
非衣居士7 天前
Lua程序设计笔记
lua·游戏开发
Chiyamin8 天前
VoidMatrix大佬项目提瓦特幸存者番外篇特效实现(并非完美)
c++·游戏开发
大模型铲屎官8 天前
如何用C#继承提升游戏开发效率?Enemy与Boss案例解析
开发语言·unity·c#·游戏引擎·游戏开发·boss·enemy
echeverra8 天前
号外号外!给兄弟们汇报下近期三款热门游戏万灵山海、DOF、新大话西游更新内容
游戏·游戏开发
土豆宝9 天前
Unity Visual Scripting(可视化脚本) 自定义节点 踩坑教程
unity3d
Winston-Tao9 天前
Skynet 中 snlua 服务启动整体流程分析
lua·游戏开发·c 语言·skynet·游戏服务器框架
Thomas游戏开发9 天前
Unity3D光照层级与动态切换指南
前端框架·unity3d·游戏开发