question

Christian Behrendt avatar image
Christian Behrendt asked ·

Correct way to setup procedurals

Hi guys,

I'm currently working on some scenes that use Procedurals quite a lot, but I can't for the life of it figure out the correct way to set this whole thing up correctly.

The problem is - sometimes it works, and then all of the sudden C4DtoA can't find the *.ass files anymore. I already searched the forums and found a relevant topic ( https://answers.arnoldrenderer.com/questions/2775/strange-behaviour-on-ass-file-with-relative-path.html ) .

But as suggested there I already put all my *.ass files into the tex folder.

Might the problem be, that I use nested Procedurals?

Basically I have vegetation assets that I scatter in a very large scene, which causes C4D to slow down a lot, because it has problems with handling huge amounts of scattered objects. So I converted the scattered vegetation to an *.ass, which then should contain all scattered procedurals which are my actual vegetation assets.

So for example I have a 80MB "Grass Scattered" Procedural, which contains 150.000 scattered Grass Objects as Procedurals.

As this whole setup needs to work on a renderfarm and relative paths don't work as the other thread states I've put all my procedurals (both the Scattered Procedurals and the actual Asset Procedurals) in the tex folder.

Sadly though I still seem to do something wrong, because for some reason this setup works once, and then randomly seems to stop working, because the files can't be found anymore.

"C4DtoA | 00:00:56 7039MB ERROR| [ass] can't read in Vegetation_Carpinus_J.ass: No such file or directory".

Looking forward for any help - thanks in advance!

c4dtoaassrender farm
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Peter Horvath avatar image
Peter Horvath answered ·

Yes, exactly, than you can be sure they won't collide.

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Christian Behrendt avatar image
Christian Behrendt answered ·

Ok, just to check that I get it right:

For example I have 5 gras assets that all get the same material applied, then for each of the 5 objects I should use a separate namespace per asset?

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Peter Horvath avatar image
Peter Horvath answered ·

Only procedurals can collide, the plugin takes care of other objects and shaders in the scene. So for instance if you have two shaders with the same name in a network, then the plugin adds an index to the second when exports it to Arnold. However the plugin can not change the content of the procedurals, they are black boxes.

Don't use any special characters in the namespaces, otherwise there's no special rule.

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Christian Behrendt avatar image
Christian Behrendt answered ·

Hi Peter,

I'll look into the namespaces - I encountered this part of the manual while looking for a solution initally, but didn't quite understand the namespaces at first. I'll definetly give that a try.

On what level would collisions between shaders for example occur? Do they occur when 2 nodes in the same Network have the same name, or do they occur when an object has more than one material applied and nodes in those 2 different networks have the same name?

Also are there any specifics to have in mind when declaring namespaces?

I'm sure the solution is in there, as I think the paths now seem to work fine :)

Thanks!

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Peter Horvath avatar image
Peter Horvath answered ·

Btw, if you can reproduce the issue and send me a scene, then I can take a closer look.

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Peter Horvath avatar image
Peter Horvath answered ·

It might be a collision in node names. Nodes are identified by names, so if two nodes (two shaders for instance) have the same name in two different procedurals, they collide and the result depends on which procedural is loaded first. You can avoid this if you specify different namespaces per procedural.

I'm not completely sure that's the problem with your scene, but the inconsistencies might come from that.

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Christian Behrendt avatar image
Christian Behrendt answered ·

Hi Peter,

thanks for the new build! I gave it a try, but I again run into some inconsitencies. As far as I can tell the path issue seems to be resolved, but on my first try I got following error messages:

After that I did nothing but deactivate/activate the Procedurals and restart the render a few times and then the Procedurals all of the sudden rendered fine without any problems at all.

I could see that the error messages might occur because I directly convert Cloner-/Surface Spread Objects to ASS, but what I don't get is why they sometimes work and sometimes don't, without anything having changed in the scene/settings.

I only tested for an hour so far, so nothing I said here is 100% certain. If I can help testing in any way let me know!

Thanks again! :)


2018-01-23-204352.jpg (155.0 KiB)
Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Peter Horvath avatar image
Peter Horvath answered ·

Could you please try this build? Let me know if the issue is still there.

https://safeshare.solidangle.com/index.php/s/CA5VRslOwaqPhCl

password: 9h5XZWAN

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Christian Behrendt avatar image
Christian Behrendt answered ·

That would be awesome Peter! As always thanks for the great support! :)

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Peter Horvath avatar image
Peter Horvath answered ·

OK, I think I see where the problem is. The plugin finds the assets in export time, and so it can send them to the TR client, but it does not actually add the tex folder to the search path. So the low-level assets are not found in render time. Adding ./tex to the search path is not a good workaround, because it's relative to the current working directory, which is undefined inside C4D (not necessarily the project root). This is definitely a bug with nested procedurals. I'll try to fix this on Monday and send you a build.

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.