Comments (12)
@mottosso This is very much in line with what I had in mind. I've found that most of the checks I considered important could become less crucial by improving the method of extraction.
For example if I don't want any non-default shader assigned on my exported mesh at first I thought Validating whether it didn't have any non-default shaders assigned. Nevertheless it's much less intrusive for the Artist to just 'fix' it upon export (temporarily assign default shader) because it's not related data for the export anyway. Note that maya's export allows to exclude shaders, but the annoying thing is that it won't even get default shader assigned when imported in a new scene. You would only have the wireframe then.
So I have been setting up a more elaborate Extractor that ensures correct output to allow more freedom for the Artist (less restrictive validations) and still have a fully valid output. Would you also say that's the way to go?
from pyblish-magenta.
Just wanted to add a little note to the example given at the top about validate_keys_none.py
.
Excluding keyframes from Extraction might be beneficial for avoiding to have to raise an error but it's likely that a keyframe might mean an Extraction from different frame will result in a different output. With this in mind it might be possible that being on a different frame is an unintentional difference from the artist.
We could set up the Extractor so that it always extracts from the first frame so its consistent, but this might be confusing to the artist because the output is different than what he sees in the current scene on the current frame. Instead it would be clearer if at least a warning is raised.
This shows that it's important to ensure it's clear to artists what will be extracted from the scene and how such extractions are performed. Maybe it could be crucial here to have warnings for the artists that could be 'passed' if the artist is aware of what is happening to his scene instead of having him/her run into more limiting errors.
What do you think?
from pyblish-magenta.
Excluding keyframes from Extraction might be beneficial for avoiding to have to raise an error but it's likely that a keyframe might mean an Extraction from different frame will result in a different output.
Hm, I'm not following here. Are you thinking that it would exclude individual keys, as opposed to whole curves? If so, then no, that would be too fragile and not to mention unnecessary. :S
from pyblish-magenta.
I meant if you were to extract a model without any animation from a scene by excluding any keyframes it might have then it would have a different output based on from which frame it would be extracted.
A mesh moving or deforming from origin up to 10 in y-axis would change on different frames.
Does that make more sense?
from pyblish-magenta.
It does, but I can't see how that's a problem. Wouldn't a model with keyframes be broken regardless? How do you rig something like that?
from pyblish-magenta.
Just wanted to add a little note to the example given at the top aboutvalidate_keys_none.py.
With this I meant that specifically this example would be tricky one. Doing an Exclusive extraction (just ditching the keys) would be worse than having a Validator in place for this.
So exactly, a Model should be validated for keyframes to help the artist know what's going on. Extraction can still be made Exclusive of keys to make that safe as well.
from pyblish-magenta.
Ah, now I see what you mean. Well put. I even got tricked into proving your point. :)
from pyblish-magenta.
I think the Additive vs Subtractive remains an interesting topic and could even be a main Wiki page for Pyblish to describe up/downsides and introduce anyone with it so they at least think about it.
I think the discussion has proven useful but it's hard to keep this open "just as a reminder" to keep this in our minds.
It's not a particular "issue" currently present so could be closed?
from pyblish-magenta.
You're welcome to close anything you feel is not achievable or is already achieved.
from pyblish-magenta.
I can't seem to be able to close this, only those that I opened have the close button. 😄
from pyblish-magenta.
Oh! I'll see if I can fix that.
from pyblish-magenta.
Ok, should be fixed now.
from pyblish-magenta.
Related Issues (17)
- Validate bind-pose HOT 6
- Validate rig performance HOT 8
- Validate locked normals HOT 4
- The Collect, Extract and Integration chain HOT 8
- Encapsulating Collection HOT 12
- Public facing API HOT 21
- Integrator file naming HOT 5
- Setting up "Getting Started" documentation HOT 1
- Alembic Wrapper extractor doesn't include motion HOT 4
- Validate non-zero vertices HOT 3
- Scene saved validator HOT 5
- Concatenate pointcache hierarchies HOT 4
- Shaders included in model export HOT 3
- Maya Asset Browser HOT 2
- Maya Instance Browser HOT 5
- Alembic Extractor specifying attributes in job string twice with list or tuple values 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 pyblish-magenta.