摘要: Unity2D-地形处理 前言 ​ 根据之前的学习,目前的我已经可以开发一款简单的2D平台跳跃游戏。在学习过程中,发现了有关角色移动的问题:当角色移动至斜坡时,有时会在 斜坡上卡住 ,或是 斜坡上运动速度与水平地面运动速度不相同,又或是 从斜坡上滑落 ,而这些问题都是我们在开发过程中不想看到的。 ​ 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(131) 评论(0) 推荐(0) 编辑
摘要: Unity-协程 协程的简单实现 ​ 一般的程序执行都是线性的,也就是必须一行一行的执行代码。 ​ 使用Unity提供的协程,就可以类似于开辟另一条线程,调整根据你所写的代码,调整下一行代码执行的时间。 项目示例 ​ 下面的例子是一个 U3D Demo 中的代码,实现最简单的 Enemy 追击 Pl 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(29) 评论(0) 推荐(0) 编辑
摘要: Unity-对象池 & 多对象池 简介 ​ 在制作游戏的过程中,人物和boss的设计往往会有释放多个子弹的攻击方式。我们可以用直接创造子弹然后销毁的办法来实现这些技能的效果,但当子弹开始变多,游戏就会不断的消耗我们的内存。为了解决这个问题,开发者们就引入了状态机。 普通对象池 创建思路 ​ 在不创建 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(525) 评论(0) 推荐(0) 编辑
摘要: Unity-射线 前言 ​ 在游戏开发的过程中,许多功能的实现都需要物理检测,而 发射射线 是Unity中物理检测的通用方法。例如,我们需要检测玩家(Player)脚下是否是 地面(图层为 Ground),只需要从脚底发射一条射线,检测Player脚下GameObject的图层是否为Ground即可 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(78) 评论(0) 推荐(0) 编辑
摘要: Unity-单例模式 前言 ​ 对于某些特殊的类,我们希望 在整个程序的生命周期只创建一个该类的对象 ,或是希望 在其他类没有持有该类的引用,就可以调用该类中的函数,我们就需要将这个类写成 单例模式 单例的简单实现 public class Test() { pubic abstract Test 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(29) 评论(0) 推荐(0) 编辑
摘要: Unity-Light(含Unity2021-2d项目升级Urp渲染管线) 普通渲染管线(比较老旧的光效升级方式,已舍弃) ​ 要使场景和角色拥有光效,那就得让他们先暗下来,给他们添加相应的材质 场景材质的添加 ​ 选中需要添加材质的场景,在右侧框内的“材质”菜单中,选中Default-Diffus 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(407) 评论(0) 推荐(0) 编辑
摘要: Unity-敌人(Enemy) 引言 ​ 敌人是每个游戏中不可缺少的部分,设计得好的敌人可以给游戏增添很多乐趣,设计得差的则会非常影响我们的游戏体验。 ​ 经过这段时间的学习,我们已经接触了非常多的敌人代码的写法,但是就是没有系统的归类,导致每次写敌人,都要从头开始。现在是时候将他们进行一个系统性的 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(164) 评论(0) 推荐(0) 编辑
摘要: Unity-Menu&场景切换 开始界面 1.要创建开始界面,首先要新建一个场景,用于添加游戏开始界面的内容 2.新建按钮步骤:UI>画板>Button(按钮)>根据需要设置按钮 3.给按钮添加代码,使得按下按钮就可以进入下一关/退出游戏 (1)代码内容需要用到 using UnityEngine. 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(84) 评论(0) 推荐(0) 编辑
摘要: Unity-场景的异步加载 为什么需要异步加载 ​ 在诸多大型游戏里,场景渲染精度都是动态的,随着场景与角色距离的增加,渲染精度也在递减,这样极大的减少了硬件性能的消耗。 ​ 但如果角色使用了某些传送技能,将自己传送到为渲染的地点,游戏可能就会因为需要瞬间渲染大量的场景而卡顿。此时就需要用到 场景的 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(362) 评论(0) 推荐(0) 编辑
摘要: Unity-FSM有限状态机 什么是有限状态机? ​ 在编写一些需要判断多个条件的程序时,我们常常会用到 if-else 语句,这样能够很好的帮我们解决多数问题。但在游戏开发过程中,一个角色的行为不是一成不变的,需要实时的进行修改,此时如果我们使用的是 if-else 来判断角色所处状态,就需要修改 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(293) 评论(0) 推荐(0) 编辑
摘要: Unity-背包系统 简介 ​ 背包是每个成功游戏中不可缺少的,玩家获取的装备与道具将会放入背包,需要时再拿出来使用。如果没有背包来储存玩家在游戏中获得的武器和道具,或许游戏将会变得十分单一枯燥,出招方式一成不变。 ​ 有了背包系统,玩家才可以使用不同的武器,搭配不同的道具,使出不同的攻击搭配,从而 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(430) 评论(0) 推荐(0) 编辑
摘要: Unity-观察者模式(observer) 引言 ​ 了解完委托(delegate)与事件(event)之后,我们来讨论一个问题。 ​ 假设我们有一个热水器,我们给他同上电,当水温超过95度的时候:1、扬声器会开始发出语音,告诉你温度;2、液晶屏也会改变水温的显示,来提示水已经烧开了 ​ 现在我们需 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(115) 评论(0) 推荐(0) 编辑
摘要: Unity-工厂设计模式 原文出处:工厂方法设计模式 (refactoringguru.cn) 简介 ​ 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。 工厂(方法)模式 问题引入 ​ 假设你正在开发一款物流管理应用。 最初版本只能处理卡车运输 阅读全文
posted @ 2023-11-14 19:06 Daliuteliu 阅读(29) 评论(0) 推荐(0) 编辑