这个视频会录制 json, 那 么创建一个 json 呢?就是我们要创建一个文本文件,然后改一下它的后缀,后缀改成 j s o n, 那 么它就是一个 json 文件。 json 它注视呢,是跟森井的注视是一样的,双斜杠是注视的内容,而斜杠加星号,在星号加斜杠中间是注视的内容。 那它的语法规则呢?对象用的是大括号,数组用的是中括号,建值对用的是冒号,数据分割用的是逗号。而配置 jason 党时的注意事项, 首先呢,第一个,如果数据表示对象,那么最外层的有大括号一定是箭值对形式出现的箭一定是字母串的格式,箭值对用逗号。分开数组用的是呃括号包裹,那么对象用的是大括号包裹。 excel 数据转 json 的 话,它可以在网络上搜索相关的呃网站,它可以直接把你的呃配置表在 excel 表是那个复制进去,然后它就会给你生成相对应的 json 数据, 然后我们再把它进行转化完之后,把它保存到 json 格式的数据库里边就 ok 了。 json 是 什么? json 自带的,用于解析 json 的 公共类, 它可以呢?第一个,将内存中对象序略化为 json 格式的自复串,它还可以。第二个呢,是将 json 自复串,反序略化为一类的对象, 还像前面所说的序略化和反序略化,序略化就是我要把这个文件保存到我的本地,保存到某一个位置,一个指定的一个路径中去,有相应的文件名。 那反叙利亚话呢,就是要读取这个数数据,在文件中存读字幕串,存存储字幕串到指定的文件路径中,他有两个参数,第一个是存储的路径,第二个是存储的字幕串的内容。那在指定的路径文件中读取字幕串呢? 它是 read or text, 是 我们要读取的这个文件它的路径加上这个文件它的名字。使用呃 jsonontility 进行序列化的话,它的方法就是 jsonontility 点 to json 存储到硬盘上。 而 late jason 是 什么呢?一共是两种方法,第一个就是用的是 jason utility, 第二个方法用的是 late jason。 如果用 late jason 的 话,它序略化的情况之下,它是用的是 jason maperd to jason。 但是如果我们要是推荐的话,会推荐第二种用的是 jason maper, 也就是 late jason。 那 jason 特性和 late jason 它的相同点就是它们都是用于 jason 的, 序略化和反序略化都是通过静态类进行方法调用的。那它的不同点呢?就是 jason 特性是 unik 自带的。 late jason 是 第三方需要引用命名空间的 jason 特性使用时自定义类需要加持加特性, late jason 不 需要。 late jason 支持私有变量,而 late jason 不 支持 jackson altitude 不 支持字典, late jason 是 支持的。 jason altitude 不 能直接将数据反序来划回数据集合,而 j late jason 它是可以的。 jason altitude 对 自定义类不要求有无参构造, late jason 是 需要的。 late jason altitude 存储空, 存储空对象时会存储默认值,而不是 now, 而 later jason 它存储的是 now。 所以 说我们最终的建议是用 later jason, 原因就是 later jason 不 用加特性,支持字典,支持直接反序略化为数据集合存储 now 更准确 jason 的 一些数据存储。
粉丝917获赞7482

