当前位置: 首页 > news >正文

惠州有没有做网站/安卓优化大师旧版

惠州有没有做网站,安卓优化大师旧版,高端网购平台有哪些,腾讯风铃怎么做网站提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、制作小BOSS龙牙哥 1.导入素材制作动画2.制作两种攻击行为3.制作从惊醒到转身到走路or跑步行为总结 前言 hello大家好久没见,之所以隔了一天时间…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、制作小BOSS龙牙哥
    • 1.导入素材制作动画
    • 2.制作两种攻击行为
    • 3.制作从惊醒到转身到走路or跑步行为
  • 总结


前言

   hello大家好久没见,之所以隔了一天时间才来更新是因为CSDN有个限制每天发图片的数量,然后昨天我喜提24小时冷却,现在终于有被放出来了就来讲讲上期遗漏的内容,来介绍我们这期的主角!


一、制作小BOSS龙牙哥

1.导入素材制作动画

        看到这里你可能会觉得,就上面几个敌人还不够自己塞牙的,行为逻辑也没有看上去这么难理解,感觉没什么技术含量,但是你知道我专门会把有一些难度的内容放到最后面来讲,因此在这一节制作的敌人更是重量级,它是谁呢?当然是令空洞萌新胆寒的三大新人杀手之一——龙牙哥:

对于它的动画,首先介绍攻击分为慢攻击attack和快攻击attack2:

 

 

Stomp即脚踩地面制造两个方向的冲击波的动画,它也分为三个阶段:

摇摆龙牙时的动画:

我们先来制作龙牙哥的子对象:

它拥有警觉区域和攻击区域两个alert Range

攻击时产生的烟尘粒子系统: 

跑步时扬起的灰尘粒子系统:

 攻击时产生的岩石粒子系统

这个是践踏地面时产生的岩石粒子系统:

判断头顶有无撞到Terrain层级的地板 

这个Swipe相当于上一期我讲到的僵尸防御者的slash,只有在攻击的时候才打开,注意这里的damageHero的伤害值要设置成2(所以说为啥是萌新杀手)

践踏产生的灰尘 

这个是和梦之钉有关的,先别管:

回到主体对象,把敌人该有的脚本都给他添加上去:

2.制作两种攻击行为 

制作一个同名脚本“Zombie Guard”的playmakerFSM:

设置好相应的变量和事件

 

初始化阶段,设置好hero,self的引用找到子物体的attack range,设置好roam L和R

开始时的朝向:

然后进入打瞌睡阶段:注意勾选上everyframe每帧都在检测

如果检测到了两个条件都符合触发ATTACK ALERT事件或者被玩家用骨钉抽了触发TOOK DAMAGE事件进入wake状态

等个0.21s再来处理接下来的事:

进入Idle 状态: 

根据不同的Bool All True满足条件我们发送不同的事件

首先看看ATTACK ALERT事件,它的接受者叫状态Face Hero,这里的CameraShake是后续才用到的,这里你可以先到CameraParent中添加好对应的事件名和变量名以防止报错。

设置好速度的正负值 

随机选择发送一个事件:

这些变量有关In A Row的都是防止运气太差连续几次都播放同一种行为而加以限制的,比如这里的Clubs In A Row如果连续触发四次,就会返回到Attack Choice状态中,毕竟不怕一万,只怕万一嘛

准备攻击阶段:

攻击阶段,记得要激活Swipe

视觉效果和听觉效果展示:

这里根据Facing Right变量来判断生成slam和swipe的位置: 

攻击产生的后坐力阶段:

攻击结束,准备回到冷却阶段:

我们再来随机发送事件的第二个分支:

践踏行为准备阶段:

 

起跳阶段:

注意这个JUmp Velocity是指横向的速度,并不是y方向上的 

这里除了生成了音效,slam effect以外,还生成了左右两个方向上的冲击波 

Stomp行为结束,回到cooldown状态: 

打断一下,我们先来做冲击波Shockwave预制体:

首先制作子对象:我咧个滚滚浓烟

爆出来的石头:

 一个平面Plane

制作playmakerFSM“shockwave”:

 开始的阶段

 

 

开始移动:速度逐帧递增

如果碰到墙壁或者地下的Terrain检测不到了,就结束吧 

 

 

如果击中玩家了:

