位置: 编程技术 - 正文

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

  • 合同甲方乙方收钱付钱涉及什么税金
  • 减免所得税如何申报
  • 增值税进项税会计处理
  • 货物已到发票未开具
  • 备案办税人员信息填本人的有风险吗
  • 单位给员工投保
  • 小规模纳税人30万含专票吗
  • 基本户被冻结怎么缴投标保证金
  • 现金支出的一般程序
  • 房产税计税依据含税还是不含税
  • 用于本企业职工的福利应当征收消费税吗
  • 金税盘减免税额
  • 长期股权投资的明细科目有哪些
  • 免税农产品转出进项税税率
  • 劳务派遣公司如何缴纳残疾人保障金
  • 那些发票可以报
  • 一般纳税人开技术服务发票
  • 企事业承包承租经营所得税率是多少
  • 房地产开发公司取名
  • 开票的时候确认收入吗
  • 金银首饰零售消费税税收优惠
  • 应交税费进项税额在借方说明什么
  • 员工交通费报销标准
  • win10回退到以前版本失败
  • 怎样找此电脑
  • win10 5月更新已知bug
  • 跨越红字专用发票开票流程
  • linux使用docker
  • window11 正式版
  • 误解苹果
  • 土地使用税的税目写什么
  • php字符串定义的三种方式
  • sisusbrg.exe - sisusbrg是什么进程 有什么用
  • 企业租地建厂流程
  • yii2局部关闭(开启)csrf的验证的实例代码
  • php解析配置文件
  • 金税盘锁住了怎么办
  • 福利费可以抵扣进项吗?
  • php curl_exec
  • 过年回家的你
  • vue-echarts
  • 生产型外资企业
  • 固定资产租赁费的税率是多少
  • 小规模纳税人代收水电费税率
  • 公司代垫款如何记账
  • 帝国cms到底好不好
  • 帝国cms首页调用其他网站数据
  • 织梦系统
  • 营改增一般纳税人可以选择简易计税
  • 商业汇票贴现时间轴
  • 企业会计制度固定资产折旧年限
  • 代扣款业务的处理方式
  • 处置公司车辆收据怎么写
  • 实收资本会计处理方法
  • 公共电话亭的话费怎么算
  • 项目评审结果
  • 建筑企业预缴税
  • 企业计提任意盈余公积的比例
  • 上个月库存没用完的下个月怎么计算
  • 当月发票已认证还能作废吗
  • 购买设备怎么开专票
  • 网站windows
  • xp系统没有安装好,请重新运行安装程序
  • 免激活合法使用的软件
  • Kaspersky Rescue Disk 2009.04.16 卡巴斯基救援盘
  • 如何用u盘装系统盘
  • 注册表.bak
  • linux怎么和window系统共用
  • shell脚本中的数组
  • dos到windows
  • 绘制多边形工具使用方法
  • xcopy命令拷贝目录
  • 执行批处理命令
  • nodejs操作mongodb
  • python编程基础语法
  • 安卓打包安装程序apk
  • 沈阳市税务局全称
  • 什么叫关联单位
  • 医保可以直接到税局买吗?
  • 北京市延庆区城管执法局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设