[转]Unity3D简介

article/2025/10/1 18:37:33


unity简介

本章首先介绍 Unity 3D 的特点、发展历程,然后介绍 Unity 3D 下载及安装方法,最后通过讲解将 Unity 3D 开发的游戏发布于多个平台的方法(PC端举例)。

第一章 Unity 3D是什么?Unity 3D简介


Unity 3D 也称 Unity,是由 Unity Technologies 公司开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具。

Unity 3D 可以运行在 Windows 和MacOS X 下,可发布游戏至 Windows、Mac、Wii、iPhone、WebGL(需要 HTML5)、Windows Phone 8 和 Android 平台。也可以利用 Unity Web Player 插件发布网页游戏,支持 Mac 和 Windows 平台的网页浏览,是一个全面整合的专业游戏引擎。

业界现有的商用游戏引擎和免费游戏引擎数不胜数,其中最具代表性的商用游戏引擎有 UnReal、CryENGINE、Havok Physics、Game Bryo、Source Engine 等,但是这些游戏引擎价格昂贵,使得游戏开发成本大大增加。而 Unity 公司提出了“大众游戏开发”(Democratizing Development)的口号,提供了任何人都可以轻松开发的优秀游戏引擎,使开发人员不再顾虑价格。

Unity 的中文意思为“团结”。Unity 的核心含义是想告诉大家,游戏开发需要在团队合作基础上相互配合完成。

时至今日,游戏市场上出现了众多种类的游戏,它们是由不同的游戏引擎开发的,Unity 3D 以其强大的跨平台特性与绚丽的 3D 渲染效果而闻名于世,现在很多商业游戏及虚拟现实产品都采用 Unity 3D 引擎来开发。

Unity 3D 的特色:

Unity 3D 游戏开发引擎目前之所以炙手可热,与其完善的技术以及丰富的个性化功能密不可分。

Unity 3D 游戏开发引擎易于上手,降低了对游戏开发人员的要求。下面对 Unity 3D 游戏开发引擎的特色进行阐述。
1)跨平台
游戏开发者可以通过不同的平台进行开发。游戏制作完成后,游戏无需任何修改即可直接一键发布到常用的主流平台上。

Unity 3D 游戏可发布的平台包括 Windows、Linux、MacOS X、iOS、Android、Xbox360、PS3 以及 Web 等。跨平台开发可以为游戏开发者节省大量时间。

以往游戏开发中,开发者要考虑平台之间的差异,比如屏幕尺寸、操作方式、硬件条件等,这样会直接影响到开发进度,给开发者造成巨大的麻烦,Unity 3D 几乎为开发者完美地解决了这一难题,将大幅度减少移植过程中不必要的麻烦。
2) 综合编辑
Unity 3D 的用户界面具备视觉化编辑、详细的属性编辑器和动态游戏预览特性。Unity 3D 创新的可视化模式让游戏开发者能够轻松构建互动体验,当游戏运行时可以实时修改参数值,方便开发,为游戏开发节省大量时间。
3) 资源导入
项目可以自动导入资源,并根据资源的改动自动更新。Unity 3D 支持几乎所有主流的三维格式,如 3ds Max、Maya、Blender 等,贴图材质自动转换为 U3D 格式,并能和大部分相关应用程序协调工作。
4) 一键部署
Unity 3D 只需一键即可完成作品的多平台开发和部署,让开发者的作品在多平台呈现。
5) 脚本语言
Unity 3D 集成了 MonoDeveloper 编译平台,支持 C#、JavaScript 和 Boo 3 种脚本语言,其中 C# 和 JavaScript 是在游戏开发中最常用的脚本语言。
6) 联网
Unity 3D 支持从单机应用到大型多人联网游戏的开发。
7) 着色器
Unity 3D 着色器系统整合了易用性、灵活性、高性能。
8) 地形编辑器
Unity 3D 内置强大的地形编辑系统,该系统可使游戏开发者实现游戏中任何复杂的地形,支持地形创建和树木与植被贴片,支持自动的地形 LOD、水面特效,尤其是低端硬件亦可流畅运行广阔茂盛的植被景观,能够方便地创建游戏场景中所用到的各种地形。
9) 物理特效
物理引擎是模拟牛顿力学模型的计算机程序,其中使用了质量、速度、摩擦力和空气阻力等变量。Unity 3D 内置 NVIDIA 的 PhysX 物理引擎,游戏开发者可以用高效、逼真、生动的方式复原和模拟真实世界中的物理效果,例如碰撞检测、弹簧效果、布料效果、重力效果等。
10) 光影
Unity 3D 提供了具有柔和阴影以及高度完善的烘焙效果的光影渲染系统。

