Unity技能学院——RPG动作类游戏角色普攻的实现

这篇具有很好参考价值的文章主要介绍了Unity技能学院——RPG动作类游戏角色普攻的实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

unity普攻特效,unity,游戏,游戏引擎

实现角色普攻是每个RPG类型动作游戏都会实现的功能,在游戏过程中,玩家与敌人相互攻击,产生攻击判定、血量减少、攻击效果等等。

这是几乎是我们每一个想上手RPG游戏开发的必修课。

因此本期内容讲各位零基础的学友带来最简单易上手的角色普攻教学。保证你一遍就能跟的下来!

RPG角色普攻实现

unity普攻特效,unity,游戏,游戏引擎

首先,将准备好的资源拖到Scene面板中,给角色添加Animator组件:

unity普攻特效,unity,游戏,游戏引擎

点击角色—Inspector面板下方的Add Component—输入Animator—点击Animator完成添加

1.准备一个人形模型

平常买的资源或者是可以免费使用的资源中有很多会有人形动画,基本都给设置了。

unity普攻特效,unity,游戏,游戏引擎

2.创建一个角色动画控制器并挂载在角色身上

新建一个文件夹放角色动画控制器,在该文件夹中鼠标右键—Creat—Animator Controller。

unity普攻特效,unity,游戏,游戏引擎

3.角色动画设置

   完成角色普攻动画Animation

(1)将Idle动画给动画控制器(Animator Controller)添加一个循环的待机动画

点击创建的Animator Controller(动画控制器),打开Animator面板右键Creat State—Emty—点击创建出来的图形化面板,命名Idle(待机)并且给其Motion添加Idle(待机)动画;

unity普攻特效,unity,游戏,游戏引擎

(2)将攻击动画给动画控制器(Animator Controller)添加一个不循环的攻击的动画

点击创建的Animator Controller(动画控制器),打开Animator面板右键Creat State—Emty—点击创建出来的图形化面板,命名为Atk(攻击)并且给其Motion添加Atk(攻击)动画;

unity普攻特效,unity,游戏,游戏引擎

(3)选择需要的攻击动画,并且将攻击动画的设置攻击动画的Loop Time(循环时间)不勾选,为false(找到你需要的攻击动画点击Edit—Loop Time取消勾选就是False)

unity普攻特效,unity,游戏,游戏引擎

unity普攻特效,unity,游戏,游戏引擎

unity普攻特效,unity,游戏,游戏引擎

(4)接下来,我们需要去控制待机动画与攻击动画之间的切换,所以需要去添加动画变量。

①点击Parameters创建Trigger类型的条件Idle(待机状态)

②点击Parameters创建Trigger类型的条件atk(判断是否要进行攻击)

unity普攻特效,unity,游戏,游戏引擎

(5)进行连线,设置动画之间的播放条件

①右键Idle—Make Transition—连Atk。

②给Idle状态切换到Atk状态之间的线添加Atk条件,并且将Has Exit Time取消勾选。

unity普攻特效,unity,游戏,游戏引擎

③右键Atk—Make Transition—连Idle。

④给Atk状态切换到Idle状态之间的线添加Idle条件,并且勾选Has Exit Time 。

unity普攻特效,unity,游戏,游戏引擎

最后,记得检查角色的动画控制器(Animator Controller)和人形角色动画(humanoid模型)有没有拖拽给角色的Animator组件。

unity普攻特效,unity,游戏,游戏引擎

接下来,我们需要用到代码去控制角色普攻。简简单单的几行代码,就可以实现角色普攻,这几行代码的逻辑也非常好懂:声明动画变量,获取动画组件。

写两个方法,一个是执行待机动画的方法,一个是执行攻击动画的方法。

并且在Update中调用两个方法(注意,不要放在Start里面哦。因为在Start调用方法,只能被调用一次,在Update中调用是每帧之前执行一次。)

在待机动画的方法里面激活待机动画触发器,在攻击动画的方法里面写的逻辑是判断是否按下了A,如果按下则激活攻击动画触发器。

unity普攻特效,unity,游戏,游戏引擎

END

原价199 限时免费的训练营可以扫码免费领取噢,有需要的可自取!

unity普攻特效,unity,游戏,游戏引擎

 文章来源地址https://www.toymoban.com/news/detail-853495.html

