位置: 编程技术 - 正文

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

  • 预缴所得税报表填错啦,年报可以修改吗
  • 按季度申报,利润表中所得税费用怎么算出来的
  • 增值税负数发票可以作废吗?
  • 企业所得税预缴计算方法
  • 汇算清缴中研发费用中其他费用可抵扣的比例是多少
  • 证券交易印花税是多少
  • 外购货物准予抵扣进项税额26万元,货物已验收入库
  • 做税审报告费如何做分录?
  • 弃置费用预计负债减少超过固定资产账面价值
  • 物业公司场地租赁费怎么开票
  • 风险纳税人如何解除
  • 个人两处以上所得经营所得怎么申报
  • 企业的资金怎么使用
  • 规范合同签订的重要性
  • 未抵扣的进项税可以留底多久
  • 一年期电子银行承兑汇票
  • 出口货物过了退税怎么办
  • 出口公司代理
  • 政策性减免单位社保
  • 赎回理财产品的利息怎么做账
  • PHP:xml_set_processing_instruction_handler()的用法_XML解析器函数
  • 电脑dwm.exe是什么
  • Win10 Build 19043.1266(21H1)更新已知问题汇总
  • 不符合win11硬件要求安装会怎么样
  • 如何区分货币财富和收入
  • 购买商品房交税流程
  • 跨市设立分公司
  • 企业投资固定资产
  • php下载文件夹
  • 什么是水利建设基金税
  • vue项目页面跳转
  • video.js教程
  • Yii2创建多界面主题(Theme)的方法
  • 投资收益如何记账
  • 2020信息采集
  • pd python
  • mysql触发器在哪
  • 投资性房地产在建期间需要摊销吗
  • 免税所得包括哪些
  • 小企业如何核算成本费用
  • 生产成本月末结转后有余额吗
  • 企业购买了数千亿资产
  • 无形资产发生减值后怎么摊销
  • 民间非营利政府是指什么
  • 高新企业如何做账
  • 多计提的费用可以记收入吗会计分录
  • 工地零电零水布置图
  • 开业赠送礼品会计属于什么费用
  • 免费品尝活动广告语
  • 结转资金和结余资金
  • 服务业收入的会计分录
  • 产品研发费用的计算公式
  • 本月增值税申报截止日
  • fcitx输入法配置
  • win8 设置
  • 怎么用uefi装win7
  • win7快速安装
  • centos创建lv
  • Linux系统网络配置
  • keyworker什么意思
  • linux禁止root用户远程登录
  • centos 编译安装
  • mac nums
  • html中的td
  • unity3d教学视频
  • Unity3D游戏开发基础
  • 深入理解javascript pdf
  • 手把手教你学python
  • jquery图片轮播无缝连接
  • linux中的shell命令
  • c# unity 教程
  • javascript怎么做
  • java在android上运行
  • javascript静态
  • 湖北税务官方网
  • 百分之13的税率怎么算如何算百分之13的税率
  • 残疾人拿药能报销吗?
  • 跨境电商上什么货源好
  • 重庆电子税务局怎么开电子发票
  • 山东地税app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设