第一章 安装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 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性&#…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...
