位置: 编程技术 - 正文

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

  • 租集体土地建厂合法吗
  • 纯外贸企业出口到运费可以抵扣吗
  • 建筑垃圾清运费税率是多少
  • 集体不动产和动产包括
  • 一般纳税人和小规模纳税人的区别
  • 员工个人承担的保险分录
  • 手撕票几个点
  • 实收资本未到位情况说明
  • 无偿赠送他人货物交增值税吗
  • 电算化怎么操作
  • 房地产企业汇算清缴要点
  • 社保缴纳已超标准
  • 国有资产报废如何委托拍卖公司
  • 生产出口退税企业内部加工费占多少比例
  • 营改增后混合销售的规定
  • 基本存款账户能向银行借款吗
  • 人工服务费发票
  • 固定资产停止折扣
  • 企业所得税退税会计分录
  • 实收资本印花税最新规定
  • 成本类科目有哪四个
  • 电子发票跨月怎么开红字发票
  • 进口增值税发票怎么认证
  • 免征房产税是多少
  • win10重置此电脑的密码是什么
  • 向非绑定账户转账超限是什么意思
  • 施工预想内容
  • 住房公积金怎么补缴费
  • 担保余值包括
  • 以前年度应当取得而未取得的发票
  • 利得的具体分类
  • 公司员工借款怎么做账
  • ajax向php传值
  • php -v
  • php qrcode生成二维码
  • vue :data="data"
  • 怎么样写合同书
  • 建筑劳务公司适应什么工程
  • 应收账款收不回来
  • Simple Slug Translate 把WordPress固定链接自动翻译成英文
  • 免费开源okr管理系统
  • nginx防盗链的作用
  • 公账取现用途写什么
  • sqlserver批量更新存储脚本
  • 计提电费的会计分录怎么写
  • 分公司和总公司的税务核算
  • 衍生工具什么意思
  • 小规模企业房产税减按50%
  • 交城市维护建设税减半征收吗?
  • 车辆购置税如何计算器
  • 帮客户支付的机票计入什么科目
  • 利息返还是什么意思
  • 固定资产折旧账务处理例题
  • 损益类账户借贷方向增减
  • 购买理财收入计入什么科目
  • 营改增账务处理实例
  • mysql 索引的类型
  • win 10如何安装
  • windowsxp搜索不到文件
  • u盘怎么安装驱动程序
  • hppusg.exe
  • 彻底关闭windows10自动更新工具
  • Win10虚拟内存怎么转移
  • uefi bios ufilify
  • 32/64位Win10预览版11102(中英日韩等)多国语言包官方iso镜像下载大全
  • jquery对动态生成的进行操作
  • perl split用法
  • css浮动和清除浮动
  • android新手入门
  • pm2启动nodejs
  • [置顶] 转载自官方-unity5.0正式发布了,看看带来哪些重要的新特性!
  • 手机端apk反编译工具_android反编译工具
  • js class 私有方法
  • 财务审计报告出现数据错误怎么处理
  • 国家税务局公告2018年第28号
  • 江苏电子税务局app下载
  • 城市垃圾处理费会计分录
  • 武汉市第二税务稽查局地址
  • 公司零申报可以交社保吗
  • 税务申报按季度申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设