位置: 编程技术 - 正文

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

  • 什么情况借钱
  • 销项税额和进项税额月底怎么结转
  • 理事单位和事业单位的区别
  • 债权投资借贷方向是什么一年内的
  • 小规模企业所得税多少
  • 发票多开了一张怎么处理?
  • 小企业准则固定资产折旧每月折旧多折了
  • 影响固定资产折旧的基本因素
  • 关税的记税依据
  • 证券交易所风险公告怎么写
  • 商业承兑汇票贴现手续费是多少
  • 挂靠管理费如何入账?
  • 纳税申报表多缴了怎么办
  • 补开的银行手续费发票怎么做账
  • 委托加工物资加工完毕验收入库后作为
  • 工程维修费用怎么入账
  • 营改增后不动产出租适用税率
  • 营改增以后小规模纳税人如何纳税
  • 发票票种核定怎么提交
  • 无票收入如何做账
  • 开办费要如何扣款
  • 子公司评估增值 出售股权
  • 设计部工资计入哪个科目
  • 怎么查询企业的注册资金
  • 2019年化妆品
  • 房地产企业资金监管账户
  • 筹资活动流入的现金是内源融资吗
  • 增值使用费可取消吗?
  • 农村合作社补贴政策
  • 给员工买饮料
  • 现金日记账需要本月合计吗
  • 清除cmos有什么后果
  • 电脑怎样进入cmos设置
  • 影视公司纳税标准
  • 企业所得税的应纳税额计算公式
  • 增值税加计扣除比例
  • 0.96寸OLED显示汉字
  • vue生命周期分别做了什么
  • 对于企业无法支付的应付账款
  • wordpress文章主题
  • 根据不同资产涉及的税有哪些
  • 农民工的劳务报酬个人所得税怎么那么高
  • 其他收益在利润表填在哪里
  • nosql sql
  • 高速公路通行发票税率
  • 知道实发工资怎么算应发工资计算器
  • 财政补贴收入怎么做账
  • 员工加班餐费算什么费用
  • 主营业务成本借贷方向增减
  • 材料暂估入库的附件需要哪些资料
  • 小微企业有什么优惠政策
  • 公交公司如何做好精细化管理
  • 社保局退回生育津贴分录摘要
  • 应收账款计提的坏账准备可以转回
  • 公司地址的变更需要哪些资料和手续
  • 扫描仪有危害吗
  • 年底本年利润如何处理
  • 转让固定资产的税率
  • 退货时的会计分录怎么做
  • 停车费专用发票
  • mysql Access denied for user ‘root’@’localhost’ (using password: YES)解决方法
  • sql2005定时备份数据库
  • mysql远程访问不了
  • win7系统双击不能打开我的电脑
  • spoolsv.exe是什么文件
  • win7 系统设置
  • windowxp背景图
  • centos7 vncserver
  • linux查看sh
  • vmware中安装centos7
  • Linux系统怎么设置窗口关闭按键在右侧
  • c#开发linux
  • ext.grid.panel
  • unity unite
  • js中.html
  • 婚前买房婚后个人还贷卖房怎么签字
  • 企业所得税纳税申报表A类
  • 税控盘版开票软件打不开是什么原因
  • 作废的发票验旧之后怎么领取新发票
  • 中国的消费税是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设