Unity 3D 的发展:

2004 年,Unity 3D 诞生于丹麦的阿姆斯特丹。

2005 年,发布了 Unity 1.0 版本,此版本只能应用于 Mac 平台,主要针对 Web 项目和 VR(虚拟现实)的开发。

2008 年,推出 Windows 版本,并开始支持 iOS 和 Wii,从众多的游戏引擎中脱颖而出。

2009 年,荣登 2009 年游戏引擎的前五,此时 Unity 的注册人数已经达到了 3.5 万。

2010 年,Unity 3D 开始支持 Android,继续扩大影响力。

2011 年,开始支持 PS3 和 XBox360,此时全平台的构建完成。

2012 年,Unity Technologies 公司正式推出 Unity 4.0 版本,新加入对于 DirectX 11 的支持和 Mecanim 动画工具,以及为用户提供 Linux 及 Adobe Flash Player 的部署预览功能。

2013 年,Unity 3D 引擎覆盖了越来越多的国家,全球用户已经超过 150 万,Unity 4.0 引擎已经能够支持在包括 MacOS X、Android、iOS、Windows 等在内的 10 个平台上发布游戏。同时,Unity Technologies 公司 CEO David Helgason 发布消息称,游戏引擎 Unity 3D 今后将不再支持 Flash 平台,且不再销售针对 Flash 开发者的软件授权。

2014 年,发布 Unity 4.6 版本,更新了屏幕自动旋转等功能。

2016 年,发布 Unity 5.4 版本,专注于新的视觉功能,为开发人员提供了最新的理想实验和原型功能模式,极大地提高了其在 VR 画面展现上的性能。

第二章 Unity 3D下载安装教程

关于Unity的下载安装已经有很多人做过教程,我在这里就不详细阐述了,推荐几个较为详细的下载安装教程:
 

unity下载安装教程链接1
unity下载安装教程链接2


博主强烈推荐第一个,因为Unity3D需要配合编辑器使用,博主用到是VS2019,大家可以参考。

第三章 Unity 3D创建项目,并添加游戏物体和游戏组件

Unity 3D 创建游戏的理念可以简单地理解为:一款完整的游戏就是一个项目(project),游戏中不同的关卡对应的是项目下的场景(scene)。一款游戏可以包含若干个关卡(场景),因此一个项目下面可以保存多个场景。

创建新项目:

启动 Unity Hub后,在菜单栏中选择项目,然后选择新建项目(前提是至少安装了一个版本的unity),创建一个新的工程,可以设置工程的目录,然后修改文件名称和文件路径,在 Project name 下(项目名称)中输入项目名称,然后在 Location(项目路径)下选择项目保存路径并且选择 2D 或者 3D 工程的默认配置,如下图所示。


在这里插入图片描述
 

创建成功后的界面应该如下(布局可能与我的有所不同,不过没有影响,后续教大家自行调整):


在这里插入图片描述
 

在我们创建好项目之后unity会默认为我们新建一个场景,我们也可以再新建一个场景,新建场景的方法是:选择 Unity 3D 软件界面上的菜单 File(文件)→New Scene(新建场景)命令即可新建场景,如下图所示。

在这里插入图片描述
 

创建游戏物体
选择 GameObject(游戏对象)→3D Object(三维物体)→Plane(平面)命令创建一个平面用于放置物体,如下图所示。


在这里插入图片描述
 