在本期视频开始之前,我首先要强调一下关于 unit hub 的汉化,在之前的视频当中有所提到,但是并没有详细的说明,今天来说明一下。 关于 hub 的汉化其实很简单,点击左上角编号设置,在编号设置里找到外观,这有一个 language 语言,在下方切换为简体中文, 也就是说关于 harm 的汉化不需要任何的插件,直接切换语言即可。 而关于编辑器内汉化,之前的视频当中有所提到编辑所展现, 找到这个 gi 缓存下的 language, 默认它可能是一个英格历史。在这里切换为简体中文 做之前,有一个前提条件,也就是你的编辑器必须是添加的这个简体中文模块,如果你没有添加,它是无法汉化的,这一点需要注意。 下面来今天的视频,今天视频带领大家了解一下关于 c 叉宝脚本的应用。首先我们创建一个文件夹, 命名为 sit up, 同时我们创建一个新的场景,命名为 scripts, 我们在这个 search up scripts 里边儿创建一个 search up 脚本,脚本名为 test, 等待编译成功, 双击打开。 如果你没有打开这个 vs 的话,记得去查看一下这个编辑首选项 这个外部工具,看看这个脚本编辑器是否指定成功,如果没有指定成功,可以参考我之前的视频进行指定,因为如果不指定的话,这个脚本无法打开。 回到脚本当中, 我们简单了解一下,顶部有三个以 using 为语句的这个命名空间,也就是我们整个脚本所所要引用的这个头文件。 我们可能之后也要选中一些其他的投文件, 下方有一个公有类类,名为 test, 这个类的名 车与我们脚本名称必须保持一致。它的后方有一个 mono behavior, 这是一个 unity 的基础类,也就是说所有在 unity 里边儿的 ctrl 脚本必须间接或直接继承于这个类,不然这个脚本无法使用。 在这个类里边默认定义了两个函数,两个方法,第一个 start, 第二个 update。 我们可以看一下注视 start 在第一针之前被调用,而 update 每一针都会被调用, 我们可以来测试一下。我们先写个注释,让他输出一点东西,比如说输出零。 关于 set up 的输出有两种方法,第一种是 debug 点 log, 在里边输出个零。 这个零是一个 int 类型的整形变量,也就是数字,当然你也可以把它变成字符串的形式。 里边有一个零,这样呢,可以他们两个所输出的内容是一样的。我们再次用这个上方的这个, 这里输出零,在 update 里边输出一 保存, 关于保存左侧的,这个是保存当前的这个脚本,右侧是保存所有这些在顶部的这些脚本。 我建议使用这个全部保存这个右侧,这个比较方便,防止遗漏。 我们先来推测一下,正常这个脚本执行之后,他在这个控制台输出的时候,会输出一个零,会输出很多个一零,先输出,以后输出, 这是我们的推测,我们来见证一下。回到编程器里, 这里需要注意,这个脚本必须得挂载到当前这个场景里边任何一个不会被销毁的物体上。 我们正常情况下会把它创建一个空物体,把它命名为 test, 位置先重置一下,然后把这个 test 的脚本拖拽过去, 这样这个脚本就挂载上了,如果你不挂载到这个物体上的话,这个脚本不起作用。 我们来点击播放 精致查看一下控制台输出的三百七十四条,往上滑,可以看到第一个输出的是零,以后全是一, 已验证了我们之前的推测, 而且可以发现这个零只被执行了一次, 也就是说在 star 的函数里边的在第一针之前执行,但只执行一次,这一点需要注意。 那么一般情况下,在 star 的函数当中,我们会放一些关于数据的初始化,对变量的复值等等, 先把它删掉, 那么接下来顺便介绍一下关于预制体方面的内容。 我们先创建一个文件夹,命名为 perfects, perfect 就是预制体的一个英文。 我们首先在场景里边创建一个立方体,再创建一个 平面, 我们把它附上一个彩纸,蓝色,红色。 首先先说一下这个预知题,预知体就是一个可重复使用的那么一个游戏对象, 我们先把这个立方体变成一个预制体,把这个某一个物体变成预制体的方法很简单,就是把这个物体拖拽到 assess 文件夹下的,或者任何一个在它下半 的一个文件夹里,都可以把它拖进来。这里我们拖断到这个 perfect 文件夹中,拖入松手,你会发现这个图标变成了蓝色,这就说明这个预制体已经生成成功。 这里可以看到有一个预制体资产,说明这个蓝色的就是预制体。 我们把在场景里边的这个 cube 先删掉保存,然后回到脚本里边, 这里我要做一个操作,也就是当我们点击播放的时候,在长键里边把这个 cube 生成出来,那么这里就需要用到一个方法,关于克隆。首先写一个注释叫克隆遇知题, 那么这个函数方法叫 extended 括号, 这个里面需要放的是一个,嗯,物体也好,一个带有这几个 position rotation 参数的也可以。我们为了方便一点,我们直接给他一个物体 获取预制体物体, 那么这个我们先使用一个最简单的,就是一个工友类型的一个 game more jack, 一个物体有些对象, 我们把这个名字命名为 cube gar p r e provide 的前缀,然后我们把这个 cube p r e 放到这个括号里边 保存,然后回到编辑器里边,我们点击这个 test, 这里可以看到这个 cube p r e 后面已经可以拖断这个物体了。我们把这个 cube 拖拽过去, 然后我们点击播放,看看这个立方体有没有生成, 哎,可以看到生成出来这个立方体了,这里有一个克隆的字样, 但当我们点击停止的时候,这个立方体就消失了,因为他只会在这个第一帧值前执行的时候会刻弄出来一个应字题,其他的时候不会出来。 我们再做一个其他的测试,我们 先把这个 cube 拖断到场景里边,我们在他的身上添加一个缸体组件 vg 包底, 这个钢铁组件是用来模拟真实的物理重力,我们给这个立方体抬高一点, 我们暂且先不让他克隆, 我们把相机视角对齐一下, 对齐视图,然后点击播放,看看有什么样的效果。你可以看到这个立方体 由高处下落,落到到这个地平面之上,之所以没有掉落到平面的下方,是由于这个平面有一个 match cleaner 网格碰撞器, 如果我们把这个碰撞器给禁用掉,看看它能否掉下去,嗯,可以看到它掉到了这个平面之下,歪嘴不断的增大, 这也就是之前简单介绍了一下那个 box cleaner 盒装碰撞器来防止一些穿膜的现象, 然后我们再把这 这个预制题给它打开测试保存, 然后我们把这个预知几也抬高到三。 为了和之前的这个在场景里边现在的这个物体错开,我们把这个位置做一下调整,防止重合。点击播放, 你可以看到在刚刚的这个带有钢铁组件的这个立方体掉落了下来,而之前的这个没有掉落,因为它没有钢铁组件。 虽然这个物体是由这个预制体拖断过去的,但是你在这个物体上做了修改,而这个物体本身预制体本体并没有做修改。那么怎么修改呢? 如果我们要把这个修改应用到预制体本体,我们可以在他的右侧预制件上,右侧有一个覆盖,点击应用所有, 这样我们点击这个预制体本体,可以看到有一个缸体组件, 当然你也可以直接在它的整体上添加组件,然后再拖拽过去,拖拽到场景里边两种方法,这时我们再点 你播放他们两个同时掉落, 这就是关于预制体本体与拖拽过去的这个预制体,他们两个之间如果做修改的话,怎样进行覆盖? 好,本期视频就到这里,感谢大家,我们下期再见。

我写了一个名为 ulocalize 小本组建来自动实现语言本地化。整个场景里有的游戏对象使用 ulocalize 组建, 大部分游戏对象则没有使用 ulike 来组件。 如果想快速的从成百上千个游戏对象中找出使用娱乐克莱斯脚本组件的游戏对象,该怎么做呢? 你只需在 hierarchy 视图的搜索框中输入如下格式的命令, timono behavior name。 所以此处我们输入 t 与 vlocalize, 很快我们就能筛选出 所有使用娱乐克莱小本组建的游戏对象。你学会了吗? 下一个视频我继续介绍 renoty 性能调试和优化的技巧和知识。

