Unity解析gif动态图操作
- 作者: 圈儿107356253
- 来源: 51数据库
- 2021-07-07
工作需求,要播放一张gif图片,又不想转成视频播放,就开始研究怎样解析gif,在网上也看了不少教程,最后根据自己需求写了个脚本。
首先,unity是不支持gif的(至少我没找到方法),而又要在ngui中显示gif图片。所以就想到了将gif解析成序列帧再去循环播放。
有人说可以找软件解析,然后导入unity做动画,最终我没有采用,自己再unity中以代码解析,然后播放的。
代码如下
(在awake中解析的,因为要在其他脚本调用,实时解析的话,到时候会花费一会时间):
补充:unity播放gif插件,不使用第三方库,基于文件协议,纯代码实现,兼容移动端和序列帧
本人通过分析gif的文件协议,分解gif的各序列帧,然后封装成unity可使用的texture,通过递归播放,实现了在unity上播放gif的功能,并发布到了assetstore上面,欢迎各位朋友交流经验。
核心源码:
分解gif
递归播放
插件支持gif播放和序列帧播放。 插件支持透明颜色。
插件通过gif文件协议将图像转换为unity支持的图像,所有的实现都是通过c#代码,所以你可以很容易的修改代码,以达到你的需求。
插件支持image和rawimage两种组件,当然你可以改造一下支持其他组件。
插件支持3种播放模式:
1、通过gif的文件路径
2、通过拖拽gif的二进制文件
3、通过拖拽序列帧
例子放在文件夹assets\plugin\gifplayer\dome\中。
欢迎使用。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
推荐阅读
- C#通过fleck实现wss协议的WebSocket多人Web实时聊天(附源码)
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
热点文章
团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
0
使用 MSBuild.exe 在发布模式下构建 C# 解决方案
0
当我发布 Web 应用程序时,AfterPublish 脚本不运行
0
构建时 T4 转换的产品仅在下一个构建中使用
0
ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
0
新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
0
如何将条件编译符号(DefineConstants)传递给 msbuild
0
MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
0
NuGet 包还原找不到包,没有源
0
使用 C# 6.0 功能运行 TFS 构建
0
