看了下Live2D,研究了下使用,再次简单的总结下,以便后来查看。
官方网站:http://www.live2d.com/en/
SDK:https://live2d.github.io/#unity

导入后里面有个Samples文件夹,里面是官方示例,每个例子有Description,描述这个例子是做什么的。
Animation是动画的示例,使用的是Animator的方式做的。
Editor这个可以可以自己定义导入后的操作,对于自动生成一些东西很有帮助,比如修改导进来的Texture的格式,自动生成对应的Animator动画等。
LookAt是使眼睛看向指定点的,一般都会做一下,毕竟是特色,根据对应的原理,我们可以自己定义对应的动画,比如根据音效时长使角色自动开合嘴巴。
Raycasting是点击碰撞,要事先加脚本CubismRaycastable及CubismRaycaster,然后直接调用对应的API就行,可以获取到点击的Drawables。

基本功能确定了,然后就是应用到项目中了,放到UI上一个要考虑的是层级排序问题。Live2D自身提供了两种排序方案,通过sortOrder和通过Z来排序,但是这个是针对角色模型自身的,在UI上并不怎么适合,最终确定的方案是RenderTexture。但是使用这个有个问题来了,就是前面说的点击碰撞不行了,摄像机,点击点对应关系乱了,这时候需要理清点击点所在的空间,屏幕空间以及摄像机所在的空间关系,利用摄像机函数进行空间转换在调用官方的API就可以了。

实际使用时,在自动生成这块,容易出现SVN冲突的问题,可以考虑生成所有资源后,将这些源文件删除,删除可能会报错,目前是使用编辑器协程延时来进行删除操作,关于编辑器协程,可以参考我以前的文章。

简单的总结下,先这样吧,有用这个的,可以一起探讨。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