ok, 接下来是寻路。什么是导航寻路系统?那么云体中的导航寻路系统是能够让我们在游戏的世界当中,让角色能够从一个起点准确地到达另一个终点,并且呢能够自动地避开两点之间的障碍物,选择最合理的路径进行前往。那么云体中的导航寻路系统,它的本质呢?就是 a 星寻路算法的基础上进行拓展和优化的, 那么导航网格的生成就是 never match 的 生成。要想角色能够在场景中自动寻路产生进行路径,那么必须得有 场景的地形数据,导航网格生成就是生成用于寻路的地形数据,那么导航网格寻路的组建,它就是 never match again, 这个组建就是帮助我们根据地形数据聚散路径让角色动起动起来的关键。 那么导航网格连接组建就是 offmatch link, 它是当地型,中间有断层,想让角色能从一个平面跳向另一个平面。网格连接组建时的关键,那么导航网格动态障碍物组建它,它就是 never match。 obstacle 就是地形中可能存在的可能移动或动态销毁的障碍物需要挂载的组建。那么网格外的连接组建是什么? 就是我们在烘焙地形数据的时候可以生成网格外连接,但是他需要满足的条件都会生成,而且是在编程模型下生成的。如果我们只希望两个未连接的平面之间只有有限连接路径可以跳下去的话,并且运行时可以动态加添加就可以使用网格外连接路径就指哪打哪的一个效果。嗯, 但这个我也不是很理解,网格外连接组建的使用,使用两个对象作为两个平面之间的连接,就是起点和终点,添加 of mesh link 脚本进行关联它设置它的参数的话就是 agent 等于 they start get complete narrow mesh agent。 导航网格动态组建 用来是干什么的?在游戏中呢,常常会有这样一种功能,场景中有一道门,如果这道门没有被破坏,是不能自动导航到门后的一个场景的,只有当这道门坏了,我才能够到下一个场景。而类似的这种物体本身是不需要寻路的, 所以呢,没必要添加 nevermind agent 的 java, 这时就会使用到了动态障碍物组件的实现该功能。那么导航动态障碍物组件,它的一个使用 就是说为这个物体添加上的外面是 opposite skill 它的组建,再设置相关的参数,再代码,再去控制它啊,就 ok 了, ok。

为是候当服务员,那接下来是数据通信模型。数据通信模型分为分散式、集中式、分布式,这三种方式决定了数据在网络环境中的管理方式。那么分散式 是在分散式系统中,用户只负责管理自己的计算机系统,各自独自的系统之间没有资源或者是信息的交换和共享,就类似于一台没有联网的设备。 这种模式由于存在大量共享数据的重复存储,除了引起数据锐移之外,也容易导致一个组织内各个部门之间的一个不一致性,同时还会造成硬件或者是支持和运营维护等成本的大量增加,因此呢,他早早的被淘汰了。 那集中式的呢?在集中式环境中,用一台主计算机保存一个组织的全部数据,而用户则通过设备连接到在这台计算机并和它通信, 从而达到访问数据的目的。它的优点就是方便数据的共享,消除了数据的任意和不一致性,那它的缺点就是可能性不如分散式,主机出现故障,所有的系统全部都会瘫痪。 分布式,分布式是分散式和集中式的混合,类似于我们学过的计算机网络,它是分散式的水平交互和集中式的垂直控制相结合的一种模式。它兼具了分散式和集中式的优势, 方便数据的共享,消除了数据的锐于和不一致性,同样也增加了容错性。 接下来是模型,有一个 cs 模型,也就是 clint 和 siri, 它的模型叫做 cs 模型, 它是目前大多数网络通讯信采用的模型,那从程序的角度去来说的话,客户端和服务端打交道相交,相当于就是两个程序在打交道,就是 cs 模式, 那 b s 模式, b s 是 brown, server 模式是 s, b s 它是一种基于 web 的 通信模型,使用了 http 超文本传送协议通信, 那 b s 是 一种特殊的 c s 模型,特殊之处就是这种模式的客户端不需要我们自己开发,一般是某种浏览器啊,比如 i e, 谷歌 qq 浏览器啊,三六零啊等等 这些。 b s 模型的优点就是单台计算机可以访问任何一个外部服务器,简单来说就是外部服务器端可以随意的变,但是客户端是通用的,我们不需要针对不同的服务端专门提供客户端应用程序。 p to p 模式也叫对等互联,每个联网的设备同时运行一个应用程序的客户端和服务端部分, 也就是说一个应用程序同时作为客户端和服务端,它的优点就是通信方便,成本低,缺点就是可信,不如 cs 模型, 那对于网络游戏开发来说,我们采用了 cs 模型来进行前后端开发,在服务端的布局上往往使用的是分布式的形式进行管理,比如说服务端的用户数据使用了集中式的进行管理,而玩家的数据都存储在了数据库应用上, 那应用程序使用了分布进行管理,账号服务啊,以及游戏服务器啊,聊天服务器啊等等,它的跨服的 pvp 服务器等分布式管理,这些服务端应用程序都使用了数据库中的数据分别进行逻辑处理。 那网络协议概念协议的字面意思就是经过谈判协商而制定的共同承认、共同遵守的文件。 那网络协议的基本概念,网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合,指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合。 网络协议的概述网络协议是计算机网络中进行数据交换而建立的规则、标准或约束的集合,指的是计算机网络中互相通信的对等实体之间交换信息实,所必须遵守的规则的集合。 网络协议的概述,它主要就是 o s i 模型和 tcp 协议。

应用程序进行通讯,那么基本概念就是 ip 地址决定了设备在网络中的具体地址,而端口是不同应用程序在设备上的门牌号码。 一台设备上不同的应用程序想要通过通信,就必须对应一个唯一的端口号,那端口号的使用规则它一般是幺零二四以下的话,是由 i a n a 互联网 数字分配机构管理的,那也可以选择幺零二四以上的端口进行使用。 mac 地址基本概念 mac 地址就是媒体存取控制地址,也称为局域网地址、 mac 地址、以太网网址以及物理地址, 它是用来确认网络设备位置的地址。在 o s i 模型中,第三层网络层负责 ip 地址,它则负责 mac 地址。 mac 地址是用于在网络中唯一标识一个网卡的。 一台设备可以有多个网卡,每个网卡都会有一个唯一的 mac 地址,那 mac 地址的构成它也是有前三个字节十六位,禁止。 客户端客户端就是用户使用的设备,也就是计算机、手机、平板等,那客户端应用程序就是在成这些设备上安装的这些软件。 那客户端它是指与服务端相对应的,为客户提供本地服务的应用程序, 比如说浏览器啊这些东西。 ok, 那 客户端是这些应用程序,那服务端它就是为客户端提供的服务的设备,一般是一台性能较好的计算机。

