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

参考文章

相关推荐
陈尕六5 天前
从零开始的 Godot 之旅 — EP8:角色移动和动画切换
godot·游戏开发
Setsuna_F_Seiei5 天前
CocosCreator 游戏开发 - 利用 AssetsBundle 技术对小游戏包体积进行优化
前端·cocos creator·游戏开发
gopyer5 天前
Go语言2D游戏开发入门004:零基础打造射击游戏《太空大战》3
golang·go·游戏开发
芝麻粒儿6 天前
天龙八部TLBB系列 - 客户端技术整体性分析
游戏开发·天龙八部·网单·引擎脚本
野生程序猿江辰8 天前
Mesh AI 让每一位 3D 创作者和 3D 打印者都能轻松把想象变为现实。
aigc·unity3d
UWA10 天前
有什么指标可以判断手机是否降频
人工智能·智能手机·性能优化·memory·游戏开发
鼓掌MVP13 天前
【案例实战】多维度视角:鸿蒙2048游戏开发的深度分析与感悟
华为·ai编程·harmonyos·arkts·游戏开发·ability
腾讯云云开发14 天前
云开发Copilot实战:AI生成2048小游戏开发指南
ai编程·游戏开发·小程序·云开发