选择 GameObject(游戏对象)→3D Object(三维物体)→Cube(立方体)命令创建一个立方体,如下图所示。


在这里插入图片描述


最后使用场景控件调整物体位置,从而完成游戏物体的基本创建,如下图所示。
 

在这里插入图片描述

添加游戏物体组件
游戏物体组件可以通过 Inspector(属性编辑器)显示,这些组件还可以附加很多组件。例如要为 Cube(立方体)组件添加 Rigidbody(刚体)组件,选中 Cube,执行 Component(组件)→Physics(物理)→Rigidbody(刚体)菜单命令,为游戏物体 Cube 添加 Rigidbody 组件,如下图所示。


在这里插入图片描述
 

Rigidbody 添加完成后,在 Scene(场景)视图中单击 Cube 并将其拖曳到平面上方,然后单击 Play 按钮进行测试,可以发现 Cube 会做自由落体运动,与地面发生相撞,最后停在地面,如下图所示。


在这里插入图片描述


项目保存 执行 File(文件)→Save Scene(保存场景)菜单命令或按快捷键 Ctrl+S,如下图所示。

在这里插入图片描述

在弹出的保存场景对话框中输入要保存的文件名,如下图所示。此时在 Project(项目)面板中能够找到刚刚保存的场景。
 

在这里插入图片描述
 

第四章 Unity 3D游戏发布到PC平台

近年来,随着手机、平板电脑等多种移动设备的兴起,游戏平台不再局限于台式计算机和笔记本电脑。为了使游戏开发人员开发的游戏作品成功地运行在多种平台上,现在流行的游戏开发引擎都具有多平台发布功能。

Unity 3D 作为一款跨平台的游戏开发工具,从一开始就被设计成便于使用的产品。随着网络技术的迅速发展,Unity 3D 功能也不断增强,它不仅支持 PC,同时也支持 Android、Web、PS3、XBox、iOS 等多个应用平台。

虽然 Unity 3D 能够支持很多发布平台,但是并不代表可以毫无限制地发布,例如:
XBox360、PS3 和 Wii 这3个发布平台,必须购买这 3 个游戏主机厂商的开发者 License,才能将 Unity 3D 开发的游戏发布到相应的运行平台。
而要想将 Unity 3D 开发的游戏成功地发布并运行于 iOS 终端,还需要安装相应的插件,并且拥有 Apple 公司的开发者账号。

利用 Unity 3D 开发游戏,在需要发布游戏时,执行 File→Build Settings 菜单命令,如下图所示。
 

在这里插入图片描述
 

在 Platform 列表框中选择 PC,Mac&Linux Standalone 选项,在右侧的 Target Platform 下拉列表中可以选择 Windows、MacOS X、Linux 选项,在右侧的 Architecture 下拉列表中可以选择 x86 或 x86_64 选项,如下图所示。
 

在这里插入图片描述

单击左下角的 Player Settings 按钮后,便可以在右侧的 Inspector 面板中看到 PC,Mac&Linux 的相关设定,如下图所示。在 PlayerSettings 界面中,Company Name 和 Product Name 用于设置相关的名称,而Default Icon 用于设定程序在平台上显示的图标。
 

在这里插入图片描述
 

在 PlayerSettings 界面的下部有 4 个选项设置:Resolution and Presentation、Icon、Splash Image 和 Other Settings。下图是 Resolution and Presentation 的参数设置内容,参数如下表所示。
 

在这里插入图片描述

参 数功 能
Default Is Full Screen若选中此复选框,则游戏启动时会以全屏幕显示
Default Is Native Resolution默认本地分辨率
Run In Background当暂时跳出游戏转到其他窗口时,显示游戏是否要继续进行
Supported Aspect Ratios显示器能支持的画面比例,包括4 : 3、5 : 4、16 : 10,16 : 9和Others

当完成上述设置或者全部采用默认值后,便可回到 Build Settings 对话框,单击右下角的 Build 按钮,选择文件路径用于存放可执行文件。
 

在这里插入图片描述

点击选择文件夹后便会在相应的文件夹生成一个.exe文件,即发布成功。


