So, I'd like to come up with some common API at the very least with this proposal. I think importers could be completely implemented by the user, but I haven't tried this, the PR I linked only supports importing as AnimatedTexture (no SpriteFrames etc). Of course it would be up to the user to decide how these frames could be converted to AnimatedTexture or SpriteFrames, or AnimationPlayer with frames etc. To summarize, we have Image for static images, so makes sense to add ImageFrames class for animated images (again, the purpose of both these classes currently is exactly image data storage, with some processing involved). This would be in alignment to ImageTexture.create_from_image method. On that matter, I'd also like to propose to add AnimatedTexture.create_from_image_frames method, if this ends up implemented in Godot. I kinda "had" to remove ImageFrames::to_animated_texture and ImageFrames::to_sprite_frames because they can be implemented via script, this a compromise to increase the chances of this feature to be eventually implemented in Godot without bloat, I could certainly re-add these methods in Goost. Personally loading GIF images dynamically is the main motivation for me to work on this in fact, I'm not particularly interested in importers, but importing GIFs as AnimatedTextures would be certainly useful, with the abundance of GIFs out there. load_apng_from_buffer( bytes)` # Doesn't exist yet. load_gif_from_buffer( bytes)` # Would be certainly useful for HTTP requests and AssetLib. load( "path/to/your.gif")` # Or apng, not supported yet. I recall Akien wasn't particularly happy with Image name for the existing class and once asked whether it makes sense to rename it to ImageData so people are less likely to use that as Textures, see #godotengine-devel IRC logs:įrames. I decided to rename AnimatedImage class to ImageFrames. Different loaders could then use this class as a proxy for animated image importers. The most core data structure which was originally proposed is AnimatedImage, which basically acts as a container for an array of Images with a custom delay for each. Obviously, I had to strip out (most) non-essential features. So, I'm taking a different approach and propose an alternative solution which should be more self-contained and easier to maintain, see my PR at goostengine/goost#8. I'm not sure the reasons why it wasn't accepted for 3.2, but I suspect that the PR provided too much functionality which was considered a bloat for Godot. Since the PR hasn't received much review from the core developers throughout a year (by the way, tomorrow will be exactly one year since the PR was opened!), it seems like that PR got abandoned (CC feel free to take over and/or discuss this). ![]() For introduction, see godotengine/godot#31831. Minimal core functionality is required to make this happen. Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams: For Godot, this would be mainly useful for the AssetLib godotengine/godot#31683, where people may link animated images into descriptions/relevant sections, for instance see my plugin with some GIF showcasing the plugin functionality. I propose that we add some basic (but still useful) support for loading (and possibly importing) animated images. Describe the feature / enhancement and how it helps to overcome the problem or limitation: ![]() ![]() Currently, we are limited to a single Image class which acts as a container for static images and provides basic image processing. Godot doesn't currently support loading animated images (such as GIF), and there are no core data structures to facilitate this. Describe the problem or limitation you are having in your project: To know more about the license, please check our license page for more informtion.Describe the project you are working on: Goost Godot Engine Extension. The " Bars" spinner is released under loading.io free License. Since we provide GIF / CSS as alternatives to the SVG animation, you are free to choose what format to use in your own projects however, we still think SMIL is a powerful language, and you can help it to gain more popularity by using SMIL with your project. Furthermore, since Microsoft Edge has officially changed it's engine to Chromium, you can think SMIL as it has been supported by all modern browsers. SMIL includes features that can not be replaced with CSS Animation, and there are still people using SMIL all over the world. We use SVG SMIL when animating our SVG spinner, and you might have noticed that Chrome once deprecated SMIL several years ago.Īlthough Chrome tended to deprecate SMIL, this action was suspended. Is it supported in latest version of Microsoft Edge?ĭoes it work in tag or background-image CSS style?
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |