国外网站上看到的一篇帖子

http://wiki.unity3d.com/index.php/AnimatedGifDrawer

它使用“图像”和“图形”类的系统。图的命名空间,所以需要“system.Drawing.dll“要导入的文件/添加到项目中。

使用前准备:

1)复制”"System.Drawing.dll" file in the "C:\Program Files (x86)\Unity\Editor\Data\Mono\lib\mono\2.0"文件到"Assets" 文件夹下面。

2)创建一个新的脚本命名为“animatedgifdrawer”,与下面的内容。

3)将这个脚本场景中的任何对象。

4)更改脚本”loadinggifpath”字段,你的GIF文件的路径。(这可以从根项目文件夹是相对的也可以是绝对的。

下面给出C#代码:

using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using UnityEngine;public class AnimatedGifDrawer : MonoBehaviour
{public string loadingGifPath;public float speed = 1;public Vector2 drawPosition;List<Texture2D> gifFrames = new List<Texture2D>();void Awake(){var gifImage = Image.FromFile(loadingGifPath);var dimension = new FrameDimension(gifImage.FrameDimensionsList[0]);int frameCount = gifImage.GetFrameCount(dimension);for (int i = 0; i < frameCount; i++){gifImage.SelectActiveFrame(dimension, i);var frame = new Bitmap(gifImage.Width, gifImage.Height);System.Drawing.Graphics.FromImage(frame).DrawImage(gifImage, Point.Empty);var frameTexture = new Texture2D(frame.Width, frame.Height);for (int x = 0; x < frame.Width; x++)for (int y = 0; y < frame.Height; y++){System.Drawing.Color sourceColor = frame.GetPixel(x, y);frameTexture.SetPixel(frame.Width - 1 - x, y, new Color32(sourceColor.R, sourceColor.G, sourceColor.B, sourceColor.A)); // for some reason, x is flipped}frameTexture.Apply();gifFrames.Add(frameTexture);}}void OnGUI(){GUI.DrawTexture(new Rect(drawPosition.x, drawPosition.y, gifFrames[0].width, gifFrames[0].height), gifFrames[(int)(Time.frameCount * speed) % gifFrames.Count]);}
}

Unity添加GIF动画相关推荐

  1. Ruby‘s Adventrue游戏制作笔记(十)Unity添加动画

    Ruby's Adventrue游戏制作笔记(十)Unity添加动画 前言 一.给食物添加动画 二.给敌人添加动画 三.添加玩家动画 四.设置触发动画的脚本 系列链接 前言 本文章是我学习Unity官 ...

  2. Unity初级案例-愤怒的小鸟:六:17把粒子系统显示在UI之前+18让星星一颗一颗的显示+19添加暂停动画

    目录 一.目的 1.想知道:愤怒的小鸟:如何制作 2.做好学习笔记,方便下次查看 二.参考 1.SIKI学院 三.注意 1.版本 操作:1:17把粒子系统显示在UI之前 1.知识介绍 1.设置 把粒子 ...

  3. 关于Unity中Mecanim动画的动画状态代码控制与代码生成动画控制器

    对于多量的.复杂的.有规律的控制器使用代码生成 动画状态代码控制 1:每个动画状态,比如进入状态,离开状态, 等都有可能需要代码来参与和处理,比如,进入这个动画单元后做哪些事情,来开这个动画单元后做哪 ...

  4. Unity MegaFiers 顶点动画

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 使用 M ...

  5. 个人技术总结——Unity中角色动画制作及动画切换逻辑的实现

    这个作业属于哪个课程 软件工程实践2022春-F班 这个作业要求在哪里 软件工程实践总结&个人技术博客 这个作业的目标 课程回顾与总结+个人技术总结 其他参考文献 <Unity2018教 ...

  6. Unity载入骨骼动画详解

    Spine Skeleton Animation(2D骨骼动画) 骨骼动画 首先我们来看到底什么是骨骼动画: 在早期的机器上,渲染本身已经占用了很多CPU资源,因此,对于渲染,往往采取的是一种空间换时 ...

  7. unity人物基础动画应用。行走、待机之类的简单动画切换。

    @[TOC]unity人物基础动画应用 1.将动画或带有动画的,模型导入到unity 直接将项目拖入资源层级就好.这里推荐一个网站,可以给导入网站的模型自动绑骨,并且可挑选动画下载.网站自身也带有很多 ...

  8. unity绑定骨骼动画 使用现成的模型和动作库

    以前搞过这块,版本更新界面都不认识了.在此记录. 现成模型和动作库的情况 导入模型和动作库 点击导入的模型,看右侧的inspector窗口,点击rig进入骨骼界面 设置 annimation type ...

  9. Unity使用spine动画

    Unity使用spine动画 在 Unity 中,常常使用 Spine 来制作一些动画,引擎本身并不能直接播放 Spine 动画,需要额外导入一个 RunTime 插件库才能支持. 官网插件导入 当然 ...

最新文章

  1. 对HA的简单认识以及HA集群删除
  2. Tensorflow LSTM时间序列预测的尝试
  3. MapReduce概述
  4. C#期中考试题人事系统篇
  5. 自己写的一个报表,研究SAP CRM ibase保存问题
  6. Python中_,__,__xx__方法区别
  7. WPF效果(GIS三维篇)
  8. 从0开始构建自己的前端知识体系-JS-事件-键盘事件总结
  9. Struts2.3使用Sitemesh如何配置web.xml?
  10. WPF 视频教程+笔记
  11. .NET 常用ORM之SubSonic
  12. AMOS软件简介【SPSS 050期】
  13. 给学弟建议的个人前端规划
  14. CSS3 图片旋转特效
  15. 使用.net编写的 短连接(短网址)服务
  16. 北大软件“软件成分分析与漏洞检测工具”(CoBOT—SCA)正式发布
  17. HTML5制作99乘法表
  18. hive启动报错:Relative path in absolute URI:${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
  19. 2018年适合做什么网站?分享几种比较好的网站
  20. arduino播放小星星

热门文章

  1. I2C通信协议:了解I2C Primer、PMBus和SMBus
  2. 常用的电子邮箱排名,tom163.net收费邮箱介绍大全!
  3. 风格迁移0-04:stylegan-论文超详细解读(持续更新修改)
  4. BootStrap 统计分析 浅析
  5. 2015年上半年系统集成项目管理工程师案例计算题精讲视频(乔俊峰)
  6. 使用matplotlib绘图时出现数据重复重叠问题
  7. 计算机高级调试员操作网络题,计算机高级操作员实操步骤
  8. 导入keras训练好的模型报错解决OSError: Unable to open file (unable to open file: name = ‘model_3.h5’)
  9. h5调用微信jssdk chooseImage选择相册转file上传图片到服务器
  10. 智能手机集体“高反”,荣耀V10能否用AI给行业供氧?