第一章 安装Unity
使用Unity开发游戏的话,首先要安装Unity Hub和Unity Editor两个软件。大家可以去官方地址下载:https://unity.cn/releases/full/2020 (这里我们选择的是2020版本)

Unity Hub 是安装 Unity Editor、创建项目、管理帐户和许可证的主要工具。所以,我们必须先安装Unity Hub。这里注意的是,要想使用Unity开发游戏的话,必须申请官方账号,然后通过Unity Hub获得许可。账号可以在官方网站申请,这里我们就不演示了。
Unity的产品版本如下:

对于我们个人学习而言,使用Unity 个人版就行了(主要原因是免费)。申请账号完毕后,就可以下载Unity Hub和Unity Editor了。这里我们安装的版本是UnityHubSetup2.5.8.exe,以下是安装Unity Hub的过程截图。我的操作系统是Win10专业版。如果是Win7操作系统的话,建议打完系统补丁,以及安装C++运行库和.net运行库(否则可能出问题)。


这里我们修改了一下安装路径。

点击“完成”运行Unity Hub

首先,我们应该点击右上角进行账号登录。


由于我们是使用邮箱申请的账号,所以登录的时候,要选择邮箱的方式。这个登录的页面应该是Web页面实现的,所以它依托的是本地的IE浏览器。所以,本地IE浏览器版本低的话,可能无法正常显示这个登录页面,或者无法成功登录(解决办法就是升级IE浏览器)。

登录成功之后,我们就可以激活许可了,点击下面的“管理许可证”。

这就是许可页面,点击右上角的“激活新许可证”。

在新的弹框中,我们选择“Unity个人版”,下面的子选项二选一即可,然后点击完成。

激活成功。需要注意的是,这个许可是有期限的,如果长时间不使用的话,需要再次激活。接下来,我们就可以安装Unity Editor了。虽然,我们可以单独下载Unity Editor并安装,但是,最好还是通过Unity Hub来帮助我们安装Unity Editor,这样非常的便捷。
首先,我们需要在“常规”里面设置Unity Editor的安装目录。

在上面的“Unity编辑器安装路径”中选择一个安装路径:E:\Program Files

这样,我们就能把即将安装的Unity Editor安装到这个目录下了。
接下来,我们点击左上角的“返回”,然后在新页面中点击“安装”

我们点击右上角的“安装”按钮

这里我们选择Unity2020这个版本,这个版本还是比较主流的,适合大家学习使用。

接下来,我们可以附加安装一些配套的软件工具,比如Visual Studio Community 2019,但是通常安装过程会比较长而失败,因此我们后面单独安装VS2019。

接下来,我们还需要安装“打包发布平台编译库”,其中包括Windows, WebGL, Android, IOS等等。例如,如果我们需要在Android上发布游戏的话,需要勾选“Android Build Support”。当然,这个需要根据我们的实际情况来选择。


勾选完我们需要安装的软件工具,点击“下一步”按钮。

由于我们勾选了“Android Build Support”,因此这里需要接受安卓相关的条款。如果我们选择了其他软件工具的话,可能也会弹出相应的许可条款,我们一律全部勾选接受即可。

开始下载,由于需要的软件非常大,这个过程会比较长一些。

下载完毕后,就开始安装了,这个过程也比较长。

安装完毕了。接下来,我们到“项目”的页面,去创建一个3D项目。

点击右上角的“新建”,创建我们的项目工程

编辑项目名称,然后选择一个工程存放路径(工作空间),然后点击创建。
下面的“PlasticSCM”是Unity提供的版本控制工具,可以不用勾选。


这就是Unity启动后的界面了。
接下来,我们安装Visual Studio Community 2019。由于这是微软提供的免费版本,因此,大家可以去微软的官方网站或者其他渠道去下载。以下是官方下载页面:
https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
使用 VS2019也需要申请微软的账号和密码,大家可以自行申请,这里就不再介绍了。

点击“继续”


安装VS Community 2019的时候,勾选“使用Unity的游戏开发”。也就是说右边“安装详细信息”只有两项:VS核心编辑器和使用Unity的游戏开发(取消Unity Hub可选项,因为我们已经安装过了)。

