LoginSignup
6
4

More than 5 years have passed since last update.

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

Posted at

※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

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4