位置: 编程技术 - 正文

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

  • 什么是资本利得?
  • 税务罚款如何做会计分录
  • 预缴税款如何抵扣苗木款
  • 增值税扣费
  • 签证费没有发票可以入账吗
  • 员工补偿金是按上十二个月的平均工资
  • 加油电子普通发票可以抵扣增值税吗
  • 没有购置税发票有影响吗
  • 结转损益类费用科目的余额
  • 原始投资额包括资本化利息吗
  • 行政事业单位盘亏或毁损的固定资产
  • 承包经营所得发包方如何纳税
  • 企业发给员工年终奖金
  • 净值的公式
  • 预缴物业费是否符合法律规定
  • 增值税发票小规模2023
  • 自然人纳税系统
  • 税控系统服务质量调查报告
  • 混营纳税人有什么影响
  • 税收分类错误报税会有问题吗
  • 出口退免税收汇相关业务
  • 小规模纳税人免税怎么做账
  • 差额开票的会计分录
  • 资产负债表在途物资属于存货吗
  • 企业出口产品条件和流程
  • 电子税务局如何查进项发票
  • 空调维修详情介绍
  • 一直零申报会怎么样
  • 在win11
  • 苹果手机耳返功能怎么关闭
  • 员工招待费会计分录
  • mcrlnstaller
  • bigfile是什么意思
  • wordpress测试
  • 库存股的会计科目
  • 意外保险费是什么意思
  • 电脑卡慢咋办
  • 后端接口返回数据类型规范
  • 长期借款利息的会计科目
  • 怎样把有余额的钱转出来
  • 企业固定资产账户2019年6月初借方余额5000000元
  • 餐饮类的增值税
  • 以前年度损益调整
  • php curl_setopt
  • 先发货再开票
  • 公司买的公文包会计怎么做
  • python导入其他文件的函数
  • uniapp开发app视频教程
  • 安装cuda和cudnn
  • java 桥接模式
  • python3.9怎么清屏
  • 银行的抵债资产会过到银行名下吗
  • 销货退回与折让的关系
  • 公允价值变动借方表示什么
  • 营改增一般纳税人简易征收的范围
  • 收到金融服务费发票会计分录怎么写
  • 进项转出做账做什么会计
  • 劳务派遣的工资是谁发的
  • 财务费用明细账图片
  • 股东借款转增资本公积会计处理
  • 股东 退股
  • 银行汇票的适用主体
  • 工业企业的材料
  • SQL Server"错误 21002: [SQL-DMO]用户 * 已经存在问题解决
  • 苹果机的mac地址
  • 免费升级windows10
  • Win10装不上是什么原因
  • 网站备份是什么意思
  • Win10 Build 14279正式推送 更新后QQ可能会崩溃
  • JavaScript实现QQ列表展开收缩扩展功能
  • linux,windows
  • 有关javascript的书
  • 安卓百分百
  • javascript sort方法排序
  • JavaScript+html5 canvas制作色彩斑斓的正方形效果
  • javascript中继承
  • 北京市朝阳区各中学校服照片
  • 税务局监督执纪存在问题
  • 国地税发展历程
  • 税务筹划企业所得税案例分析题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设