博客
关于我
Unity中执行完动画,子物体的移动问题
阅读量:346 次
发布时间:2019-03-04

本文共 583 字,大约阅读时间需要 1 分钟。

简述问题

在Unity工程中,对父物体添加Animation,程序运行后,对子物体的移动问题。

拆分父物体

程序运行开始,执行为父物体添加的Animation动画,执行完后,父物体被拆分为几个子物体。

问题

虽然执行了Animation动画,但父物体和子物体的层级关系还是存在。而且将一个移动代码赋给其中一个子物体,类似于:

transform.position = Vector3(1,1,1);
将子物体移动到(1,1,1);但执行的时候发现,子物体移动到指定位置后,一闪又回到了初始位置。

解决办法

问题根源

因为父物体的Animation动画执行完后,并没有对其进行判断。

在这里插入图片描述
实验之后发现,如果我将Animator取消勾选,然后运行,发现可以对子物体进行移动,所以我判断应该是Animator的问题。Animator可用于判断动画是否执行完。

解决

我用最简单的方法处理了这个问题。在我要移动子物体的时候,对父物体的Animator销毁,然后就可以移动子物体了。

Destroy(GameObject.Find(“cycle”).GetComponent());
然后使用
transform.position = Vector3(1,1,1);就可以移动物体。
当然如果能对动画状态进行判断,然后处理应该会更好。
这里推荐一下别人写的Animator的用法:

转载地址:http://fuve.baihongyu.com/

你可能感兴趣的文章
MySQL集群解决方案(1):MySQL数据库的集群方案
查看>>
MySQL集群解决方案(4):负载均衡
查看>>
MySQL集群解决方案(5):PXC集群
查看>>
MySQL面试宝典
查看>>
WAP短信:融合传统短信和互联网的新型通信方式
查看>>
mysql面试题学校三表查询_mysql三表查询分组后取每组最大值,mysql面试题。
查看>>
Mysql面试题精选
查看>>
MySQL面试题集锦
查看>>
mysql面试题,存储引擎InnoDB和MyISAM
查看>>
mysql面试题:为什么MySQL单表不能超过2000W条数据?
查看>>
mysql面试题:创建索引时会不会锁表?
查看>>
mysql面试题:高度为3的B+树可以存放多少数据?
查看>>
mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
查看>>
mysql驱动、durid、mybatis之间的关系
查看>>
mysql驱动支持中文_mysql 驱动包-Go语言中文社区
查看>>
MySQL高可用之——keepalived+互为主从
查看>>
MySQL高可用切换_(5.9)mysql高可用系列——正常主从切换测试
查看>>
MySQL高可用解决方案
查看>>
MySQL高可用解决方案详解
查看>>
MYSQL高可用集群MHA架构
查看>>