12 2023 档案
摘要:导入资源包 在Unity Assets Store当中,下载导入下面两个资源包到Unity中 在Unity中,下载导入到项目当中 新建一个文件夹,命名为Audio,将导入的两个文件夹放进来 挂载音效 打开Main Camera,能够发现该摄像机带有一个名为“Audio Listener”的组件 该组
阅读全文
摘要:安装摄像机插件 打开Package Manager,输入Cinemachine进行搜索安装 导入摄像机 在Hierarchy窗口中,添加2D Camera 会发现Game窗口没有任何东西,因为该摄像机并没有进行跟随、观看等相关的设置 将Player拖进Follow、Look At,并将Lens Or
阅读全文
摘要:思路 能够发现Fill Amount就是控制血量条长度的控件,它是一个百分比值,则可以通过当前血量除以最大血量得到当前血量的百分比。那么,也就能控制血量条的长度了。 编写基本的更新逻辑 创建C#文件 将C#文件挂载到Player State Bar上 在C#文件中调用UI组件前,需要调用UI组件库
阅读全文
摘要:下载并导入UI资源 前往Unity Assets Store中下载添加此资源 打开Unity中的Package Manager,选择My Assets,点击Import导入项目中 取消选择Scene,其他的全都勾选上,然后点击Import 然后在Assets文件夹下方会出现M Studio文件夹,此
阅读全文
摘要:思路: 从敌人的位置发射一道射线或者一片区域来对玩家实体进行检测,如果检测倒玩家,则进行追击进攻 利用BoxCast()即可实现 BoxCast()官方文档:https://docs.unity3d.com/cn/2022.3/ScriptReference/Physics2D.BoxCast.ht
阅读全文
摘要:状态机与抽象类 观察如下代码: public class AttackFinish : StateMachineBehaviour { // OnStateEnter is called when a transition starts and the state machine starts to
阅读全文
摘要:裁切素材制作受伤动画 略 制作死亡动画 由于没有死亡动画素材,所以直接调整Alpha通道数值,使其逐渐消失 在Animations中复制野猪受伤动画,命名为boarDead Animator中拖入boarDead动画 点击Add Property,选择Color 将最后一帧的Alpha值改为0 An
阅读全文
摘要:在人物Move()方法中使用了Sprite Renderer组件,对人物进行了X轴翻转。但是,在后面进行攻击判定开发的时候,发现判定区域并不会进行翻转 Move()方法内Sprite Renderer的翻转代码 // 人物翻转() if (xDirection > 0) { spriteRender
阅读全文
摘要:撞墙判定 将野猪绑定Physics Check脚本,并将Ground Layer选中Ground,调整Button Offset到脚边,Check Radius为0.1,即可判定悬崖 physics Check脚本中添加一些变量,用于墙壁判定逻辑 public bool touchLeftWall;
阅读全文
摘要:一、类的继承 在Scripts下创建Enemy文件夹,里面再创建两个C#文件 将Boar文件内的代码修改为以下代码,:后的是Enemy,即继承了Enemy类 public class Boar : Enemy { } 在Enemy内,编写基本属性 public class Enemy : MonoB
阅读全文
摘要:判断伤害触发动画帧 观察动画,发现只需要在第4帧时才进行伤害,即发生剑影的那一帧。其他动画同理 添加碰撞盒 目前不需要再玩家Player身上建立过多的碰撞体,因为采用新的方式 选中Player,右击选择Create Empty,创建一个子级对象。命名为,Attack Area 并在Attack Ar
阅读全文
摘要:新建三段动画的Animation 将Project中的三段攻击动画的素材,拖入到Animation窗口,分别命名为BlueAttack1,BlueAttack2,BlueAttack3 在Animator中创建动画图层并进行进一步的操作 创建新的动画图层,命名为Attack Layer 在窗口中创建
阅读全文
摘要:Update()方法 在每个使用它的脚本中,每一帧调用一次 基本只需要变化或调整时,需要使用Update()来实现。 比如,非物理对象的移动、计时器、输入检测等 但是Update()方法,并不是按照固定时间调用的。 如果上一帧比下一帧处理时间要长,则会导致此次Update()事件间隔变长 Fixed
阅读全文
摘要:一、创建受伤动画 找到相关受伤的动画素材,然后在Animation窗口创建动画。此处不再赘述。 此时在Animator窗口删除刚才创建的两个动画,因为现在要采用另一种方式创建动画:采用Animator的Layer方式 使用Animator→Layer创建受伤闪烁动画 受伤闪烁动画意为受伤后短暂无敌时
阅读全文
摘要:一、创建敌人2D模型 裁切野猪素材,并放置在Scene窗口中 打开文件夹,找到野猪待机素材 将素材进行必要的设置 点击窗口中的Sprite Editor,打开裁切窗口。点击Slice,选择Type,进行按网格计数裁切(Grid By Cell Count) 接着,然后在Column & Row中,写
阅读全文
摘要:将下蹲动画创建进人物中 在Animation窗口中的左侧,新建BlueCrouchStart动画时间轴,然后将下蹲动画拖入时间轴中 62,63,64都是下蹲中的动画,但是64号是下蹲动作完毕后的静止动画,因为不拖入时间轴中,单独为其建立一个时间轴 为64号下蹲动画完毕的静止动画单独创建一个时间轴,并
阅读全文
摘要:由于跳跃动画分为了很多个部分,所以需要对每个部分进行重新命名。 接着,再将此动画分为两大类,一类空中动作(Jump animation),一类落地动作(Landing animation) 选择Player人物,在下方Animation中,新建动画 动画新建和命名规则,根据guide内的颜色分类来进
阅读全文
摘要:既然是实现按下按键进行一个动作,比如行走动作。那么就需要在InputControl内加入按键,并通过C#代码调用这个按键绑定一个事件来实现此功能 在InputControl内加入新的按键 打开PlayerInputControl 创建一个新的按键组,并绑定Shift(通过Shift键控制行走动作)
阅读全文
摘要:给人物创建Animator动画组件 在素材库新建Animation文件夹 专门存动画相关的文件 Animation文件夹中创建Player文件夹 右击Player文件夹,创建Animator Controller 将新建的Animator Controller赋予人物中Animator组件中的Con
阅读全文
摘要:一、解决空中无限跳跃 解决空中无限跳跃的根本就是添加落地检测,即在地面上才能进行跳跃(二段跳功能以后再开发) 在文件夹内新建PhysicsCheck物理检测脚本 在里面开发人物物理检测相关功能 添加isGround布尔值变量,接触地面则为1,空中则为0。 以及两种检测变量:checkRadius检测
阅读全文
摘要:Component内,实现变量参数分栏 private Rigidbody2D rb; private PhysicsCheck physicsCheck; private SpriteRenderer spriteRenderer; public Vector2 inputDirection; [
阅读全文