位置: 编程技术 - 正文

Unity3D游戏开发之基于Trigger的触发式动画设计(Unity3D游戏开发标准教程)

编辑:rootadmin

推荐整理分享Unity3D游戏开发之基于Trigger的触发式动画设计(Unity3D游戏开发标准教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Unity3D游戏开发(第2版)pdf,Unity3D游戏开发基础,Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社,unity3D游戏开发,unity3D游戏开发,Unity3D游戏开发pdf,unity3D游戏开发,Unity3D游戏开发(第2版),内容如对您有帮助,希望把文章链接给更多的朋友!

喜欢我的博客请记住我的名字:秦元培,我的博客地址是 本文出处: 好了,下面请大家跟随我一起来学习如何在Unity3D中实现基于Trigger的触发式动画,首先我们创建如下的场景:

Unity3D游戏开发之基于Trigger的触发式动画设计(Unity3D游戏开发标准教程)

场景中的地面和墙体、门均有Cube构成,这里我们把地面、墙体的盒子碰撞器全部移除,避免它们对我们的程序产生干扰。首先我们编写两段脚本来控制门从左向右移动、从右向左移动的动画:

[csharp] view plaincopyprint?//开门动画 private void OpenDoorAni() { if(transform.position.x<=1.8F) { transform.Translate(Vector3.right * Time.deltaTime * 1.5F); } } //关门动画 private void CloseDoorAni() { //等待5秒后再关门,避免角色与门发生碰撞 StartCoroutine("Wait"); if(transform.position.x>=0) { transform.Translate(Vector3.left * Time.deltaTime * 1.5F); } }

代码基本上很容易理解,就是分别从左向右、从右向左移动门啦!接下来,我们给我们的角色加上一个球体碰撞器并勾选isTrigger选项,为什么选择球体碰撞器呢,因为这样角色进入触发和退出触发的时候,都是和门的盒子碰撞器相切的。在关门的时候延迟两秒是为了给玩家一个控制角色的反应时间,避免和门发生碰撞。这里要注意的是角色是带刚体的。

好了,接下来我们编写触发这一块的代码:

[csharp] view plaincopyprint?void OnTriggerEnter(Collider mCollider) { Debug.Log(mCollider.gameObject.tag); if(mCollider.gameObject.tag=="Player") { Triggered=true; } } void OnTriggerExit(Collider mCollider) { if(mCollider.gameObject.tag=="Player") { Triggered=false; } } 我们在这里是通过改变一个bool型的标志变量来标记角色是否引起了触发,当引起了触发的时候执行开门的动画,退出除了触发的时候执行关门的动画。这一部分我们放在Update()方法里:[csharp] view plaincopyprint?void Update () { if(Triggered) { OpenDoorAni(); }else if(!Triggered) { CloseDoorAni(); } } 最后给出全部代码:[csharp] view plaincopyprint?using UnityEngine; using System.Collections; public class AniScripts : MonoBehaviour { //定义门的移动速度 public float mSpeed=1.5F; //定义门的标志变量 private bool Triggered=false; void Update () { if(Triggered) { OpenDoorAni(); }else if(!Triggered) { CloseDoorAni(); } } //开门动画 private void OpenDoorAni() { if(transform.position.x<=1.8F) { transform.Translate(Vector3.right * Time.deltaTime * 1.5F); } } //关门动画 private void CloseDoorAni() { //等待5秒后再关门,避免角色与门发生碰撞 StartCoroutine("Wait"); if(transform.position.x>=0) { transform.Translate(Vector3.left * Time.deltaTime * 1.5F); } } void OnTriggerEnter(Collider mCollider) { Debug.Log(mCollider.gameObject.tag); if(mCollider.gameObject.tag=="Player") { Triggered=true; } } void OnTriggerExit(Collider mCollider) { if(mCollider.gameObject.tag=="Player") { Triggered=false; } } IEnumerator Wait() { //等待5秒在执行 yield return new WaitForSeconds(5); } } 更多精彩请点击 www.gopedu.com 一起来看看效果演示吧:

Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现 喜欢我的博客请记住我的名字:秦元培,我的博客地址是

Unity3D游戏开发之自由视角状态下的角色控制 喜欢我的博客请记住我的名字:秦元培,我的博客地址是

Unity3D游戏开发之自由视角状态下的角色控制(二) 喜欢我的博客请记住我的名字:秦元培,我的博客地址是

标签: Unity3D游戏开发标准教程

本文链接地址:https://www.jiuchutong.com/biancheng/372906.html 转载请保留说明!

上一篇:Unity3d游戏开发之漫游场景的制作(Unity3D游戏开发pdf)

下一篇:Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现(Unity3D游戏开发引擎)

  • 什么是红字增值服务
  • 预缴增值税的会计账务处理
  • 借贷利息怎么算
  • t3怎么查资产负债表
  • 计提利息收入分录怎么写
  • 劳务报酬怎么申报记账凭证
  • 应征增值税不含税销售额(3%征收率)怎么填2020年
  • 销货清单和送货单的区别
  • 待抵扣进项税额转出会计分录
  • 个人开的专票也能抵扣吗
  • 废弃土地的使用年限
  • 现金解款单是什么业务
  • 厂家给经销商的授权书
  • 公司从个人手中租房不能取得发票
  • 支付平台使用费怎么算
  • 公司购买东西怎么做分录
  • 视同销售应付福利费账务处理是怎样的?
  • 开增值税票需要合同吗
  • 雇主责任险是否属于财产保险
  • 购买税友系统可以抵扣吗
  • 国家税务总局公告2012年第57号
  • 退休职工的医疗保险怎么发放
  • 社会团体收取的会费是否缴纳增值税
  • 收取会员费收入会计分录
  • 固定资产清理怎么做账务处理出售
  • 固定资产后续支出是指固定资产在使用过程中发生的
  • 公司增加注册资金需要实缴吗
  • 购进产品样品怎么做分录
  • 开票税点算什么费用
  • 税控盘不交服务费的后果
  • 如何在电脑管家下载软件
  • redis在php项目中的使用实例
  • 微信获取用户id失败如何解决
  • php两种赋值方式
  • php的运算符主要包括哪些?
  • wordpress登录入口
  • 安大略省节日
  • html简单的游戏
  • 身份证php编写
  • re.findall()用法
  • windows history命令
  • 公司员工餐费会计分录
  • 弥补以前年度亏损报表怎么填
  • 所得税申报表营业成本包括管理费用吗
  • 借款合同 印花
  • 进项税额漏报处理办法
  • 红字发票还要交税吗
  • 筹建养老院国家有哪些优惠政策?
  • 公司吸收合并是利好吗
  • 管理费用核算的是
  • 主营业务成本包括哪些
  • 公司注销应付款如何办理
  • 临时售楼处需要什么手续
  • 股权支付会计处理
  • 新建厂房房产证办理流程
  • 相关损坏维修成本是什么
  • 税额抵减的账务处理
  • 应付职工社会保险费计入什么科目
  • 标准成本法计算公式图
  • sqlserver日期计算年龄
  • mysql数据库子查询
  • ubuntu系统中安装微信步骤
  • 如何限制网速不让孩子玩游戏
  • win7如何设置语言输入
  • gage blocks是什么意思
  • win7架设ftp服务器
  • unity制作ar手机游戏
  • ping命令的基本使用方法
  • csh,tcsh,bash,sh等shell的区别
  • nodejs事件循环和js事件循环
  • linux怎么使用shell脚本
  • 简单的jquery插件实例
  • 深入理解计算机系统
  • javascript编程语言
  • 国家税务系统
  • 以前期间进项税额转出 怎样操作
  • 武汉市国家税务总局第二稽查局
  • 公交爱心卡需要每年审吗
  • 购买材料如何计入成本
  • 享受税收优惠影响就业吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设