在 Swift 中将 GIF 转换为 MOV,并在 ARKit 中显示透明动画层

无形的

这个存储库旨在将 GIF 转换为 MOV,同时尊重透明度,并说明在增强现实应用程序的 SceneKit 中使用具有透明度的 HEVC。

sim_recording_gif_conversion.mp4

细节

存储库分为两部分:

1. 从 GIF 到 MOV 的转换器

GIFToMOVConverter使用具有透明度的 HEVC 编解码器将 GIF 转换为 MOV。这确保尊重 GIF 图层中存在的透明度。

当您想要将多个 3D GIF 叠加在一起并让它们透明以节省内存时,这尤其有用。

但它也可以用于您需要节省内存但仍显示 GIF 的任何其他情况。例如,当将 GIF 保存到数据库以便稍后在其他设备上显示它们时:将它们转换为 HEVC 文件将节省上传和下载的时间并提供更好的体验。有关详细信息,请参阅本文:用视频替换动画 GIF 以加快页面加载速度

如果你只是直接使用 GIF 层,在 SceneKit 或 RealityKit 中将它们显示为纹理,你会很快耗尽 iPhone 上的内存。

2. 使用 SceneKit 显示 3D 动画 GIF 的演示

如上所述,它的主要用途之一是使用 SceneKit(或 RealityKit)在 3D 应用程序中显示动画 2D GIF。

展示VideoSpriteKitSceneNode了如何使用 SpriteKit 和 SceneKit 来显示 2D 动画 GIF 的 3D 节点。由于使用 MOV 节省了内存,您可以在单个应用程序中以这种方式显示 10 个以上的 GIF。

学分

参考

作者

@snowzurfer阿尔贝托泰尤蒂

执照

见许可证

GitHub

查看 Github