第一章 安装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 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性&#…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验
Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