http://chatgpt.dhexx.cn/article/5hvtJDPi.shtml

相关文章

从零开始做一款Unity3D游戏<一>——亲自上手使用Unity

游戏设计入门 游戏设计文档 Hero Born游戏的单页文档 构建关卡 创建基本图形 在三维中思考 材质 白盒环境 光照基础 创建光源 Light组件的属性 在Unity中制作动画 创建动画片段 记录关键帧 曲线与切线 粒子系统 总结 本文主要来自<<C#实践入门>>哈…

【Unity3D入门教程】Unity3D简介、安装和程序发布

《Unity3D入门教程》会带领零基础的初学者&#xff0c;一步步学会使用Unity3D来开发简单的应用程序&#xff0c;走近游戏开发的世界。本系列教程虽然不会面面俱到地深入到全部的知识点&#xff0c;但是会涉及到所有入门阶段所需要掌握的必备技能。通过本教程的学习&#xff0c;…

腾讯Unity3D手游 dll加密分析

此文章的技术内容已过时&#xff0c;仅当做技术存档参考。腾讯的Unity游戏已不再mono.so中加密dll了&#xff0c;而是通过libtprt.so来hook了加载Assembly-CSharp.dll的地方进行解密&#xff0c;解密算法有点复杂&#xff0c;建议用ida动态dump 腾讯有很多用Unity做的手游&…

Unity3d DLL脚本通用解密方法

网上已经有很多文章讲解过Unity3d脚本DLL 解密&#xff0c;基本方法原理都差不多&#xff0c;就是通过HOOK或者调试下断mono_image_open_from_data_with_name这个函数拿到解密后的DLL。这些方法都需要比较专业的知识(Hook或者过反调试)&#xff0c;另外对于使用了强度比较高的第…

Unity3D官方教程爬坑

全是在学官教时遇到的坑&#xff0c;然后数小时后爬出来.同时会添加到处学来的的Unity技巧 ---------------------------------------------------------- 代码&#xff1a; 1.使游戏对象运动的N种方式 更全面的移动方式参考 1、rigidbody.addforce(Vector3 * speed) (见rol…

【Unity3D】自学之路2.0

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 Note: 因上一期 《Unity3D自学之路》 系列教程资源比较旧&#xff08;2018.7.9&#xff09; 很多资源图片资源失效 故更新 《Unity3D自学之路2.0》2020.3.11 船新版本 在新的一年&#xff0c;大家一起加…

[转]【Unity3D入门教程】Unity3D简介、安装和程序发布

《Unity3D入门教程》会带领零基础的初学者&#xff0c;一步步学会使用Unity3D来开发简单的应用程序&#xff0c;走近游戏开发的世界。本系列教程虽然不会面面俱到地深入到全部的知识点&#xff0c;但是会涉及到所有入门阶段所需要掌握的必备技能。通过本教程的学习&#xff0c;…

Unity2019(或2020)个人版如何激活使用(不是破解,正规激活流程)

文章目录 一、下载Unity二、登录账号&#xff08;可用微信号登录&#xff09;三、激活新许可证&#xff08;推荐&#xff09;1、点击激活新许可证2、许可协议3、完成激活 四、手动激活&#xff08;步骤较多&#xff09;1、点击手动激活2、保存许可证申请&#xff08;.alf&#…

【Unity游戏破解】外挂原理分析

文章目录 认识unity打包目录结构 游戏逆向流程Unity游戏攻击面可被攻击原因mono的打包 建议方案锁血飞天无限金币攻击力翻倍 以上统称内存挂透视自瞄压枪瞬移内购破解 Unity游戏防御开发时注意数据安全接入第三方反作弊系统外挂检测思路狠人自爆 实战查看目录结构用il2cpp dump…

AssetStudio/UnityStudio UABE等 破解Unity游戏

使用AssetStudio/UnityStudio UABE等 破解Unity游戏 前言工具准备前期处理替换图片资源替换配置表/TextAsset替换界面文字/界面UI描述从签名/打包安装/测试 前言 用于研究&#xff0c;学习 工具准备 UABE: 地址&#xff1a;github地址AssetStudio/UnityStudio 地址&#xff…