using UnityEngine;namespace HutongGames.PlayMaker.Actions
{[ActionCategory(ActionCategory.GameObject)][Tooltip("Spawns a prefab Game Object from the Global Object Pool on the Game Manager.")]public class SpawnObjectFromGlobalPoolOverTimeV2 : FsmStateAction{[RequiredField][Tooltip("GameObject to create. Usually a Prefab.")]public FsmGameObject gameObject;[Tooltip("Optional Spawn Point.")]public FsmGameObject spawnPoint;[Tooltip("Position. If a Spawn Point is defined, this is used as a local offset from the Spawn Point position.")]public FsmVector3 position;[Tooltip("Rotation. NOTE: Overrides the rotation of the Spawn Point.")]public FsmVector3 rotation;[Tooltip("How often, in seconds, spawn occurs.")]public FsmFloat frequency;[Tooltip("Minimum scale of clone.")]public FsmFloat scaleMin = 1f;[Tooltip("Maximum scale of clone.")]public FsmFloat scaleMax = 1f;private float timer;public override void Reset(){gameObject = null;spawnPoint = null;position = new FsmVector3{UseVariable = true};rotation = new FsmVector3{UseVariable = true};frequency = null;}public override void OnUpdate(){timer += Time.deltaTime;if(timer > frequency.Value){timer = 0f;if(gameObject.Value != null){Vector3 a = Vector3.zero;Vector3 euler = Vector3.up;if (spawnPoint.Value != null){a = spawnPoint.Value.transform.position;if (!position.IsNone){a += position.Value;}euler = ((!rotation.IsNone) ? rotation.Value : spawnPoint.Value.transform.eulerAngles);}else{if (!position.IsNone){a = position.Value;}if (!rotation.IsNone){euler = rotation.Value;}}if (gameObject != null){//TODO:GameObject gameObject = Object.Instantiate(this.gameObject.Value, a, Quaternion.Euler(euler));if (scaleMin != null && scaleMax != null){float num = Random.Range(scaleMin.Value, scaleMax.Value);if (num != 1f){gameObject.transform.localScale = new Vector3(num, num, num);}}}}}}}
}

真正有造成伤害和图像显示的其实是Shockwave Spurt,上述的Shockwave顶多算个底盘,用来制作粒子系统和处理判断是否击中玩家和离开墙壁的行为。

制作playmakerFSM:主要是做造成伤害的时间段

 

Shockwave spurt L也是同理,区别在于记得设置它的rotation为180,这里我们用playmaker来实现:

3.制作从惊醒到转身到走路or跑步行为

回到龙牙哥的playmakerFSM来,我们在idle还有两个事件没有接受者,

先看TRUE状态下,进入惊醒状态Statle

检查方向:

这里的HERO ABOVE事件到底要怎么触发呢,当然是我们上面讲到的子对象Overhead Detect,给它一个新的playmakerFSM:在它的变量string类型添加上事件名字

接着回来制作Check Right和Turn Right

再来制作Turn Left和CheckLeft状态:

 

如果不用Turn,直接顺着FALSE事件来到追逐chase状态:

如果决定进入走路状态:

跟丢了话就进入丢失玩家Lose Hero状态:

ATTACK ALERT来到Face Hero状态

WAIT就回到Alert状态

RUN就来到Run状态:

Stop Run状态:

 

ATTACK ALERT的话来到Face Hero状态

WAIT就回到Alert状态

如果Idle状态上过了四秒钟都没有检测到要发送ATTACK ALERT和ALERT事件,我们就发送WAIT事件

        总结一下就是,刚开始龙牙哥在初始化阶段后进入睡眠阶段,当玩家进入can see hero和alert range范围后龙牙哥就进入苏醒阶段,如果过了4秒玩家离开区域后就设置好朝向,如果突然返回了就发送惊醒alert阶段,然后就开始根据距离决定跑步还是走路接近玩家,当进入attack range距离后就开始进入Face hero阶段,然后根据random二选一一种攻击方式,第一种是挥舞龙牙的行为,第二种是践踏地面产生冲击波伤害玩家行为。其实理一下还是比较简单的,只是连线太多了给人一种很晕的感觉。


总结

最后我们来看看效果吧:

直接干两滴血真的bt:

压迫感来了:

超出距离的就一直盯紧玩家:

http://www.fp688.cn/news/562.html

相关文章:

  • 网站建设如何选择良好的服务器/网站广告制作
  • 新网站怎么做/云浮seo
  • 公司网站建设备选方案评价标准/广州网页推广公司
  • 广州门户网站/成人营销管理培训班
  • 帝国手机网站怎么做/电话营销销售系统
  • 平凉市住房和城乡建设厅网站/软件开发app制作
  • 弱电工程公司网站怎么做/seo关键词布局
  • 如何用jsp做简单的网站/百度有钱花人工客服
  • 市民服务中心网站建设/百度推广方法
  • 创建一个网站的英文/域名注册服务商
  • 龙岩纪检委网站/营销策划案ppt优秀案例
  • 静态学校网站做毕业设计/seo云优化平台
  • 唐山做网站建设的公司/东莞网站推广运营公司
  • 域名网站/正规网络推广服务
  • 沂源县建设局网站/关键词优化收费标准
  • 从什么网站找做游戏的代码/结构优化设计
  • 网站排名方案/电商广告网络推广
  • 深圳做购物网站/seo网站优化培训班
  • 网站建设和优化的好处/免费网站seo优化
  • 网站建设小江/营销号
  • 阜宁做网站哪家公司好/网站怎么做优化排名
  • 金华职院优质校建设网站/国外免费发产品的b2b平台
  • 网站关键词部署/seo外包网站
  • 北京西直门附近网站建设公司/怎么制作网页教程
  • php做的卖水果网站/四川seo关键词工具
  • 青岛做企业网站的公司/2022年app拉新推广项目
  • 网站建设窗口框架/百度首页网站推广多少钱一年
  • 什么网站可以做相册视频/什么关键词可以搜到那种
  • 宣威网站建设/cilimao磁力猫最新版地址
  • 旅游网站建设毕业设计/关键词爱站网