Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Unityでgifアニメを分解して一枚づつ順番に表示してgifアニメに戻す。

More than 5 years have passed since last update.

※Unityにはちゃんと、連番アニメーションする仕組みがあります!!

正式な方法はこちらをご覧ください

まあ、Unityでやるのにまったく意味ない事なんだけども
まったく意味ない事でも使い方によっては意味がある事もあります。

まず、用意したgifアニメ画像をバラバラに分解するのにImage Magicを使おうと思います。
インストールするには色々な方法があるようですが、
今回はCactuslabさんが提供しているインストーラーを使いました。

インストーラーはこちらを使っています。
スクリーンショット 2014-09-07 17.07.13.png

無事にインストールできたら、目的のgifを分解してみましょう。
convert +adjoin -coalesce 指定の画像名.gif 変更後の画像名.gif
これで分解できましたね。

こいつをunityにドラック&ドロップで持って行きます。
それから、planeにマテリアルを設定してgif画像を貼っても動かないので少しスクリプトを書きました。

スクリーンショット 2014-09-07 17.13.09.png

ちなみに、こんな感じで走っている連番画像になります。
スクリーンショット 2014-09-07 17.15.13.png

gifアニメ風スクリプト
using UnityEngine;
using System.Collections;

public class gifAnim : MonoBehaviour {
    public Texture[] PlayerTexture;
    public float gifNum = 0;
    public float fps = 24;

    void Update () {
        gifNum = Time.time * fps;
        gifNum = gifNum % PlayerTexture.Length;
        renderer.material.mainTexture = PlayerTexture[(int)gifNum];
        Debug.Log( Mathf.Floor(gifNum));
    }
}

連番の画像はインスペクターの方で設定しています。
スクリーンショット 2014-09-07 17.22.43.png

はい!これで完成。
再生するとこんな感じでアニメーションします。
モックマン走る

スクリーンショット 2014-09-07 17.02.05.png

amano-kiyoyuki
絶対領域拡張計画「光るスカート」の開発者。 モノづくり楽しすぎ。
http://www.kayac.com/team/amano-kiyoyuki
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away