位置: 编程技术 - 正文

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游戏开发引擎)

  • 业务招待费的财务分录
  • 工程款税率是多少专票
  • 让渡资产使用权是指资产的所有者将
  • 收取子公司管理费,开具什么发票
  • 淘宝买货没有发票
  • 软件开发成本核算模板
  • 小规模季度报税流程
  • 向境外销售货物交增值税吗?
  • 长期股权投资会减值损失吗
  • 资本回收系数等于什么系数与利率之和
  • 收到实收资本要交什么税
  • 收到货款定金计入哪里
  • 包装物一次摊销的会计分录
  • 其他应收款在什么方
  • 资源税法律制度PPT免费下载
  • 季度申报所得税是按累计上缴吗
  • 公司对公账户每年费用
  • 会计做账中记账表怎么做
  • 分担总部费用
  • 纳税人不得汇总开具发票
  • 房地产开发企业预收款预缴增值税
  • 企业收到贷款贴息会计分录
  • 逆流交易合并报表调整少数损益
  • 长期待摊费用的概念
  • 工程长期停工
  • bios详细解释及作用
  • 在win7系统中文件属性有哪些
  • 累计盈余科目怎么填
  • css禁用button按钮
  • 向农户收购农产品怎么打款
  • 民非企业保险支出包括
  • 库存商品的分类有哪些
  • php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
  • densenet详解
  • 计提的福利费怎么处理
  • vue项目中技巧知识点
  • 前端vue面试题2020
  • 印花税城建税和教育费附加怎么算
  • 收到进项发票不对公账怎么办
  • 从公账发工资是什么凭证
  • python元组操作方法
  • 保洁公司保洁服务税率
  • 申请专利的费用主要包括
  • 不抵扣勾选有什么风险
  • 税务安全证书应用客户端不成功是什么意思
  • 企业增值税征收范围
  • 以公司名义买500万的车省多少税
  • 仓库盘点后的数据怎么处理
  • 企业所得税债务重组一般性税务处理
  • 付款后没有发票怎么办
  • 工会赞助费
  • 短期借款不超过几年
  • 冲销凭证如何做分录
  • 汇款退款
  • window怎么操作
  • linux如何替换
  • solaris如何关闭usb接口
  • ubuntu20.10
  • xp系统的本地连接在哪里打开
  • iusb3mon.exe是什么
  • windows远程连接是什么协议
  • WIN10系统中软件打开找不到网络共享盘
  • win7声音扬声器设置
  • Screen.sleepTimeout=SleepTimeOut.NeverSleep 禁止屏幕锁屏
  • three.js官方文档
  • python 执行命令
  • node.js介绍
  • javascript getattribute
  • 轻松搞定是什么短语
  • 安卓打造世界中文全dlc
  • unity热更新框架对比
  • js有几种模式
  • js对象类
  • 福建国税电子税务局app
  • 国税局调地方
  • 地税全国联网了吗
  • 停车票日期在哪里
  • 平安车险如何开票报销
  • 所得税汇算清缴退税税务局要来查账
  • 2021年河南医保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设