哈喽,大家好,我是 michael, 再次欢迎你加入到这个系列教程的学习当中。 首先在第一个视频里,我来帮助大家一起安装我们的 unit 游戏引擎,还有我们的代码编辑环境。这次我特别准备了一台 windows 的电脑来帮助 windows 的小伙伴熟悉如何安装和配置这个环境。那么话不多说,我们先来打开 unit 官网, unity 中国的官方网站,地址是 unity cn, 打开之后在屏幕的右上角可以看到这里边有一个下载 unity, 我们点击一下, 点击之后会跳转到 unity 下载的这个网页,那首先在右上角这个位置,如果你之前没有 unity 的账号的话,那建议你在这里边创建一个新的 unity id, 你可以通过邮件地址 的方式进行注册,或者选择下边的使用微信来注册都可以。那如果你已经有账号的话,那建议你提前先登录你的账号,这样方便我们来下载,那我先登录一下。 好,目前我已经登录好我的账号了。然后我们来看一下这里面都有什么可以下载的东西。首先第一个就是可以使用 unit 的云桌面,那稍后也会给大家讲解这个内容。 如果你的电脑配置不是那么高,或者你不容易配置开发环境的话,我们可以使用 unit 云桌面,即便你使用平板电脑,也可以在外边访问使用云桌面,然后进行 unit 的开发。 那通常来讲的话,我们会先下载下边对应的 unit 的版本,那目前此时此刻 unit 最新的版本使用的是二零二二点二点六,那么我们会使用最新的 unit 二零二二这个版本, 那么在上面有一些版本的不同的类型,比如这里有长期支持版,还有补丁程序版以及贝塔版本,那这些都有什么用呢? 长期知识版可以提供至少两年的稳定更新,他会以每个星期或者每半个月的方式来进行增量的更新,修复一些小的问题,但是不会有大的功能性的改变和窗口变机器的一些改变。 而我们刚才要使用的这个 unity 二零二二点二这个版本呢,叫做 technical screen 版本,那这个版本呢,所使用的功能是跟我们的长期支持版完全一样的,它是提供给一些开发者提前使用一些新的工具和新的编辑器, 这也就意味着他不会跟二零二二点三有太大的差别。所以我们选择使用这个版本,那也同样意味着无论你什么时候观看这个视频,你要 留意你的开发的周期,还有我们这个教程同样提供超过两年以上的知识,所以至少使用 unit 二零二二点二这个版本,跟着我一起来做游戏。 然后每一个版本后边都有一个叫做 release note, 这里边讲述的当前的这个小的版本号就是二零二二点二后边这个点六这个版本号里面更新了什么样的内容?下面有一些这个版本更新的调整的以及解决的 bug, 甚至有一些更新的时候会告诉你有一些已知的 bug, 所以你在使用英语题的时候出现了一些问题,别忘记回头来看看,也许你的这个问题会在下一个小版本更新的时候得到解决。那在这里面我们先返回, 接下来我们就可以下载了,我们可以看到这里有三个下载选项,从 hub 下载,下载麦克版和下载 windows 版本。那我们会使用 uni 的 hub 来下 下载所有 uni 的版本,同时来管理我们游戏的开发项目。那无论你点了后边的哪两项,最后在你运行的时候,他都会提示你让你下载 uni 号,所以我们先来下载 uni 号,点击之后下载你的对应的版本。别忘记你要提前登录你的 uni 账号,不然在这一步他还会提示让你登录。 下载好以后,我们运行安装一下这个网页,我就先关掉了。 下载之后我们可以看到桌面有一个快捷方式,就是 uni harb, 我们点击完成之后运行, 打开 unihab 之后,它也会提示先让你登录你的账号,同样我们登录一下我们 uni 的账号, 然后登录好了之后呢,他会先提示你 让你下载版本,那现在这个版本就是 unity 二零二一一点三点一九目前最新的长期知识版。那我们要使用新的版本,那我们就先跳过这个安装的步骤。 接下来是激活个人免费的使用证书,这个证书只要你至少每隔三天来登录一下 unihab, 他就会自动激活,只有在第一次安装的时候需要手动来激活, 我们点击同意,接下来我们就已经获得好我们的证书了。然后我们首先先把我们的这个 hub 改成中文版,方便大家来查看。点击右上角的齿轮按钮,然后选择 appearance, 在这里边我们可以把 language 改成中文简体。 好的,那顺便我们来看看这里边的一些选项,在编号设置当中,我们有项目,这里边会提示你默认把你的项目存储到哪个文件夹下面,那么我现在用的这台电脑并没有分区,只有一个 c, 那大家根据自己的需要进行调整就可以了。另外在安装的这个步骤,我们也可以选择把我们的 unit 编辑器安装到哪一个磁盘,哪一个文件夹当中,还有你通过 unit 下载的一些资产文件会保存到哪一个路径下边。 另外在这里面有个很重要的就是 plastic sem, 这是一个版本控制的程序,我建议初学的和刚开始接触 unny 的小伙伴暂时不要使用这个工具,这个工具会受限于你的网络情况,也就代表如果一旦你的网络不畅通,很可能就会出现一些各种各样的问题。 好的,那暂时没有其他的内容,我们先关闭了。左侧呢,我们可以看到有很多的选项,也包括刚才我们说到的这个云桌面,所以如果你在云桌面当中添加了任何主机的话,你可以通过这里快速访问你的云桌面的主机,直接进行由你的开发。那么这里边 也提到了有我们的社区,那 unit 的社区当中也提供很多的优秀的文章,有很多开发者乐意分享一些技术的文章,还有 unit 官方社区组织的各种各样的活动,大家时不时的可以查看一下社区的内容。 在学习里边,我们可以看到 unity 中文课堂里边一些优秀开发者的课程,那在安装这个部分,也就是我们要接下来安装我们的编辑器了, 我们点击右上角选择安装编辑器,在这里边提供目前最新的一些版本,我们先安装二零二二点二点六,那么在麦克系统当中呢,我会使用二零二二点二点七这个版本,也就是下一个版本号,让大家记得看这个视频的时候,使用当下的最新的那个版本就可以了。 点击安装之后,首先它会提示你安装什么模块,默认最上边帮助我们勾选了开发工具,也就是 微软出的微州 studio community。 二零二二,强烈建议大家使用 uni harm 帮助我们安装好这个代码编辑器。微州 studio 是负责帮助我们写代码的,我们通过它来安装,可以帮助我们配置好很多开发的环境。 那下面这些就是各种各样的平台的支持了,例如如果你开发一个安卓的应用程序的话,在你打包成安卓的 apk 文件之前,你要勾选他们把它们安装进来,那此时此刻我们不需要,因为这个模块的工具呢,我们可以后期再来添加。 然后我们向下翻,在下面也提供了一个文档,那个这个文档呢,是一个离线的英文文档的查看,那大家根据自己的需要就来选择就行,那默认的情况下,我先不选择了。接下来是编辑器的语言包,勾选了之后呢,我们会安装一个预览版的中文版的 unit 的语言包,但是 我建议大家,如果你刚开始学习的话,不要使用简体版,因为大多数的开发教程都会使用英语版,而且你以后如果加入到公司或者学习更多的文档,新的工具的话,都是英文版的代码手册,如果你改成中文,很不容易找到对应的位置。 当然了,如果你使用一些粒子效果或者其他一些复杂的功能,实在那个英文不容易理解的时候,我们也可以适当的切换成中文,帮助我们好理解相关的内容,大家根据自己的需要去勾选就行了。那在这里我只勾选了最上面的这个微州四九九 comenitt 二零二二这个版本,点击继续 勾选,同意我们一起安装一下,那这个根据每个人电脑的网络不同,下载的时间和安装的时间都略有不同,那我加速这个部分大家也可以暂停这个视频。安装好了之后我们再继续, 那么在等待这个安装的过程。我也给大家介绍一下我们的代码编辑器,那现在我们使用 uni harb 来下载我们的微软的 video studio 二零二二这个版本是一个社区的免费版本, 那其实我们还有其他的代码工具可以使用,在这里我简单来介绍一下,我们刚才所使用的就是左侧的这个 vros 丢丢,在下拉菜单当中我们可以看到我们使用的是社区的二零二二这个版本, 然后他也提供一个麦克的版本,那至于麦克系统如何来下载 unit 安装,还有配置开发环境的话,那后边的内容也会简单提到。还有我以前的视频当中也讲的很多跟麦克有关的内容, 因为使用麦克开发的小伙伴比较少,所以在这里就不详细的来介绍了,如果你有任何问题的话可以留言,也可以提问。那还有一个工具是轻量级的编辑工具, 就是维州斯丢丢扣的,那么在我这个教程当中,我会使用麦克系统的开发环境,使用的变机器就是维州斯丢丢扣的,在右侧我们可以看到这是维州斯丢丢扣的的这个开发界面,在这里边我们需要一些开发工具,这些插件会帮助我们开发不同的软件,对应不同的变机器等等等等。 所以想要使用它来开发 unit, 我们也要手动来配置一下。那具体的方法呢?稍后我也会在麦克系统里简单做讲解。无论你使用这两种边气的哪一个,官方都提供了一个文档,帮助我们了解如何把它们应用在 unit 当中。 左侧是使用 vito studio 来开发,包括如果你手动来下载 vito studio 的话,它要怎样配置实现我们 vito studio 开发 unit 的这个工具,那右侧就是 vito studio code, 这里面也提示了你需要下载什么,你需要下载 点 nite 的 sdk, 如果你是麦克系统的话,你还要下载 mono, 然后你要安装 c shop 的扩展包等等等等,以及在 unit 界面当中我们怎样选择对应的开发工具。那么稍后我们安装好 unit 之后,我也给大家一起来讲解相关的内容, 那我也会把这两个网址放在这个视频的下方,感兴趣的小伙伴可以访问视频下方的链接。那我们来回来看看是不是安装好了,那么现在编辑器正在安装,然后就是安装我们的 vito studio 了,我们稍等一下。好的,现在我们就成功安装好了我们的 unt 的编辑器,接下来我们一起创建新的项目, 我们选择左侧的项目,在这里我们按右上角的新项目,在打开的新项目的这个面板,在最上方我们可以选择你想以哪一个版本的 unit 来创建一个新的项目。现在下了菜单当中只有我们刚才 安装的 unit 二零二二点二点六这个版本,那如果你有多个版本的 unit 的话,记得要在这里边选择最新的版本。然后我们在中间可以看见有很多的模板, unit 已经帮助我们内置创建了各种各样的模板,花时间可以浏览一下。 这一次我们要使用的就是二 d 的 urp 这个模板,这里面包括了我们的通用渲染管线的配置,所以我们不用额外再进行配置了。点击阅读更多,可以看到这里面都有什么内容,而且知道这一套模板当中包含哪些软件包。另外一个很重要的问题就是在右下角 这里边有一个启动版本管理并同意政策条款,这个内容就是我在之前提到的 plastic scm 版本控制的软件。建议大家初学和第一次使用 unit 的话,不要启动这个选项,千万留意不要勾 选这个选项,因为如果一旦你的电脑网络不畅通,你会遇到很多麻烦的事,而且有的时候这个版本管理会跟你的项目当中一些文件有冲突。 那接下来就是要创建你的项目的名称以及他要保存的路径位置了,大家根据自己的需要去调整保存到的路径位置。建议大家创建一个统一的文件夹来管理所有的你的 unity 的项目。那在这里我们来创建我们这个游戏的新项目,我给他起名叫做 to the uh the venture, 然后点击右下角的创建项目。 好的,现在我就成功创建了一个空的新的 unity 的项目了。那这是一个他的默认的界面的布局,稍后我们也会讲这个如何编辑自定义我们的布局。然后我们怎么样 确定我的代码编辑器已经跟 unit 连接好了呢?首先我们去到左上角的菜单,找到 addy, 然后找到 profices 麦克系统,在另外一个菜单当中可以找到。 然后在左侧我们选择 external tools, 可以看到右侧我们的代码编辑器 script editor 已经帮助我们默认选好了我们刚才安装的微卓 studio 二零二二,这就是为什么我强烈建议大家使用 unit hub 来安装这个代码编辑器,它会帮助我们自动配置好。 那如何来检验已经完全生效了呢?我们找到我们 project 窗口,在空白的位置按鼠标右键, 在打开的菜单当中找到 creet, 选用选择 c shop script 创建一个新的 c shop 脚本。创建之后呢,他会提示让我们改名,那在这里边我们就不改任何名字了,直接点击一下空白的位置, uni p 会进行加载和变异。变异好之后,我们双击打开这个代码。好,我们双击打开,它会自动帮助我启动 windows 丢丢。如果弹出窗口让你登录的话,你可以选择直接跳过,然后选择一个主题,就可以启动我们的 windows 丢丢了。好,现在我就打开这个项目了。 我们可以留意到一开始这个 morning behavior 是白色的,然后它变成了这个绿色,同时我们也出现了 unity 脚本,引用上面的这个体式, 这就代表我们现在的这个编辑器已经跟我们的 unit 连接在一起了,它可以帮助我们进行 debug, 也可以给我们代码方面的提示和自动的补权,这就是方便我们来开发了。所以如果你的 model 比赛是白色,而且没有显示上面的这个 colons, 也就是引用的话,那么就代 表他还没有设置好,这时候怎么办呢?有的时候我们再次打开我们的项目,启动的时候,他就是没有连接到一起。如果遇到这样问题的话,先关闭你的代码编辑器,然后在空白的位置按鼠标右键选择 open c shop project, 这会帮助我们重新编译并且打开我们整个的项目的解决方案。然后他会重新调用所有的引用和命名空间来帮助我们解决不能连接的问题。重新打开之后,我们稍等。 ok, 那这就代表我们已经成功地把我们的代码编辑器配置好了,我们就把它关闭吧,代码我也不需要了,我就可以把它直接删掉了。按鼠标右键,然后选择删除。 好的,那这就是这个视频。我帮助大家一起来安装了 unit 的编辑器,也配置了代码的编辑环境。再次提醒 大家,无论你是安装 unit 还是安装代码编辑器,还有创建新项目,都不要使用任何的电脑的杀毒软件和电脑管家。 windows 自带的防御系统已经足够强大了,不要因为乱七八糟的软件影响了我们游戏的开发, 那么在麦克系统当中,如果你在 unihab 里边选择安装编辑器的时候,我们要留意一下,如果你使用的是 apple silicon 芯片的话,你一定要安装这个对应的 apple 芯片的版本, 这样的话才能发挥你电脑的性能。如果你是 intel 版本的麦克系统的话,就安装下边的这个 intel 版本就可以了。另外在创建新项目之后,我们在选择编辑器的时候还要留一些内容。 当你创建好了一个空的新的项目之后呢,在麦克系统当中,我们要去找到的是 unity 菜单下面的 preferences 这个菜单,然后我们要在左侧这里边选择 external tools。 在我的麦克电脑当中,我安装了几种编辑器,其中也包括刚才没有提到的 writer, 所以我这里有 vs code, 还有 writer。 writer 也是非常强大的一个代码编辑器,只不过它是收费的,当然了,如果你是学生的话,可以免费领取学生的 license, 感兴趣的小伙伴可以访问 red 的官网。选择对应的编辑器之前,我们还要有一点要确认的,去到你的 window 的菜单,找到 package manager, 在你的 package manager 打开的时候,在左上角这里边下了菜单,选择 in project。 我要确定在我的项目当中有我的代码编辑器的支持,比如说现在有 vito studio 的 editor, 那就代表我使用 vito studio 的话,是可以跟我的 unit 连接在一起, 有代码提示,也可以进行 debug。 同样这里边也有预制,帮我安装好的就是我们的 writer, 那 writer 的编辑器也可以,不过这里边没有我们的 vito studio code, 所以这时怎么办呢?在左上角的菜单当中,我们选择 unit registry, 然后在这里边我们搜索一下 video studio code, 我们可以安装一下我们的 video studio code editor 安装好了以后,我们就可以让 video studio code 用于我们 unity 的代码开发了。 好,安装好了以后,我们再来看看 preferences 的菜单。好,现在就可以正确识别我们的代码编辑器了。 v 轴 studio code, 还有我们的 writer。 ok, 那这就是麦克系统上面相关的配置了,创建新的代码我就不演示了。关于微州 studio cod 需要安装哪些插件?鼓励小伙伴再次访问一下视频下方关于微州 studio 配置 unit 的这个链接, 也可以看一下我 b 站置顶动态里边关于微州 studio code 的截图,里面由我安装了哪些插件,感兴趣的小伙伴千万不要忘记去访问一下, 所以赶紧做好这些创建 uni 的账号下载 uni 编辑器,下载代码编辑器。配置好了之后,我们下个视频一起来开发游戏了,别忘记点赞、转发和收藏,我们下个视频再见吧,拜拜!

