Export Transparency
I noticed that cel vinyl (and presumably other brushes using alpha mask) can convert the textures to properly transparent
using alpha test and blend. Not currently an option on the brushes. Quick test to confirm XR export, and it worked.
Gets rid of the black mask border
Is this something I can change through modifying the shader?
Noted this is apparently marked legacy, so may be performance reasons or others?
If not a good idea, might make sense to do that in the export workflow?
If not a good idea, might make sense to do that in the export workflow?
18 Replies
Export transparency discussion.
Alpha Blend and test, removes borders.
Found you.
"That wasn't a custom build that was the latest, unless I didn't reset the default setting.
Will need to double check (90% sure). I toggled it, but think I toggled it back. I set up the current cutting edge version, so I could see how the outputs compared. The only way to get cel vinyl (and presumably others using masks) to display in AR without the transparent area showing as black, was to change the the transparency mode to Alpha Blend and Test. Alpha Test didn't work. Ah forgot about that spreadsheet. Has some additional info like the UV slots and so forth.
If they're problems related to specific profiles (alpha mask etc) may make more sense to do it on export rather than change the brushes. The validator warnings were all seemed tied to lack of a normal, which prevented tangent mapping and normalization. Not entirely clear how that all ties into animation. Only the albedo was getting passed, which was generally ok for our brushes. There might have been some color wheel issue. I remember looking at the UV channels some, but that's kind of a haze now. Wish I'd had a couple more weeks to focus on it before uprooting, is really hard for me to get my head back into that space after setting it down" -------------------------------- Alright, ya, I started the post with the intent of making a thread here, then went to sleep apparently :: as far as exports, its gltf so I assume its the same issue, as long as the other side has those gltf features enabled.
Will need to double check (90% sure). I toggled it, but think I toggled it back. I set up the current cutting edge version, so I could see how the outputs compared. The only way to get cel vinyl (and presumably others using masks) to display in AR without the transparent area showing as black, was to change the the transparency mode to Alpha Blend and Test. Alpha Test didn't work. Ah forgot about that spreadsheet. Has some additional info like the UV slots and so forth.
If they're problems related to specific profiles (alpha mask etc) may make more sense to do it on export rather than change the brushes. The validator warnings were all seemed tied to lack of a normal, which prevented tangent mapping and normalization. Not entirely clear how that all ties into animation. Only the albedo was getting passed, which was generally ok for our brushes. There might have been some color wheel issue. I remember looking at the UV channels some, but that's kind of a haze now. Wish I'd had a couple more weeks to focus on it before uprooting, is really hard for me to get my head back into that space after setting it down" -------------------------------- Alright, ya, I started the post with the intent of making a thread here, then went to sleep apparently :: as far as exports, its gltf so I assume its the same issue, as long as the other side has those gltf features enabled.
OK - to summarise my answer from the private chat:
This is simply related to the new exporter not setting the correct alpha mode on export. I can fix that for most brushes automatically as the brush manifest has some useful metadata
Let me make that change and you can retest.
Alright, sure
Let me know when its ready
it will be on this branch as we have merged the other one to beta: https://github.com/icosa-foundation/open-brush/tree/feature/icosa-integration
ok, looks like there was an update a few minutes ago
not working yet
ok, will check it tonight
ok. try now
First, just grabbed some likely brushes and tested in sandbox.
Previews look good for the sample set, except the distance UV (wind, marbled rainbow),
although not sure what they should look like I'd think wind might have some transparency indicators.
Marbled rainbow is black, but that's likely due to the hypercolor shader effect (pretty sure that didn't display properly on that brush anyways)
Cel vinyl and the various oil brushes and other contoured brushes look right in preview.
There's a validation error I haven't seen before
"code": "UNDECLARED_EXTENSION",
"message": "Extension is not declared in extensionsUsed.",
"severity": 0,
"pointer": "/materials/12/extensions/EXT_blend_operations"
Probably easier to just show the results in AR (which are pretty much as expected based on preview)
The black one is marbled rainbow (still has edge tears, so is a different issue)
Wind is the one at the bottom with the black outline (distance uv effect)
is set to additive blend and has a black and white texture and uses distance uv with the shader
Everything else there looks good, and didn't have a problem exporting.
Scrolling animations (or any really, don't work or register as animations, as expected.
Fire is the one above wind (transparency works)
The dark blue tapered one in mid frame, is the fairy brush, so possibly unexpected
Brush list is here.
:: Noticed the splatter brush has a preview as well as the main brush. I've seen that in some of the things I was doing, what's that about?
This wasn't a "fix everything" change. It was specifically fixing broken cel vinyl and other shaders that use alpha test.
Additive will still be totally broken until I write a custom importer for every single possible importing app or get everyone behind a common blend mode extension 😦
Can probably improve particle brushes. Not sure what's wrong with coarse bristles.
Stuff like disco and hypercolor are going to be tough to fix without a custom importer
Wasn't sure what the status on additive was, and didn't test coarse bristles (test was list shown).
It seems to have fixed the alpha test issues, just gave an overview and pointed out other things I noticed.
Everthing involving the animated brushes looked complicated.
I think my impression was that lacking a custom importer, to do those kinds of brushes you'd need to do something like a frame by frame capture on export and basically keyframe record them, (significantly increasing time). Possibly an approach, but would definitely something which should be a user choice if the decision is made to go down that road.
Particle brushes would be awesome, anything that does some kind of movement would be a vast improvement in terms of visual impact.
Can these things be done with shader graph or similar setups, and get embedded in the gltf?
If they can, I might be interested in digging into that process
If they can, I might be interested in digging into that process
Can these things be done with shader graph or similar setups, and get embedded in the gltf?Not really. Keyframes are about the only thing you can do in a GLTF itself if you need more than GLTF supports then you have to write yourself a custom importer (which means one for blender, one for babylon, one for x, one for y etc etc)
I suppose keyframes would vary from sketch to sketch depending on the colors, scale, and so forth of the brush or scene you were recording.
Would USD be better suited for this sort of thing, or is the solution to do keyframe recording?
Maybe a combined approach? I seem to remember extracting a usd file from a piece using the experimental animation thing, and using it as a path in blender.
Could be a mirage though, that was when I was working through the export things and tried tons of stuff.
Need an AI to sort my notes out for me, I think
Need an AI to sort my notes out for me, I think