到了这里,关于Unity技能学院——RPG动作类游戏角色普攻的实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UE4动作游戏实例RPG Action解析三:实现效果,三连击Combo,射线检测,显示血条,火球术

    实现武器三连击,要求: 1.下一段Combo可以随机选择, 2.在一定的时机才能再次检测输入 3. 等当前片段播放完才播放下一片段 1.1、蒙太奇设置 通过右键-新建蒙太奇片段,在蒙太奇里创建三个片段,并且移除相关连接,这样默认只会播放第一个片段 不同片段播放动画从 资产

    2024年02月21日
    浏览(50)
  • Unity制作射击游戏案例01(控制角色+发射子弹+摄像机跟踪)

    //【业务逻辑】这个脚本用来1.控制物体移动旋转(WASD)、   2.发射子弹(空格键) //【程序逻辑2】 首先检测用户没有按下空格键 2.如果按下呢执行发射子弹函数    3.克隆子弹 4.让克隆的子弹往前跑 为子弹模板添加刚体,并且限制旋转 这个脚本需要挂在到摄像机,里面谈

    2024年02月06日
    浏览(53)
  • Unity DOTS《群体战斗弹幕游戏》核心技术分析之3D角色动画

    最近DOTS发布了正式的版本, 我们来分享现在流行基于群体战斗的弹幕类游戏,实现的核心原理。今天给大家介绍大规模战斗群体3D角色的动画如何来实现。 DOTS 对角色动画支持的局限性 截止到Unity DOTS发布的版本1.0.16,目前还是无法很好的支持3D角色动画。在DOTS 的baker过程种,

    2024年02月04日
    浏览(55)
  • Unity 新建你的第一个游戏,以及如何按WASD控制角色运动 (Unity Demo2D)

    当你打开 Unity Hub,初始化一个 2D 项目,进入了 Unity 编辑器,你会发现在 左侧 : 一个叫 SampleScene (或者其他) 的场景 场景下有一个 Main Camera,主相机 这就是一个新建的 2D 项目自带的内容。 在 Main Camera 同级目录新建: 2D Object - Sprites - Capsule ,这里 Capsule 是精灵的种类,我们

    2024年02月02日
    浏览(45)
  • 【Unity游戏开发教程】零基础带你从小白到超神16——四种方法控制人物移动之角色控制器

    直接修改组件位置 去资源商城下载角色控制系统成品直接拿来用 unity提供的角色控制器组件 通过物理系统自己做

    2024年02月08日
    浏览(43)
  • 基于unity的《危机rpg》游戏开发

    文章目录 概要 整体架构流程 技术名词解释 技术细节 小结 给玩家提供PC端和移动端的操作、闲适的音效、完整的闭环和玩法。必须实现三大主场景制作、大地图制作、导表技术引入、移动端摇杆控制、本地存档、音效同步、极强的交互以及游戏闭环。玩家通过输入设备给予

    2024年03月16日
    浏览(59)
  • Unity 2D RPG索敌攻击练习

    Unity 2D demo 记录一下,主要涉及攻击索敌回顾练习 跟着这个up主操作的 【2023 Unity 2D RPG 保姆级 手把手 零基础教学|一个半小时做RPG】 https://www.bilibili.com/video/BV1Xj411r7Mm/?share_source=copy_webvd_source=2b3bda5fbc53ad83b94e92f54b9ed017 相关软件版本 Unity Editor 2023.3.17 Unity store中 中两个免费2D资源

    2024年04月29日
    浏览(38)
  • Unity 3D RPG游戏的设计与实现

    public class PlayerInput : MonoBehaviour {     public float horizontalInput;     public float verticalInput;    public bool mouseDown;             // Update is called once per frame     void Update()     { ///在游戏运行且鼠标当前未被按下的情况下,检测鼠标左键是否被用户按下,并记录这一交互状态。    

    2024年03月14日
    浏览(54)
  • 【单】Unity _RPG项目中的问题

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : ⭐【软件设计师高频考点暴击】 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【unity本站最全系列

    2024年04月08日
    浏览(52)
  • 3D RPG Course | Core | Unity学习笔记(八)

            在属性代码CharacterData_SO中添加代表经验值系统的变量,对于不同类型的对象,比如敌人没有升级系统而玩家有,则不需要的变量不对其赋值即可。设计好等级、经验值、等级增幅和击败敌人获得的经验值,并在造成伤害的方法中判断死亡并提供经验值(由于逻辑是承

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包