render layers "error parsing arguments"

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

REPLY TO THREAD
 
Thread Tools Search this Thread Display Modes
  06 June 2011
render layers "error parsing arguments"

Been running into this for a while -- when creating new render layers in maya 2011, I try to apply override materials and get this error:

Error While Parsing Arguments
Could not update render layer adjustment

Or something to that effect. I'll post the exact error when I get a chance.

Any ideas?
 
  06 June 2011
Just an update on this --

The error seems to only happen in scenes where I have deleted a layer that previously had material overrides. I'm going to do some tests when I get a chance to see if I can repeat this error on purpose. Should have more info within the week.
 
  06 June 2011
It looks like you ran into the biggest problem in Maya for lighting/rendering! Congratulations! you'll run into it a lot more from now on.

What basically happens is that Maya forgets what shaders are assigned to the geo. It wouldn't be too bad if all we had to do to fix it was to re-assign the shaders, but alas, 3D is not that easy. No matter what you do now, the scene will forever be broken and will be prone to getting this same exact error over and over again.

Typically, in my experience, what leads to this problem is that somewhere along the line you either have imported a file that had render layers in it or you referenced an object that had render layers in it. Maya seems to be unable to handle render layers that it receives from a different file.

So far, I have found no fool proof way to prevent this error.

The best solution that I have found is to never use render layers, always use the masterlayer and then setup each pass in a different file. (so instead of 1 file with 3 layers, do 3 files with 1 layer).

Others will swear by different methods of solving this issue but whenever you're on a project, you don't really have time to dick around with various solutions... it's always better to be safe than sorry.

So unfortunately, you either have to live with this problem or basically start the whole process from scratch.

What you can try doing before committing to redoing it all is export your scene as an .ma and import it into a new clean file and see if that fixes it.

I have spent many a late night on projects because this problem occurs at the most inopportune time
 
  06 June 2011
Thanks for the input, at least! My particular scene had no imports and no references at all. So the culprit for me was just the layer system itself.

I've found that being a bit more careful about my layer management has helped this out. These are the steps I take now:

1. When you create a layer with material overrides, always be sure to revert those overrides and then empty the layer before deleting it.

2. If you create a new layer and get this error, immediately revert to your latest save before creating the new layer. Try rendering your scene in the master layer -- if you get any "no material applied" errors, make sure to re-apply any lost shaders on those objects.

3. When creating new render layers, ONLY select the topmost nodes in the hierarchy. If you have any master group nodes, make sure the child nodes are not also selected. The propagation of layer assignments seem to work better this way.

4. When applying material overrides, always use child transform nodes (bottommost on the hierarchy). Otherwise propagation seems to break again, and you can lose whole swaths of your assigned shaders. I use a script to force this selection type.

If I follow these steps, the parsing arguments error seems to be less prevalent.

I'm going to do a bit more research, because this is nonsense. I've had this problem off-and-on since maya 8.5 and nobody has a reasonable explanation, not to mention a solution.
 
  06 June 2011
Hi
Ed

have you shaded your objects with face based shading ?
because I have faced these issues when objects are shaded using the face based shading technique ...
I avoid it all together ..
 
  06 June 2011
Originally Posted by cavemen: Hi
Ed

have you shaded your objects with face based shading ?
because I have faced these issues when objects are shaded using the face based shading technique ...
I avoid it all together ..


That is definitely where the problem lies -- but the DAG is too slow by far to have separate objects for *every* shading group, not to mention the pain of breaking out faces for rigged surfaces.

No, there has to be a better solution for this.
 
  06 June 2011
To be very honest I have faced this issue from the 8.5 version of maya so ..
I avoid it altogether .. if you do find a solution please post it out here..
 
  06 June 2011
Originally Posted by cavemen: To be very honest I have faced this issue from the 8.5 version of maya so ..
I avoid it altogether .. if you do find a solution please post it out here..


In the short term, I'm thinking about coming up with a tool that will allow you to write out shader assignments to a text document, in the case of a catastrophic parse-argument clusterfrack, which has happened to me on occasion.

Long term, I might write my own version of the MEL shader assignment tool, which may help me narrow down where the failure happens.
 
  07 July 2011
The main problem is when Maya has to many connections and Maya looses track and something breaks. It will still happen from time to time here are some tricks that I find helps minimize it:

Make sure you have no shaders assigned to faces this creates many connections and Maya will not like having this changed.

Make sure there are no duplicate names as they can sometimes clash.

