位置: 编程技术 - 正文

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

  • 航天金税盘使用说明
  • 实收资本增加印花税怎么算
  • 固定资产出售净残值怎么处理
  • 外贸企业指的是什么
  • 购买方怎么写分录
  • 开房屋租金发票需要带什么资料
  • 一般纳税人兼营不同税率
  • 电子发票和增值税电子普通发票的区别
  • 公司试驾车购置税怎么交
  • 合同中止发票已入账怎么处理?
  • 金融机构对服务的要求
  • 购进原材料没有发票怎么做分录
  • 承租人转租需要退押金吗
  • 差额开票的会计分录
  • 公司为员工承担的个税可以税前扣除吗
  • 积分小技巧
  • 建筑材料增值税税率
  • 混凝土的增值税率是多少
  • 个税扣除每个月更新吗
  • 跨月发票作废应如何处理
  • 或有事项的计量结束语
  • 以前年度应付款项怎么调账
  • 专家评审费如何报账
  • 西方会计要素有哪些
  • win11绿屏是什么原因
  • php调用sql
  • macbook怎么安装macos
  • php怎么与mysql连接
  • 企业重组税收政策汇编
  • 企业发生的直接用于产品生产,专门设有成本项目的费用
  • js的发展历史
  • 免征企业所得税的有
  • 一台电脑能不能接两个键盘
  • 33.JavaScript映射与集合(Map、Set)数据类型基础知识介绍与使用
  • 全卷积网络fcn详解
  • css deep深度选择器
  • faster rcnn详解
  • 洗浴报销票子怎么写
  • mysql转数字为字符串
  • 怎么防止?
  • 织梦tag标签怎么用
  • 工商营业执照年检网上怎么年检
  • 购买礼品送客户取得普票怎么做账
  • 税号指的是什么
  • 复利现值系数表系数表
  • 行政机关现金管理办法
  • 出口货物 增值税
  • 软件增值税即征即退税务风险
  • 研发支出计入产品成本吗
  • 钱汇错了报警有用吗
  • 出口货物两张报关单
  • 对于审核后的凭证可直接修改对吗
  • 本期盈余结转会亏损吗
  • 生产成本一般采用
  • 累计折旧的计提会计分录
  • 进项税额被转出怎么做账
  • 定期存款到期转存利息也转存吗
  • 购进货物取得
  • 上市公司应付会计
  • 填收入与成本明细怎么填
  • 在windows七中
  • macbook取消弹出框阻止
  • mac浏览器显示不全
  • windows的安装
  • window10 屏幕
  • macbookpro安装双系统win7系统
  • 老电脑安装win7还是win8
  • 安装yum的命令
  • Win8开启SmartScreen筛选器保护上网安全
  • [置顶]bilinovel
  • jquery全选和全不选效果
  • 安卓焦点
  • shell脚本-lt
  • shell编程的特点
  • 动态创建类对象
  • 每天一篇文章锻炼口才的文章
  • 怎么查询电子票是否被红冲
  • 宿州税务总局
  • 进口车区别
  • 新疆税务电子
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设