Unity播放Gif动画

       Unity目前对图形图像的支持还不是很完善,支持的图形文件格式有 PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT等,但却不支持Gif动画。Unity原生是不支持Gif动画播放的,但我们可以通过.net的Drawing库来实现图片解析,然后实现最后的播放。

       先来做下准备工作,我们首先需要将一个名为System.Drawing的库导入到Unity,在我的电脑的路径下是   "C:\Program Files (x86)\Unity\Editor\Data\Mono\lib\mono\2.0" ,为什么要导入这个插件,是因为需要获取到Gif动画的帧数,获取帧数在Image类下有相应的方法,而方法就在这个库里面。整个的播放原理就是使用.net的Drawing库,读取图片的每一帧并缓存为列表,然后遍历列表在Update当中刷出来。

       获取图片的帧数,接下来按帧数将像素点绘制到图片上就OK了。那么上代码:     

using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using UnityEngine;
using System;
using System.Collections.Generic;

/// <summary>
/// Gif动画播放
/// 1.挂载此脚本到UGUI的Image上
/// 2.使用SetGifPath(string path)传入GIF图片路径
/// </summary>
public class GifManager : MonoBehaviour
{
    //帧数(数值越大播放速度越快)
    private const float Fps = 24;
    private UnityEngine.UI.Image _image;
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值