第一章 安装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 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性&#…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...