博客
关于我
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启动以后会自动关闭_驾照虽然是C1,一直是开自动挡的车,会不会以后就不会开手动了?...
查看>>
mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
查看>>
Mysql启动失败解决过程
查看>>
MySQL启动失败:Can't start server: Bind on TCP/IP port
查看>>
mysql启动报错
查看>>
mysql启动报错The server quit without updating PID file几种解决办法
查看>>
MySQL命令行登陆,远程登陆MySQL
查看>>
mysql命令:set sql_log_bin=on/off
查看>>
mySQL和Hive的区别
查看>>
MySQL和Java数据类型对应
查看>>
mysql和oorcale日期区间查询【含左右区间问题】
查看>>
MYSQL和ORACLE的一些操作区别
查看>>
mysql和redis之间互相备份
查看>>
MySQL和SQL入门
查看>>
mysql在centos下用命令批量导入报错_Variable ‘character_set_client‘ can‘t be set to the value of ‘---linux工作笔记042
查看>>
Mysql在Linux运行时新增配置文件提示:World-wrirable config file ‘/etc/mysql/conf.d/my.cnf‘ is ignored 权限过高导致
查看>>
Mysql在Windows上离线安装与配置
查看>>
MySQL在渗透测试中的应用
查看>>
Mysql在离线安装时启动失败:mysql服务无法启动,服务没有报告任何错误
查看>>
Mysql在离线安装时提示:error: Found option without preceding group in config file
查看>>