这是 u n t 昨天正式公测上线的 ai 助手,你以为它只能帮你生成三 d 模型吗? low low low 啊!它可以当你的小助手,直接操纵编辑器,帮你改物体一条参数,处理工程文件,甚至还能根据项目分析电脑性能,自动改代码,一键生成场景等等等等啊!更关键的是,它是直接集成进 u n t 编辑器里的,可以 直接操作软件,接管你的开发流程啊。比如在官方的第一个演示中呢,它会直接分析你的性能瓶颈,然后告诉你哪里卡了,瓶颈在哪里,哪里需要重度优化。哎,关于这个功能啊,做过项目的小伙伴应该会, 有时候项目一卡观察问题都能查半天,尤其项目一大查卡顿, cpu 内存泄露能查一晚上,把人看红了啊!现在你直接可以把这个丢给 ai, 它可以帮你 自动开始分析,就有点像项目里突然多了一个技术管家啊。然后它还有个规划模式,你可以直接跟他说你要做一个什么样的游戏,然后他会开始帮你逐步拆解需要先做什么,第二步要做什么,哪些功能有关联,哪些系统有依赖。以前很多新人呢,想到一个游戏玩法,会一开始帮你拆解每一步 部的开发流程,可以从最根本上的开发逻辑帮到你啊。然后还有个演示,特别经典啊,指这个 ai 助手说,在车顶上加一把枪,边写一个脚本来瞄准并射击。然后啊, ai 就 开始自己改模型,一些脚本调场景啦。 最后这个赛车游戏就这么水滴滴的变成了射击游戏。以后如果你是做独立游戏的小开发者呢,这个功能或许可以帮你节约很多 试错的时间哎,直接把不同的玩法都套在你的模型资产上去试试,非常适合前期的方案阶段。并且除了可以改工程项目以外呢, u t a 还可以现在帮你把模型的位置也摆好了,比如在官方演示中,哎,直接跟 ai 输入一 下关键词,然后 ai 就 会自动帮你摆放好每个宝箱的位置,自动调整好位置,自动沿着地形法线去排列。其实以前很多场景搭建呢,是比较耗时间的嘛,对吧?尤其摆物件啊,摆位置的朝向密度这些全都是需要花时间去弄它。起码现在应用体 ai 呢,可以帮你做很多重复的工作啦。 但是除了这两个功能以外,它也是可以支持传统的一些 ai 生成内容,比如像 ai 生成贴图啊,生成模型,生成资源,这些大家应该都很熟悉,不过说实话,目前它的这个效果,嗯, 还是有点抽象的。不过生成这方面呢,还是有一个长处的,也就是 ai 生成动作,动画已经开始有点点能用啊。你 直接输入一个,做一个后空翻,做一个回旋踢,然后 ai 会自动给这个角色生成相应的动作,而且已经开始有点能用了,虽然还是有一点怪怪的 ai 味,但也不是前几年那种僵尸鬼畜的水平啊。这个东西如果发展下去了,以后小团队做独立游戏可能会 大量使用。然后啊,我们把以上这些东西全都连起来看啊,哎 up 发现优益体这次还挺聪明的,因为他终于不投铁了。之前优益体不是也搞过一些 ai muse 这种 ai 工具吗?很多人应该还有印象,当时那套东西出来的时候,说实话,体验还是挺一言难尽的,很像那种给雀的 gpu 套了层优益体的皮 呀,很多人用两天也就关掉了。结果这次 u 运体明显换思路了,推了一个新的 ai 助手出来,他不再选择自己去做一个全世界最强的游戏开发 ai, 他 选择了 ai 总控台这条方向。比如 官方现在搞了两个东西,一个是 m c p 模型上下文协议,一个是 ai 网关。 u 运体呢,现在可以允许外部 ai 大 模型接管整 编辑器了,比如现在已经可以支持接入的模型有克劳德杰姆奈、 coser、 微软 ai 助手等等等等,全部都接入到 unikey 的 开发编辑器里了。不过呢,哎,话又说回来, ai 现在最强的还是执行一些重 复麻烦的操作,真正决定游戏好不好玩的呢,很多时候还是创意节奏、世界观、关卡设计和美术风格啊。这些东西呢,目前还不是几具提 视词就能解决的问题,起码现在还不行啊。而且说到底呢, u n t 六和国内也没什么关系啊,国内现在有替代版的团建引擎啊,也是集成了不少 ai 功能。如果你也想试用 u n t 的 ai 新功能,但是又不知道怎么用,那我觉得你也可以试试国内的团结 ai 啊,像团结 ai 助手啊,团结 ai graph 功能基本上也都差不多,只是少了一些国外的 ai 大 模型。 所以呢,回到 u n t 六的这个 ai 功能,我觉得啊,它其实更多会影响到海外的 ai 大 模型,比如现在已经有很多国外开发者开始图 吐槽啊,大陆都在说,哎呀,游戏行业正在工业 ai 化啊,最近 steam 已经开始出现了很多异眼 ai, 尤其像什么例会啊,配音啊,文案宣传图,一眼都是 ai 生成的那种,味道特别明显。很多游戏点进去看呢,就像是限时免费的 ai 素材大乱炖啊。 特别是这次用一 t 六的 ai 功能上线以后呢,相信这种现象啊也会越来越明显,越来越多啊。 好啦, c 是 看快报行业大事,早知道关注我了解一下又发生了什么事情,我们下期视频再见!拜拜!

