目录
kinect+unity 碰撞播放动画实现:
Default clip could not be found in attached animations list. animations报错解决方案
使用软件为kinectV2+unity2020:经过系列改包后,准备作一个相关kinect开发项目,所使用的是网上所流传的经典卡耐基梅隆kinect交互包里面的碰撞demo。
- 模型相关设置:包围盒、刚体和带有动画的fbx文件。
2.animation为maya或是C4D做好的动画机制,脚本为播放动画的一个简单脚本。
3.Animation Rig改为Legacy!!
如果不改的话就会出现如下报错:Default clip could not be found in attached animations list. animations
重点讲述一下碰撞控制动画播放的过程(在这里踩了很多雷,哭泣):demo里面是利用kinect识别左右手,设置好包围盒,碰撞触发动画发生机制。我想要学习这个demo用来控制自己的动画发生,想要的一个效果是手放在双百齿轮上,则齿轮开始转动,进行交互。在替换动画的过程中,一定要注意一个点,Animation Rig改为Legacy,然后根据你所做模型的动画设置animation。之前尝试了很多次,一直都没有成功,基本把代码来来回回看了几十遍,我还以为是动画设置的问题,而事实也确实如此。两个齿轮都要转,所以严格意义上来讲,我的模型是两个,要挂动画控制机也是两个,友子们可以根据自己的动画而定。
注意:上下挂载的一定要是同一个动画控制机,然后包围盒尽量不要碰在一起,否则运行时模型会在里面飘浮。
4.脚本实现控制动画播放:
这个脚本较为简单,简单实现动画播放就好。
void OnTriggerEnter()
{
//Debug.Log ("Jump trigger activated");
// start the animation clip
Animation animation = gameObject.GetComponent<Animation>();
if(animation != null && !animation.isPlaying)
{
animation.Play();
}
}
看完以后,大家肯定会觉得很简单,但是对于刚刚接触kinectAR大屏不久的我来说,要学习的东西真的又多又复杂,在这里写下的一个解决方案也是我学习成长的一个记录过程。
有时间也会出一个教程关于卡耐基梅隆从unity5.x版本到19/20版本的升级改包过程,unity3D有关GUI过时的问题也是我的死亡前进之旅,相关资料也太少了吧!!!
参考文章: