Comments (13)
Original comment by Sam Narain (Bitbucket: samnarain, GitHub: samnarain).
@Tyrannicus100BC those are indeed strong use cases, and I think they even should deserve their own "nodes", purely for visual aid. Can you help @homae out by sketching out an example graph of how these graphs should work in ideal circumstances?
from assetgraph.
Original comment by James Marr (Bitbucket: [James Marr](https://bitbucket.org/James Marr), ).
Sure, here is an attached image, proposing a new "Group Sprite Tag" node. This node would accept the output from a group node, and force sprite packing tags according to the group name.
I also showed what the current alternative is, where there are many individual loading/importer nodes for each sub folder.
from assetgraph.
Original comment by Hiroki Omae (Bitbucket: [Hiroki Omae](https://bitbucket.org/Hiroki Omae), ).
I like to solve this issue somehow whether by
- extending ABGT to let you create custom node to do anything with input/output
- Somehow let ImportSetting to configure per Group.
My concern is there is not much configuration you want to modify per incomfing group name other than Packing Tag. So rather than extending ImportSettings, I could just add "Tag Sprite", or, let you extend ABGT so that you write such task quickly.
from assetgraph.
Original comment by Sam Narain (Bitbucket: samnarain, GitHub: samnarain).
I like to solve this issue somehow whether by - extending ABGT to let you create custom node to do anything with input/output - Somehow let ImportSetting to configure per Group.
That would a perfect start. This allows also some more flexibility in the tool.
So rather than extending ImportSettings, I could just add "Tag Sprite", or, let you extend ABGT so that you write such task quickly.
How about the ability of extending ABGT and have a Tag Sprite as an example which demonstrates how you can apply customization?
from assetgraph.
Original comment by Hiroki Omae (Bitbucket: [Hiroki Omae](https://bitbucket.org/Hiroki Omae), ).
Yes, Tag Sprite would be a good example to include.
from assetgraph.
Original comment by James Marr (Bitbucket: [James Marr](https://bitbucket.org/James Marr), ).
Thanks guys, this sounds like a great solution for my use case. Can't wait for 1.2!
from assetgraph.
Original comment by Hiroki Omae (Bitbucket: [Hiroki Omae](https://bitbucket.org/Hiroki Omae), ).
Hi, I have been working on this a while for 1.2, and here is some quick progress.
You will be able to extend ABGT and define your node - pass assets around.
from assetgraph.
Original comment by Hiroki Omae (Bitbucket: [Hiroki Omae](https://bitbucket.org/Hiroki Omae), ).
Here is an SpriteTag by group implemented with custom node in dev branch.
SpriteTag.cs (Custom Node example)
https://gist.github.com/hiroki-o/c726f6f31c40073f8a7baa74d75238bc
After done all this, I am starting to think that SpriteTag should be part of ImportSetting. You've got the flexibility already, but I will consider adding "Packing Tag configuration by group" to be part of ImportSetting.
from assetgraph.
Original comment by Hiroki Omae (Bitbucket: [Hiroki Omae](https://bitbucket.org/Hiroki Omae), ).
Implemented Sprite Packing Tag configuration in ImportSetting (landed to dev branch). This should do the Group Sprite Tag requested in this issue.
from assetgraph.
Original comment by James Marr (Bitbucket: [James Marr](https://bitbucket.org/James Marr), ).
I'm really excited to check this out!
[I previously said I was getting compilation errors. It was user error and it is working as expected for me now]
from assetgraph.
Original comment by Hiroki Omae (Bitbucket: [Hiroki Omae](https://bitbucket.org/Hiroki Omae), ).
James, thank you for checking out. I hope it works as you expect :)
Let me know if you have any issues or feedbacks.
from assetgraph.
Original comment by James Marr (Bitbucket: [James Marr](https://bitbucket.org/James Marr), ).
This is working exactly as I had imagined. It's great! Thanks!
So to give you context, we have a shipping game which uses tons of asset bundles. We currently do all of our bundling and spritesheeting by hand and it's a pain. As a research project, I'm trying to use ABGT to radically simplify our process. My perspective is usually going to be "how can I automate what is currently a manual process using ABGT".
The next thing I'm realizing, is that when we do sprite sheet assignment, we put things on to different spritesheets based on whether they have an alpha channel. This is because if we don't put them onto different named spritesheets, then Unity automatically appends a "(0)" or "(1)", which looks a lot like a mismatch of other import settings that should be fixed (like mip maps, or sprite vs texture). We'll have a single folder that has a mix of assets with and without alpha channels. We usually append "-Transparent" vs "-Opaque" to our spritesheet names based on whether they have an alpha channel. That way, if we ever see a "(0)", we know we have a mismatch on some other import setting that we should fix.
In ABGT, the Filter node allows me to select just TextureImporters, but I can't filter further filter them based on those import settings. What would be your recommendation for filtering out images with or without an alpha channel?
(Here is what my text project sprite sheets currently look like. BG's and Frame's have a mix of alpha and opaque textures:
from assetgraph.
Original comment by Hiroki Omae (Bitbucket: [Hiroki Omae](https://bitbucket.org/Hiroki Omae), ).
James, thank you for the additional context.
In 1.2 I have extended Filter node so that you can write your own custom filter condition. With custom filter you can write filter by texture's alpha channel configuration.
I have wrote a quick example Filter to do this and here is a quick example screenshot.
You can just drop this file in your project and it should just work. (don't forget to grab newest ABGT! ;) )
https://gist.github.com/hiroki-o/6574e93836d298ec79a07d92a18a120c
Please let me know if this solves your issue.
from assetgraph.
Related Issues (20)
- Incoming AssetGroups are null inside of `Prepare`
- AssetGraph isn't procedural asset generation friendly
- Renaming Custom Nodes/Modifiers/AssetGenerators Causes Exceptions
- Test assets cause Unity Editor stuck and huge gc when save asset
- Extract Shared Assets HOT 1
- Override Import Setting doesn't work HOT 4
- Importing never ends when installed with Entities 0.2.0 package
- (Addressabes/Set Asset Group) leads wrong totalAssets amount HOT 2
- Development Question
- Asset GUID change caused problem
- The API documentation is Not Found.
- Package not found HOT 5
- Split By FilterのFilter ConditionsのTextorBinaryの挙動について
- ModelImportSettingsConfiguratorについて
- ノード構成によってグラフが逆流します
- How to add addressables nodes in version 1.7.2
- EditorでPlayを停止後、再度Playすると毎回30秒ほどCacheImport処理が走り待たされる
- Use As Postprocessor Not work
- Could you support to Unity 2022 LTS?
- 升级unity到2022后报错 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 assetgraph.