unity3d手游破解(一)

重点知识&#xff1a; 1. \assets\bin\Data\Managed\Assembly-CSharp.dll扔进Reflectorreflexil环境 2.libs\libmono.so的mono_image_open_from_data_with_name函数 MonoImage *mono_image_open_from_data_with_name (char *data, guint32 data_len, gboolean need_copy, Mon…

【Unity3D】初学加密技巧(反破解)

参考文章&#xff1a; Unity3D研究院之Android加密DLL与破解DLL .SO&#xff08;八十一&#xff09; | 雨松MOMO程序研究院 Unity3D研究院之Android二次加密.so二次加密DLL&#xff08;八十二&#xff09; | 雨松MOMO程序研究院 Unity 2019.4.0 Mono 编译以及加密 windows版…

2021Unity教程:Unity官方中文版免费下载方法(黑皮肤可选)无需破解!

首先科普两个知识点&#xff1a; 1. Unity官方支持个人免费版&#xff0c;新的学习者和初创公司员工&#xff08;公司财务规模低于10万美元一年&#xff09;均可以使用。黑皮肤免费&#xff08;Unity2019.3以上的版本&#xff09;&#xff0c;基本功能齐全&#xff0c;无需破解…

Unity官方支持中文版啦!!!附教程——无需破解!

Chinar blog &#xff1a;www.chinar.xin Unity安装官方中文版教程 本文提供全流程&#xff0c;中文翻译。 Chinar 坚持将简单的生活方式&#xff0c;带给世人&#xff01;&#xff08;拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例&#xff09; Chinar —…

Unity游戏逆向及破解方法介绍

背景介绍 随着手游的发展&#xff0c;Unity3D引擎逐渐成为主流的游戏开发解决方案&#xff0c;传统cocos的2D游戏逐渐被取代&#xff0c;一些公司在Unity3D游戏方面的产出也越来越多&#xff0c;如天天飞车&#xff0c;天天来战&#xff0c;全民破坏神&#xff0c;全民偶像&am…

java之成员变量(实例成员变量和静态成员变量)

类的成员 类的成员可以包含以下&#xff1a;字段、方法、代码块、内部类和接口等。此处我们重点介绍字段. 1.1字段/属性/成员变量 在类中, 但是方法外部定义的变量. 这样的变量我们称为 "字段" 或 "属性" 或 "成员变量"(三种称呼都可以, 一般…

java成员变量的调用_java中对象调用成员变量与成员的方法介绍

java中对象调用成员变量与成员的方法介绍 发布时间&#xff1a;2020-05-06 10:03:53 来源&#xff1a;亿速云 阅读&#xff1a;838 作者&#xff1a;小新 今天小编给大家分享的是java中对象调用成员变量与成员的方法介绍&#xff0c;相信很多人都不太了解&#xff0c;为了让大家…

局部变量和成员变量

局部变量和成员变量的区别&#xff1a; 定义的位置不一样【重点】 局部变量&#xff1a;在方法的内部 成员变量&#xff1a;在方法的外部&#xff0c;直接写在类当中作用范围不一样【重点】 局部变量&#xff1a;只有在方法当中才可以使用&#xff0c;出了方法就不能再用了 成…

C++之静态成员变量

一、静态成员变量 1&#xff09;static修饰的静态成员 静态成员变量、静态成员函数 静态成员变量&#xff1a; 1、static声明为静态的&#xff0c;称为静态成员&#xff0c;不管这个类创建了多少对象&#xff0c;静态成员只有一个拷贝&#xff0c;但是类的其他所有成员共享…

静态成员-静态成员变量

静态成员 静态成员都是用static修饰&#xff0c;它的特点是不论创建多少个对象&#xff0c;程序都只创建一个静态成员。 最主要的特点&#xff1a;共享 什么是共享呢&#xff1f; 例如&#xff1a;统计超市中所有商品数量的总和&#xff0c;商品数量的总和是随着每一个数量…