大家好,今天我们实现题库应用的答题功能,现在我们打开项目,想实现这个功能需要通过脚本,所以现在我们先创建一些脚本。 首先是在项目下面创建脚本存放的文件夹,包括 data manager 和 ui, 分 别用于存放数据管理脚本和 ui 相关的脚本文件。 现在我们先在 data 文件夹下创建一个数据模型的脚本文件,右键创建 c sharp 脚本, 重命名为 question data 题目数据,然后双击打开,打开以后我们编辑这样一段代码,接着我们创建题库管理器,这个我们放在 manager 这个文件夹下,右键创建 c sharp 脚本, 重命名为 canvas manager 啊,双击打开便写相关的提库控制器的管理代码,然后保存提库管理器,我们需要将它挂载在一个空对象上,我们先创建一个空对象, 重命名为跟 manager, 将刚才创建的这个脚本挂载到我们创建的这个空对象上, 并且这个题库管理器我们需要在所有的场景都要创建一个这个对象科目选择界面创建一个给 manager 对 象,然后挂在快速式 manager 这个脚本, 接着我们就开始实现答题的界面功能,我们在 ui 这个文件夹下创建一个 c shop 脚本,命名为 q 的 ui controller 下划线 complete, 然后双击打开, 编辑这样一段答题界面,控制器的脚本保存回到右面题,现在我们来到答题的界面, 将新建的这个 qus ui 看车了这个脚本挂载到 qus canvas 这个对象上,然后配置 ui, 引用 这里边有问题的文本,我们找到对应的问题文本,将它拖动到这个字段上,下边有我们创建的选项这几个按钮的文本,我们将它分别拖动到对应的字段上, 这个顺序一定要按照 a、 b、 c、 d 这几个选项的顺序来拖动对应的字段。接下来是选项按钮,我们将这个选项按钮 a、 b、 c、 d 分 别拖动到对应的字段上, 然后是下一题按钮,还有上一题按钮以及提交按钮,还有一个返回按钮,都要将它把相应的对象拖动到对应的字段上。还有其他的像题目数量,进度条以及结果面板,这样所有的字段的引用都完成了, 我们先保存一下,接下来我们实现科目选择界面的功能,打开科目选择界面,在项目的 ui 文件夹下创建一个 c 册脚本,为它重命名为 subject select ctrl 题目选择控制器,然后双击打开,输入科目,选择控制的相关代码,然后保存。现在回到 unit, 我 们将科目选择控制器这个脚本挂载到 subject canvas 这个对象上,然后配置科目信息,我们选中 subject canvas, 在 检查器面板中找到刚才这个脚本文件对应的科目,配置这个选项的位置,输入九、 配置对应的科目。例如我们配置语文的时候,是将 subject key 输入 chinese 科目名称,输入语文题目,按实际需求,例如我们是一百五十道题,语文, 接着有数学 math, 名称是数学题目,数量二百。第三个元素是英语 english 题目,数量一百。第四个是 physics, 物理题目,数量一百。下面是化学 chemistry 题目一百,然后是生物题目,数量一百,历史、地理、政治这样九个科目的元素就配置完成了, 配置完成以后,我们绑定相应的 ui 元素。首先是科目按钮,我们一共九个科目,输入九,这样按钮就显示了九个元素,我们将对应的按钮拖动到相应的字段上, 一定要记着顺序,这个顺序是按照刚才我们科目配置的元素是一致的,否则的话将来就会出错。 按钮全都拖动完以后,再看科目名称,还输入九科目名称,对应的字段全都拖动到相应的位,所有的字段都保证顺序是一致的。生物、 历史、地理,最后一个政治题目数量输入九,一共对应的是九个科目,每一个科目的数量全都拖动到对应的字段上。物理、化学、生物、历史、 地理、政治,还有下边的这几个需要配置的元素,这个是确认的文本以及开始答题按钮,全都拖动到对应的字端上,然后保存一下,这样我们这几个科目的配置就完成了。 这样完成并不能够实现跳转,我们要想实践点击某一个按钮,能够跳转到对应的页面,我们现在还需要做相关的跳转配置。 现在我们选中开始答题按钮,我们要在点击开始答题按钮的时候跳转到答题页面,我们选中开始答题按钮,在检查器面板中找到鼠标。单机事件现在显示的是空列表, 我们点击加号,然后将 subject csv 拖动到无对象这个位置。现在我们就可以在函数这个地方选择 on start qs, 也就是跳转到 开始答题的界面,这样我们答题界面和选择界面都配置好了,再回到主菜单场景,创建主菜单控制器,在项目的 u i 文件夹下创建一个 c shop 脚本, 重命名为 my menu controller, 双击打开编辑这样一段主菜单控制器对应的脚本,然后我们找到 my menu canvas, 给它添加刚才我们创建的这个脚本组建,现在我们为每一个按钮都绑定事件,找到这个按钮的面板,首先选中开始答题按钮,我们在检查器面板中找到鼠标单机事件,然后点添加,将 my new canvas 拖动到无对象的这个位置, 然后选择函数,它对应的应该是开始答题按钮,为它添加 my new canvas, 然后找到科目选择这个函数,还有 ar 学习这个按钮,也是将这个对象 my manual canvas 拖动到五对象这个位置,然后选 ar button 这个函数,最后一个个人信息还是拖动 my manual canvas, 然后选择个人信息这个函数,这样我们的主菜单也就配置完了。现在我们在做最后的运行之前检查, 第一个要检查的就是我们运行需要用到的所有场景都在生成设置 的相关列表里,现在我们看只有一个主菜单场景,我们还要将另外两个场景添加到场景列表中,拖动这两个场景到场景列表中。一定要注意顺序,第一个是主菜单,第二个是科目选择界面,第三个是答题界面,这个顺序是必须要保证的, 然后关闭。接着检查其他的按钮绑定,例如我们开始答题按钮,他这个绑定是否已经操作,还有其他必要的绑定,例如返回按钮了等等。当这些都做完以后,我们保存 回到主菜单场景,点击开始运行,然后点开始答题,这样他就跳转到了科目。例如数学下边就会弹出开始答题按钮, 然后点开始答题,就会跳转到答题的页面,选择一个答案以后,会出现下一题按钮,然后点击下一题按钮,再选择一个答案,就会跳出来提交答案的按钮。当然我们这个模拟的一共是两道题, 两道题选完答案以后,他就提示了要提交答案,我们点提交答案会弹出结果显示面板,这样我们的基础答题功能就完成了。那好,今天的分享就到这里,我们下期见。