-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problem with Arnold USD instancing in Bifrost. #3933
Comments
Thank you for sharing this. We will investigate. |
Hi @pixelwash , if I understand well the issue you're having is that Arnold USD exports don't include the whole scene under the defaultPrimPath defined in the file, which is needed when you do instances of that file. We no longer recommend using the Arnold USD export, neither do we recommend using standins anymore, now that we added the "Arnold" plugin configuration to MayaUSD. When you export with MayaUSD, you should see an option under "Plugin configuration" where you can enable "Arnold". This will trigger the mayaUSD export and add all the needed Arnold data on top of that file, so it should be the best of both worlds. If anything is missing in that workflow with recent versions of mayaUSD & MtoA, please let us know so that we can fix it asap, as this is now the preferred worflow for arnold & usd inside of maya. Also, loading that file with a proxy shape instead of a standin will allow you to do way more things, like properly editing the usd data, seeing & editing the shading trees in lookdevx, handling multiple usd files in the usd layer editor, etc... if there are features of the standin that you're missing in the proxy shape, that's also something we want to know so that we can focus on that. Cheers |
On Sep 26, 2024, at 10:48 PM, Sebastien Blaineau-Ortega ***@***.***> wrote:
Hi @pixelwash <https://github.com/pixelwash> , if I understand well the issue you're having is that Arnold USD exports don't include the whole scene under the defaultPrimPath defined in the file, which is needed when you do instances of that file.
We no longer recommend using the Arnold USD export, neither do we recommend using standins anymore, now that we added the "Arnold" plugin configuration to MayaUSD.
When you export with MayaUSD, you should see an option under "Plugin configuration" where you can enable "Arnold". This will trigger the mayaUSD export and add all the needed Arnold data on top of that file, so it should be the best of both worlds. If anything is missing in that workflow with recent versions of mayaUSD & MtoA, please let us know so that we can fix it asap, as this is now the preferred worflow for arnold & usd inside of maya.
Also, loading that file with a proxy shape instead of a standin will allow you to do way more things, like properly editing the usd data, seeing & editing the shading trees in lookdevx, handling multiple usd files in the usd layer editor, etc... if there are features of the standin that you're missing in the proxy shape, that's also something we want to know so that we can focus on that.
Cheers
—
Reply to this email directly, view it on GitHub <#3933 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AUTLRQV4CJHQTGMWRGOL65LZYTWRJAVCNFSM6AAAAABO3NXVPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZYGQ2DMOJQGM>.
You are receiving this because you are subscribed to this thread.
You completely missed the point of my post, and the nature of the bug. "Export selection' as Arnold USD (or Arnold .ASS) does not export the whole scene, and never did. The problem is with the instancing USD workflow in Bifrost. Do you think I want to “instance” the whole scene in Bifrost? What exactly would be the point of that? So your “answer" is irrelevant to the real problem, and frankly insulting to my intelligence (and yours.) I need a replacement for Arnold Standins in the new Bifrost workflow, and so do anybody interested in producing work in Maya as efficiently and quickly as possible..
I build architectural sized scenes in Maya, so being able to quickly select a group of objects and quickly re-place them in the scene as an “instance” ie as an Arnold "standin" my case for the last eight years is very handy, and all the people, cars, and foliage are currently placed in my models that way too.
Currently there is no single step way to export a group of objects in Maya and place them back into a scene quickly using the USD workflow that is compatible with Bifrost USD instances. As I said in my bug report, while both Maya and Bifrost Arnold USD imports to stage work fine in that manner, they DON'T don’t work correctly in Bifrost in USD instancing. This is a BUG that needs to be FIXED.
IF it’s NOT a bug, and just something that can be “worked around", please explain how you supposedly can export an Arnold textured and shaded model in Maya to USD (in a single step), and then re-import/place them into Bifrost, and then use Bifrost’s USD instancing functionality, and then have the models be correctly fully shaded and textured in the final render without having to go into Bifrost and dicker with shaders and textures to reattached them all by hand. Try it yourself, if you can explain a way to do it, suggesting I stop using "Arnold USD” Standins might make some sense.
Pixelwash
|
On Sep 27, 2024, at 11:49 PM, Work ***@***.***> wrote:
> On Sep 26, 2024, at 10:48 PM, Sebastien Blaineau-Ortega ***@***.***> wrote:
>
>
> Hi @pixelwash <https://github.com/pixelwash> , if I understand well the issue you're having is that Arnold USD exports don't include the whole scene under the defaultPrimPath defined in the file, which is needed when you do instances of that file.
>
> We no longer recommend using the Arnold USD export, neither do we recommend using standins anymore, now that we added the "Arnold" plugin configuration to MayaUSD.
>
> When you export with MayaUSD, you should see an option under "Plugin configuration" where you can enable "Arnold". This will trigger the mayaUSD export and add all the needed Arnold data on top of that file, so it should be the best of both worlds. If anything is missing in that workflow with recent versions of mayaUSD & MtoA, please let us know so that we can fix it asap, as this is now the preferred worflow for arnold & usd inside of maya.
>
> Also, loading that file with a proxy shape instead of a standin will allow you to do way more things, like properly editing the usd data, seeing & editing the shading trees in lookdevx, handling multiple usd files in the usd layer editor, etc... if there are features of the standin that you're missing in the proxy shape, that's also something we want to know so that we can focus on that.
>
> Cheers
>
> —
> Reply to this email directly, view it on GitHub <#3933 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AUTLRQV4CJHQTGMWRGOL65LZYTWRJAVCNFSM6AAAAABO3NXVPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZYGQ2DMOJQGM>.
> You are receiving this because you are subscribed to this thread.
>
You completely missed the point of my post, and the nature of the bug. "Export selection' as Arnold USD (or Arnold .ASS) does not export the whole scene, and never did. The problem is with the instancing USD workflow in Bifrost. Do you think I want to “instance” the whole scene in Bifrost? What exactly would be the point of that? So your “answer" is irrelevant to the real problem, and frankly insulting to my intelligence (and yours.) I need a replacement for Arnold Standins in the new Bifrost workflow, and so do anybody interested in producing work in Maya as efficiently and quickly as possible..
I build architectural sized scenes in Maya, so being able to quickly select a group of objects and quickly re-place them in the scene as an “instance” ie as an Arnold "standin" my case for the last eight years is very handy, and all the people, cars, and foliage are currently placed in my models that way too.
Currently there is no single step way to export a group of objects in Maya and place them back into a scene quickly using the USD workflow that is compatible with Bifrost USD instances. As I said in my bug report, while both Maya and Bifrost Arnold USD imports to stage work fine in that manner, they DON'T don’t work correctly in Bifrost in USD instancing. This is a BUG that needs to be FIXED.
IF it’s NOT a bug, and just something that can be “worked around", please explain how you supposedly can export an Arnold textured and shaded model in Maya to USD (in a single step), and then re-import/place them into Bifrost, and then use Bifrost’s USD instancing functionality, and then have the models be correctly fully shaded and textured in the final render without having to go into Bifrost and dicker with shaders and textures to reattached them all by hand. Try it yourself, if you can explain a way to do it, suggesting I stop using "Arnold USD” Standins might make some sense.
Pixelwash
When I filed this bug, I did use “export selection” to Maya USD with the “Arnold” option showing, and saw it displayed in that weird rounded little box there and assumed that “Arnold” had been selected, but messing with it more I see you guys have introduced another non-stand UI element ie a toggle slider, that works like a switch, so having “Arnold’ appear in that little window is not enough to set that option, but you have to toggle it to enable it. Are you guys living on another planet from the Maya UI team? It looks like something from a cell phone. I guess THAT is the future, like iPad OS is going to be the new Macintosh. Sigh. I toggled it on, and will see if USB instances work correctly in in the Bifrost USD workflow and let you know.
As an aside, it would be really great of Maya USD automatically built ultra low poly standins/proxies when you do the export, I’m now investigating if I can use shrink-wrap deformers to do it by hand, or use Maya particles to make a mesh and set it up as a macro, my trees and foliage are often huge models. The old Arnold “standins” have a built in option within Maya of either displaying them as point clouds, boxes or the full geometry in the viewport, and this is very handy.
|
In the bug report, I hope you noticed that I did try the "Maya USD" export selected objects option in the Bifrost USD workflow, and while the model via that method did display the texture maps correctly, they didn't render at the correct relative brightness to the rest of the scene, but now that you mention it in your suggestion for a "solution" I see I might have been confused by the new UI of that process that you guys have come up with. I saw "Arnold" there in that weird little rounded rectangular box, and assumed that was the option selected (a menu toggle popup is pretty common in maya to set options), but now messing with it again I see that it has an additional element built into it, which is a round sliding "switch" like a cellphone, and in my case. I hadn't toggled it "on". (A more standard UI for setting an option like that in Maya would be a simple menu selection popup with the selected option left showing) So after doing that, I'll try using Maya USD files again in the Bifrost USD workflow, and see if they work properly. Fingers crossed. The other thing missing from this new workflow compared with Arnold "Standins" is a automatic method for displaying all "placed" geometry as bounding boxes, point clouds or polygons. Arnold "Standins" have this built into them, and your choice of the various settings can be assigned to different display layers in Maya for selected objects to easily be changed en masse in the viewport, which is functionality I use all the time. So using the new USD workflow, I'm going to have to build some way of making USD proxy objects for all my models to emulate that functionality, as you observed. (So I'm thinking the Maya shrinkwrap deformer, or maybe Maya particles into Bifrost to create an ultra low poly proxy objects.) So once again I suggest that it seems a logical thing to build into the Maya USD export dialog, namely the option of creating ultra low polygon stand-ins automatically. |
I suspect like the other couple of bugs I posted here that this is more of a Bifrost bug than a USD bug, but this one is very important to me. I've used Arnold "standins" functionality to insert geometry into my Maya scenes for years, it's like a pre-USD functionality to handle large datasets in Maya. When USD was added to Maya, Arnold added the ability within Maya to "save selection as an Arnold USD" file, in addition to the .ASS file format of the previous Arnold instance reference archives.
These Arnold USD files follow the Maya scene descriptor hierarchy, including incorporating the Maya convention of making the meshes child objects of "shape nodes", and they include all the shader, gamma, and Arnold settings in the files.
The Arnold USD files can be used like the ASS files within Maya referenced by Arnold "Standins", which is very handy, and something I use all the time in my scenes. The Arnold USD files also work and render fine as USD files within Maya using the create stage from file option, and can then be used with all the new Maya USD functionality.
My problem is using them in Bifrost. These Arnold USD files render fine with all shaders in place in Bifrost when referenced as sublayers to a parent layer attached to a Stage, but they don't work with the instancing functionality currently implemented in Maya Bifrost.
In Bifrost USD instancing, the "define_usd_reference_from_file" node has to be used to add the path to these files - and that node doesn't handle the "extra" stuff in the Arnold USD file properly, and ends up completely failing to read the file, resulting in Arnold USD instances within Bifrost not being displayed or rendering.
To reproduce the problem follow these steps: 1. Create a Maya scene with a global light in Arnold, and an object with an Arnold Standard Surface shader with a texture. 2. Select the object, and export it using the Arnold USD file format (which is the format which works fine with Arnold "Standins" in Maya.) 3. Reference the Arnold USD file using an Arnold Standin in Maya and see how it renders. (It will/should render exactly the same as the original object) 4. Reference within a Bifrost graph the Arnold USD file using the standard method as a single file via a Stage, Layer container, and finally the file itself via a sublayer. 5. Render the image. It looks the same as the original object. 6. Instance the Arnold USD file using a Bifrost USD instancer node. 7. Render the image. (It will be blank, as not even previews work for Arnold USD files.)
I've found that using the Maya "export USD" of the selected file rather than the "Arnold USD" file results in USD archives that work in the Bifrost USD instancing, and render with shaders in place, but they do not react correctly to scene lighting, and do not of course follow all the extra Arnold rendering options like denoising settings. Looking at the USD files in the Maya proxy node in the Outliner shows the outstanding difference between a "regular USD" Maya export, and an "Arnold USD" export is that the base mesh in the regular USD is exposed directly in the scene hierarchy with no "shape node", whereas the Arnold USD has the mesh as a child of a "shape node".
Currently the big reason why this is so important to me is that whether I use the Bifrost Arnold USD instancing or not in my scene, I still continue to want to use the Arnold "Standin" functionality because it is so quick and convenient for dealing with single instances of heavy geometry within Maya. I guess I could switch completely over the USD and its proxies, perhaps that is what I should be aiming to do, but I am left with the dilemma of how to easily create these "new" USD files with included proxies within the Maya UI.
Currently making Arnold "standins" of selected heavy objects is just a single action (which I've assigned a key shortcut because I use it so often.) The obvious short term solution is for the Bifrost USD instancing to read these Arnold USD files correctly, but going forward, it seems that a logical step for Maya is for it to replicate the simplicity & efficiency of Arnold instances within the Maya USD UI functionality ie providing an easy way to export USD geometry that automatically builds a proxy object with all the Arnold shading and rendering options included for later use in instancing and referencing within the Maya USD functionality.
One extra observation is that by including a way to incorporate Arnold ":Standins" in the Bifrost graph would allow those who have built up large libraries of Arnold format archives to use them within the new Bifrost workflows.
The text was updated successfully, but these errors were encountered: