Comments (3)
Thanks for the suggestion. I did test trimming before and it didn't bring any real benefit when it comes to file size.
It happens that transparent pixels do not take much space and the extra bytes required to define the regions ended generating resources with same and sometimes even bigger sizes.
It also doesn't work well with AnimatedSprites, as there is no way for defining regions there and the resulting animation aligns all frames by the center.
Even though trimming could mitigate the problem with big files, it doesn't really solve it, so the trade-off didn't seem worth it.
from godot-aseprite-wizard.
The main benefits I see are texture dimensions and VRAM usage. I know that this is an ongoing issue with #32, and given that a lot of GPUs don't support 16k textures, and many (particularly integrated ones) have a performance penalty when using 4k or larger, it makes sense to try and keep the dimensions low.
It also doesn't work well with AnimatedSprites, as there is no way for defining regions there and the resulting animation aligns all frames by the center.
In such a scenario, the AnimatedSprite can be animated over region_rect
and offset
. This would be a departure from the current method of animating over frame
, hence why I think it should be offered as a separate mode/option from the existing row/column grid.
from godot-aseprite-wizard.
I think you are referring to AnimationPlayer
s and not AnimatedSprite
s, as an AnimatedSprite always rely on setting the frame in a SpriteFrames
resouce. Having said that, there is also a region property in the frame resource which is already currently used by the plugin. It's just not considering the padding, which is why trimming currently doesn´t work.
I'm not against this contribution as long it's well tested for regressions, but I honestly don´t see much value on this change as of now. As we are talking about pixel art, which is generally way smaller than regular high res art, this feels an edge case and maybe a premature optimisation.
Also, this doesn't really solve cases like the one on #32, as trimming has little effect on that due to the naturally large art. The proper solution for that is giving the option for splitting the frames in multiple textures, which I think is a better time investment.
By the way, I'm not trying to discourage you from contributing or giving suggestions. It just that as of now I don´t see it as high priority so it's likely something I won´t be focusing in the near future. Thanks for the suggestion and for bringing these issues to my attention. I hope this is not a deal breaker for your projects. Cheers.
from godot-aseprite-wizard.
Related Issues (20)
- Command not found on Mac HOT 4
- Possibility to import sprites without an AnimationPlayer in the inspector HOT 3
- Possibility to choose multiple specific layers for import. HOT 2
- Import animations unrelated properties HOT 2
- Workaround for loss of Trim feature? HOT 10
- "InspectorDock" shadows a native class Godot 3.6 beta4 HOT 3
- make import defaults affect the import settings in `Sprite2D` props HOT 2
- "Do not create resource file" option in Aseprite Wizard window is not applied
- Forward slash in imported animation name can't be renamed HOT 1
- Automatically import all sprites in my project in one go HOT 10
- Add a way to import an aseprite image as split layers HOT 2
- Outdated message displayed when Aseprite command could not be executed HOT 4
- Crash on exit on macOS HOT 3
- Resource file not found HOT 3
- Texutre filter should be an option instead of only overwriting to "nearest" by default HOT 1
- Changes to import fields on a node are discarded when navigating away without clicking Import HOT 1
- Confusing behavior of Output File Name field HOT 1
- Loop settings are removed from project file since 7.4.0 HOT 2
- Aseprite command failed. Please, check if the right command is in your PATH or configured through "Editor > Editor Settings > Aseprite > General > Command Path". HOT 1
- Aseprite command failed. Please, check if the right command is in your PATH or configured through "Editor > Editor Settings > Aseprite > General > Command Path" HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from godot-aseprite-wizard.