Use your render layers effecciently to minimize connections put groups of objects in render layers rather than geometry you can also use render override on display layers to help hide specific parts in render layers.

Use pass contribution maps for masks and use material override for layer instead of assigning surface shader to each object.

The less render layers the lower your chances will be.

When you want to copy a renderlayer try to use where possible "select objects in layer' create new layer from selected" This keeps it clean and wont bring any overides with it unless of course you want them then its better to duplicate it.

Im sure there is more just try and be smart and try and keep everything clean especially when dealing with larger scenes.

Last edited by Sebastianf : 07 July 2011 at 01:45 AM.
 
  02 February 2012
shader issue

You can more or less fix the issue by removing the problem object from all render layers, then back in the master layer just select your object, go into hypergraph and remove all connections to shaders, then you can start again with that particular object.

I recommend you avoid assigning shaders on a per face basis, sometimes it works but others it breaks.
 
  08 August 2012
This issue now has an "idea" on the Maya User Voice forum: http://mayafeedback.autodesk.com/fo...ng-renderlayers

If anyone wants to go vote, they might actually address this thing.
 
  08 August 2012
Originally Posted by comfortk: What basically happens is that Maya forgets what shaders are assigned to the geo. It wouldn't be too bad if all we had to do to fix it was to re-assign the shaders, but alas, 3D is not that easy. No matter what you do now, the scene will forever be broken and will be prone to getting this same exact error over and over again.

Typically, in my experience, what leads to this problem is that somewhere along the line you either have imported a file that had render layers in it or you referenced an object that had render layers in it. Maya seems to be unable to handle render layers that it receives from a different file.

That answered a lot of questions I had. Thanks comfortk
 
  08 August 2012
I noticed that a year ago I was not as wise in referencing as I am now. I may have said a few things that I have now learned is for the best. So that being said, this is a follow up to what I posted and it will contradict with what I said a year ago, but please use this post as a guide and ignore my last post I swear you'll be thanking me later

In my experience it's not just per face shader assignment that mucks the file up (although that is a huge part of it). The last time I posted in this thread was more than a year ago and I swore I would never use references again because it ALWAYS messes up. But in that year, I have been forced to reference huge files in order to reduce save time. I'm talking like 5gb files that go down to 30mb after referencing.

So here is what I learned in the past year of referencing.

Most importantly, it's a necessary evil for efficient workflows. Saving a file for 15 minutes every time is a waste.

If you reference a file, make sure that that file has the same layer names as your render scene. When creating the reference for the first time, make sure you check "use render layers with same name" or something to that affect.

Secondly, DO NOT edit geo or reassign shaders or create or change render layer assignments to the reference in the master file. This will always end up with errors and shaders will lose assignments and your file will die. If you need to make changes, take the extra 30 minutes to load up the reference scene and make your edits there. Yes, it's slow and clunky but it will save you a huge chunk of time later and will prevent you from going bald.

You can edit shader attributes and constrain geo with the file when it's referenced however.

I can't stress this enough, once the file is referenced in, do not edit it in anyway in that scene. Always go back and edit it in the original file. But always make sure that your render layers in the master scene and referenced file match up letter for letter.

If for whatever reason you've ignored my advice and changed crap in the master scene, you can always go into the reference editor and list reference edits. Here you can search for that bad piece of geo that threw a wrench into your pipeline, and delete whatever edits you made to it.

All this comes from experience in the past year and from someone who swore he'd never use referenced ever again. But here I am now swearing by references and the amount of time they save.

Yes, maya shouldn't freak out over edits to a reference. Yes it's stupid that it breaks on you. But follow these rules and it won't happen at all.

I hope this helps a lot of people cause it was a painful journey finding out these rules and I am now 26 and fairly bald.

Last edited by comfortk : 08 August 2012 at 01:19 AM.
 
  08 August 2012
many thanks to comfortk!

Comfortk, thanks a ton for the update. I would love to find some way to keep the convenience of reference edits without the hassle of opening each reference to assign overrides and layer assignments. Maybe there could be some way to write the edits to file, and then retro-actively assign the changes to the referenced scenes. Or maybe assign the edits to a pre-render MEL, so that your saved files never have the reference edits. Hmmmmmmm.
 
  08 August 2012
I totally agree and it doesn't seem like it'll be a huge leap for the developers. They already have all the edits listed to the reference, they should add a "commit edits to reference" button. Then again, once they implement this, we'll spend another decade trying to deal with the new problems that button will create
 
reply share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright ©2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 08:05 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.