GIF Playing API [Note: Soon superseded by VideoFrames]

Library Link
This is a helpful tool for people who would like to play 2D animations onto surfaces as well as binding audio to frame events or playing it in sync alongside it like a video.

In order to use this module, you will most likely need to have a basic understanding of dictionaries, instances, and events

This API is designed to be lightweight and to be fairly easy to use for basic scripters as the GIF object has properties and events like other objects. The most difficult part about using this API is correctly setting the dimensional values for the image. One of the simplest ways is to get the resolution of the spritesheet decal (as uploaded on roblox) and divide the resolution by the row or column count along the axis.

This API comes with an example linked in the library, making it easier to understand. The module also offers step by step instructions on how to import and play these GIFs / videos in games. This module works on both the client and server side, however the client version will have better performance.

My reasoning for releasing this API is so that newer scripters will be able to use animated images without having to write their own players and the player will also automatically sync with audios and other clients since it is based on the time since the animation was played and supports timeposition (Goto) and frame changing (Jump).

Usefulness / user-friendliness rating

  • 1
  • 2
  • 3
  • 4
  • 5

0 voters

72 Likes

Sweet! Thanks my dude.

3 Likes

Would be awesome to see this become a native feature in Roblox

7 Likes

Awesome!

Cool!

2 Likes

THIS IS GREAT, Delivers exactly what people wanted from one of the submissions from hackweek!
This opened alot of ideas for me. Although I don’t script nor build, I love designing game mechanics, so I was thinking- It could be (somehow) possible to use this to animate a special effect for a supernatural move of some sort using internet stock footage made in Adobe After effects!

Just to note, VideoFrames are likely to deprecate this API and I suggest people make a switch or move to VideoFrames in the future. I appreciate the support but thankfully a new and better solution is soon to be available.

6 Likes

Nice,but it would be better with VideoFrame.
But It Is Still Great.

VideoFrames aren’t released yet, I don’t think he can make this compatible with it if almost no documentation exists

The main issue is not making it compatible, the fact is that this tool is made to allow people to play animated images and also videos with audio, but it won’t be necessary once VideoFrames come out because you could just turn the GIF into a looping video and other videos can play directly on the Instance without all the setup. I’m just bumping it for the sake of the people using it to make sure to be aware of this feature and know that they can and maybe should update their games in precedence of its release.

1 Like

The main issue is not making compatiable the main issue is the moderation system before the video plays.

Still, not exactly. All this tool does is make it easy to do 3 things:

  1. Split a GIF into a spritesheet (or multiple spritesheets)
  2. Play these spritesheets in sync
  3. Attach listeners to things that occur while playing the GIF

The important part to note in this case is that the spritesheets are still roblox assets, and are not magically served over the web. They are still subjected to moderation as they are uploaded to roblox like any other images before you can use them in the player. VideoFrame content will likely be subject to this in the future if they use URL and/or contrnt filtering or only allow the ability to play user uploaded videos (which also undergo moderation).

To reiterate my previous point, the main reason for this module becoming “deprecated,” is that making GIFs this way has a couple of problems:

  1. Large loss in quality when packing too many images onto one spritesheet
  2. Needing to upload and create multiple spritesheets for longer GIFs
  3. Does not automatically sync as smoothly when manipulated directly on the server

VideoFrames will solve all of these problems, and converting GIFs to videos should be fairly easy. Videos also support transparency if I’m not mistaken. I’m just glad that this module has proven useful to many individuals in the meantime, although most will probably need to move over to VideoFrames in order to experience their benefits. I still recommend others make the transition when they eventually release, but this module can remain a good tool if you ever wish to animate something like a character sprite in a simpler way.

I know but I hope it comes compitable one day.

Hey, Maybe in future can you make a video on how to use this thing?, Since I got really confused about how to use this stuff.

After I upload the spreadsheet has decal. I don’t know what to do after that ;c

Or if you want to guide me on how to use this, please DM me on discord G00GLE#0711