如何创建自定义页面卷曲核心动画?

eli*_*ego 10 opengl iphone cocoa-touch core-animation page-curl

我正在尝试在我的iPhone应用程序中创建图像的"页面卷曲"动画.我是UIViewAnimationTransitionCurlUp,它是未记录的核心动画兄弟,但是我需要动画的图像是一个透明的PNG,带有"不均匀"(一些像素像素)轮廓.当使用上述预制转换时,一旦动画开始,那些alpha像素就被涂成黑色,这看起来非常难看.

因此,我寻求创建自己的核心动画.我试图研究这个主题,但一直无法找到所涉及技术的良好概述.实现当然必须比单个属性更改更复杂,我觉得即使CATransform3D也会限制用于此目的,因为图像需要在其不同部分应用不同的3D转换 - 随时间变化.那怎么会谈到这个话题呢?我非常感谢任何想法或想法!

最好的,Eli

Bra*_*son 6

正如Corey指出的那样,你可能需要使用OpenGL ES.核心动画暴露了使用图层的能力,即使在三维图像中也是如此,但所有图层都只是矩形,它们也是如此操纵的.您可以设置围绕轴的图层翻转动画,即使是透视变形,但是您想要做的弯曲比使用Core Animation API管理的更复杂.

您可以将图像分割成一个小图层网格,并使用CATransform3D操作每个图像来创建这种弯曲效果,但此时您也可以使用OpenGL ES创建相同的效果.