当然,我们还可以修改安装位置。


安装结束后我们关闭以上窗口即可(先不登录打开VS)。
接下来,我们在打开之前创建的Unity工程。

点击上面的“New Unity Project”项目工程就能启动Unity了。
点击菜单栏“Edit”->“Preferences”弹出窗口,点击右侧的“External Tools”菜单

点击“External Script Editor”一栏,选择我们刚刚安装的“VS Community 2019”


这样,Unity与VS Community 2019就关联起来了。
接下来,点击菜单栏“Assets”->“Create”->“C# Scripts”创建一个C#脚本。

然后,我们双击这个C#脚本,就可以使用VS Community 2019打开了。


使用VS Community 2019的话,同样需要账号登陆,我们申请一个后再登录。


接下来,我们在Start方法中添加一句代码,如下所示
Debug.Log("hello");
然后我们在“Hierarchy”层次面板中选择“Main Camera”游戏对象。

然后将脚本拖拽到“Inspector”检视面板上面,实质就是将脚本赋予“Main Camera”上。

点击三角形 “play”运行按钮,就可以运行我们的项目工程了。

运行成功后,就会在“Console”控制台面板看到脚本输出内容。

以上正确运行,说明我们的VS 2019没有任何问题了。在VS中调试很简单,首先选择代码,按F9设置断点,然后到VS工具栏中选择 Attach to Unity and Play按钮,Unity编辑器就会再调试状态下运行游戏。当程序运行至断点的时候就会暂停,此时可以通过VS工具查看运行状况。接下来按F5继续执行后续代码,最后按Shift+F5组合键停止调试。
相关文章:
第一章 安装Unity
使用Unity开发游戏的话,首先要安装Unity Hub和Unity Editor两个软件。大家可以去官方地址下载:https://unity.cn/releases/full/2020 (这里我们选择的是2020版本) Unity Hub 是安装 Unity Editor、创建项目、管理帐户和许可证的主…...
20230425----重返学习-vue项目-vue自定义指令-vue-cli的配置
day-057-fifty-seven-20230425-vue项目-vue自定义指令-vue-cli的配置 vue项目 vuex版 普通版纯axios:切换页面,就会重新发送一次ajax请求普通版升级:vuex版vuex的常用功能 vuex 数据通信vuex 缓存数据 前进后退,切换页面&#…...
el-input 只能输入整数(包括正数、负数、0)或者只能输入整数(包括正数、负数、0)和小数
使用el-input-number标签 也可以使用typenumbe和v-model.number属性,两者结合使用,能满足大多数需求,如果还不满足,可以再结合正则表达式过滤 <el-input v-model.number"value" type"number" /> el-i…...
Docker Compose的常用命令与docker-compose.yml脚本属性配置
Docker Compose的常用命令与配置 常见命令ps:列出所有运行容器logs:查看服务日志输出port:打印绑定的公共端口build:构建或者重新构建服务start:启动指定服务已存在的容器stop:停止已运行的服务的容器&…...
with语句和上下文管理器(py编程)
1. with语句的使用 基础班向文件中写入数据的示例代码: # 1、以写的方式打开文件f open("1.txt", "w")# 2、写入文件内容f.write("hello world")# 3、关闭文件f.close()代码说明: 文件使用完后必须关闭,因为文件对象会占用操作系统…...
《JavaEE初阶》HTTP协议和HTTPS
《JavaEE初阶》HTTP协议和HTTPS 文章目录 《JavaEE初阶》HTTP协议和HTTPSHTTP协议是应用层协议:使用Fiddler抓取HTTP请求和响应:Fiddler的下载和基本使用:Fiddler的中间代理人身份:其他抓包工具: 先简单认识HTTP请求与HTTP响应:HTTP请求:HTTP响应: HTTP请求详解:首行࿱…...
微信小程序 | 基于高德地图+ChatGPT实现旅游规划小程序
🎈🎈效果预览🎈🎈 ❤ 路劲规划 ❤ 功能总览 ❤ ChatGPT交互 一、需求背景 五一假期即即将到来,在大家都阳过之后,截止到目前这应该是最安全的一个假期。所以出去旅游想必是大多数人的选择。 然后&#x…...
Excel技能之实用技巧,高手私藏
今天来讲一下Excel技巧,工作常用,高手私藏。能帮到你是我最大的荣幸。 与其加班熬夜赶进度,不如下班学习提效率。能力有成长,效率提上去,自然不用加班。 消化吸收,工作中立马使用,感觉真不错。…...
黑马程序员Java零基础视频教程笔记-运算符
文章目录 一、算数运算符详解和综合练习二、隐式转换和强制转换三、字符串和字符的加操作四、自增自减运算符五、赋值运算符和关系运算符六、四种逻辑运算符七、短路逻辑运算符八、三元运算符 一、算数运算符详解和综合练习 1. 运算符和表达式 ① 运算符:对字面量…...
Microsoft Data Loss Prevention(DLP)部署方案
目录 一、前言 二、部署流程 步骤一:确定数据需求 步骤二:规划信息保护策略...
win系统使用frp端口映射实现内网穿透,配置“任务计划程序”提高稳定性
Github下载最新版frp: https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_windows_amd64.zip 解压把frpc.exe和frpc.ini放到D:\program\frp目录下,修改frpc.ini内容如下: [common] server_addr 服务器域名或IP,假设…...
python工具方法 39 大图裁剪为小图|小图还原成大图(含生成大图伪标签)
在进行遥感影像的处理中,通常都是几万x几万的大型影像,这给数据标注(图像尺寸过大使标注软件不能正常打开或过大给标注带来困难)、训练模型(只能使用小图)、测试图片(在小图上预测需要还原成大图)、生成伪标签(需要大图的伪标签,而不是小图的)都带来了困难。针对此进…...
MUSIC算法仿真
MUSIC算法原理及仿真 DOA波达方向估计MUSIC算法概述MUSIC算法原理MUSIC算法MATLB仿真 DOA波达方向估计 DOA(Direction Of Arrival)波达方向是指通过阵列信号处理来估计来波的方向,这里的信源可能是多个,角度也有多个。DOA技术主要…...
redis 数据类型详解 以及 redis适用场景场合
1. MySqlMemcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇…...
python基于轻量级YOLOv5的生猪检测+状态识别分析系统
在我之前的一篇文章中有过生猪检测盒状态识别相关的项目实践,如下: 《Python基于yolov4实现生猪检测及状态识》 感兴趣的话可以自行移步阅读,这里主要是基于同样的技术思想,将原始体积较大的yolov4模型做无缝替换,使…...
阅读笔记 First Order Motion Model for Image Animation
文章解决的是图片动画的问题。假设有源图片和驱动视频,并且其中的物体是同一类的,文章的方法让源图片中的物体按照驱动视频中物体的动作而动。 文章的方法只需要一个同类物体的视频集,不需要而外的标注。 方法 该方法基于self-supervised策…...
【计算机图形学】课堂习题汇总
在直线的光栅化算法中,如果不考虑最大位移方向则可能得到怎样的直线? A:斜率为1的线 B:总是垂直的 C:离散的点,无法构成直线 D:总是水平的 在直线的改进的Bresenham算法中,每当误…...
国外导师对博士后申请简历的几点建议
正所谓“工欲善其事,必先利其器”,想要申请国外的博士后职位,就要准备好相应的申请文书材料。如果说Cover Letter是职位的窍门砖,那么申请者的简历就是争取职位的决定性筹码。 相信大家已经看过许多简历的模版了,但是…...
【五一创作】Scratch资料袋
Scratch软件是免费的、免费的、免费的。任何需要花钱才能下载Scratch软件的全是骗子。 1、什么是Scratch Scratch是麻省理工学院的“终身幼儿园团队”开发的一种图形化编程工具。是面向青少年的一款模块化,积木化、可视化的编程语言。 什么是模块化、积木化&…...
数据库基础篇 《17.触发器》
数据库基础篇 《17.触发器》 在实际开发中,我们经常会遇到这样的情况:有 2 个或者多个相互关联的表,如商品信息和库存信息分别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性&#…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
