Render Xgen hair in C4D via ASS?

aaron_barreras
Contributor
Contributor

Render Xgen hair in C4D via ASS?

aaron_barreras
Contributor
Contributor

We have a character that was created in Maya with Xgen hair. In trying to use ASS to export it, the results won't render in C4D, it just keeps saying "xgen_procedural is not installed". In the Arnold system panel I'm pointing the procedural search path to the MtoA folder ("Applications/solidangle/mtoa/2018/procedurals"), so I'm not sure what I'm missing. Any thoughts?

0 Likes
Reply
2,632 Views
26 Replies
Replies (26)

Stephen.Blair
Community Manager
Community Manager

It's not quite that simple. The xgen procedural has dependencies on other Maya libraries.

See here: https://arnoldsupport.com/2018/02/02/maxtoa-rendering-xgen-in-3ds-max/



// Stephen Blair
// Arnold Renderer Support
0 Likes

aaron_barreras
Contributor
Contributor

Thanks for the link Stephen. Any hints on how to best achieve this on a Mac?

0 Likes

aaron_barreras
Contributor
Contributor

Quick update, I tried to follow the steps in the link as best as possible (given that I'm on a Mac and using C4D), but it still doesn't work.

Using the terminal I added an environment variable for Path, pointing to the Maya install as indicated in the example (both the Maya/bin and Xgen/bin folders). Afterward, I put the path for the procedurals in the Arnold render settings just like the example. Restarted everything, and still get the same error, so clearly there's something amiss.

0 Likes

Stephen.Blair
Community Manager
Community Manager
0 Likes

aaron_barreras
Contributor
Contributor

Thanks for the new link, Stephen! However, I still must be doing something wrong. Even following those steps, I'm getting the same error. I followed the instruction exactly, and ensured that the folder paths matched; this is a fresh install of Maya 2018.5 and a fresh install of both MtoA and C4DtoA, everything is in the default folders. Also, when I paste the path into the plugin field in Cinema, the console lists a bunch of errors immediately after. Anyway, not sure what I'm doing wrong, but attached is a screenshot showing the steps I took and the console errors. No doubt it's user error, but at this point I'm not sure what I'm doing wrong. Any insight would be greatly appreciated

3148-xgen-issue-screenshot.png

0 Likes

Stephen.Blair
Community Manager
Community Manager

Ignore the plugin ID messages. Those are coming from C4D

Sorry, there was copy-paste error in my blog post. "/MacOS" was missing from the "Maya.app/Contents" part. DYLD_LIBRARY_PATH should be set like this:

export DYLD_LIBRARY_PATH=/Applications/Autodesk/maya2018/plug-ins/xgen/lib:/Applications/Autodesk/maya2018/Maya.app/Contents/MacOS


// Stephen Blair
// Arnold Renderer Support
0 Likes

aaron_barreras
Contributor
Contributor

Thanks again for the update, Stephen. I tried the new path, but I still get the exact same error. This is even after restarting and doing all the steps from scratch. I've double checked the env variables using the echo command, and it appears that they're correct. I've also made sure all the file paths to Maya and MtoA are correct. Any other thoughts of things I can do to troubleshoot this?

0 Likes

Stephen.Blair
Community Manager
Community Manager

What versions of C4DtoA and MtoA do you have?

In a terminal, with DYLD_LIBRARY_PATH set, run these commands to see whether kick can load the xgen procedural

cd /Applications/MAXON/CINEMA\ 4D\ R20/arnold/bin
./kick -v 4 -nodes -l /Applications/solidangle/mtoa/2018/procedurals


// Stephen Blair
// Arnold Renderer Support
0 Likes

aaron_barreras
Contributor
Contributor

Thanks Stephen, here's the results from that command:

loading plugins from /Applications/solidangle/mtoa/2018/procedurals
| alembic_proc.dylib: alembic uses Arnold 5.2.2.1
| cryptomatte.dylib: cryptomatte uses Arnold 5.2.2.1
| cryptomatte.dylib: cryptomatte_filter uses Arnold 5.2.2.1
| cryptomatte.dylib: cryptomatte_manifest_driver uses Arnold 5.2.2.1
| mtoa_ParticleInstancer_proc.dylib: particleInstancer uses Arnold 5.2.2.1
| mtoa_ParticleVolume_proc.dylib: volume_particle uses Arnold 5.2.2.1
| mtoa_ParticleVolume_proc.dylib: implicit_particle uses Arnold 5.2.2.1
| xgen_procedural.dylib: xgen_procedural uses Arnold 5.2.2.1
| xgenSpline_procedural.dylib: xgenProcedural uses Arnold 5.2.2.1
implicit_particle shape (implicit)
particleInstancer shape (procedural)
volume_particle shape (volume)
xgenProcedural shape (procedural)
xgen_procedural shape (procedural)

loading plugins from .
none

Also, the machine I'm using for this is a Mac running Sierra, C4DtoA-2.4.5 on Cinema 20.030, and
MtoA-3.1.2.1 with Maya 2018.5.

The actual character asset I need to import is very heavy, so for now I'm testing the pipeline using just the XGen presets (calico) on a sphere exported as an Arnold standin. Is there something I'm doing wrong in the export process maybe?

test-a.ass

0 Likes

Stephen.Blair
Community Manager
Community Manager

kick was able to load xgen_procedural, so DYLD_LIBRARY_PATH is set correctly.

C4DtoA should be able to load it too.

In CINEMA 4D, set the Arnold log verbosity to Debug, and then Render to Picture Viewer. Check the Arnold log in the Console.



// Stephen Blair
// Arnold Renderer Support
0 Likes

Stephen.Blair
Community Manager
Community Manager

There's nothing wrong with the ass file.
But it does use some MtoA shaders, so you'll have to add the MtoA shaders folder to the Shader Search Path



// Stephen Blair
// Arnold Renderer Support
0 Likes

aaron_barreras
Contributor
Contributor

Thanks again for the quick reply, Stephen! Here's the results from the console:

C4DtoA | 00:00:00 799MB | log started Fri Feb 1 12:48:40 2019
C4DtoA | 00:00:00 799MB | Arnold 5.2.2.1 [2dff6c07] darwin clang-5.0.0 oiio-2.1.0 osl-1.11.0 vdb-4.0.0 clm-1.0.3.513 rlm-12.4.2 2019/01/10 05:35:14
C4DtoA | 00:00:00 799MB | running on ryan-imac.local, pid=741
C4DtoA | 00:00:00 799MB | 1 x Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz (4 cores, 8 logical) with 32768MB
C4DtoA | 00:00:00 799MB | macOS 10.12.6 "Sierra", Darwin kernel 16.7.0
C4DtoA | 00:00:00 799MB | soft limit for open files raised from 10238 to 10238
C4DtoA | 00:00:00 799MB |
C4DtoA | 00:00:00 799MB | loading plugins from /Applications/MAXON/Cinema 4D R20/arnold/bin/../plugins ...
C4DtoA | 00:00:00 799MB | alembic_proc.dylib: alembic uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | [metadata] loading metadata file: /Applications/MAXON/Cinema 4D R20/arnold/bin/../plugins/alembic_proc.mtd
C4DtoA | 00:00:00 799MB | cryptomatte.dylib: cryptomatte uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | cryptomatte.dylib: cryptomatte_filter uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | cryptomatte.dylib: cryptomatte_manifest_driver uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | [metadata] loading metadata file: /Applications/MAXON/Cinema 4D R20/arnold/bin/../plugins/cryptomatte.mtd
C4DtoA | 00:00:00 799MB | loaded 4 plugins from 2 lib(s) in 0:00.00
C4DtoA | 00:00:00 799MB | loading plugins from /Applications/MAXON/Cinema 4D R20/plugins/C4DtoA/procedurals ...
C4DtoA | 00:00:00 799MB | volume_tfd.dylib: volume_tfd uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | [metadata] loading metadata file: /Applications/MAXON/Cinema 4D R20/plugins/C4DtoA/procedurals/volume_tfd.mtd
C4DtoA | 00:00:00 799MB | volume_voxel_field.dylib: volume_voxel_field uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | [metadata] loading metadata file: /Applications/MAXON/Cinema 4D R20/plugins/C4DtoA/procedurals/volume_voxel_field.mtd
C4DtoA | 00:00:00 799MB | loaded 2 plugins from 2 lib(s) in 0:00.01
C4DtoA | 00:00:00 799MB | loading plugins from /Applications/MAXON/Cinema 4D R20/plugins/C4DtoA/shaders ...
C4DtoA | 00:00:00 799MB | c4d_noise_shader.dylib: c4d_noise uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: c4d_texture_tag uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: c4d_texture_tag_rgba uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: mesh_light_material uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: normal_displacement uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: vector_displacement uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: c4d_vertex_map uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: xparticles uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: image_plane uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: layer_color uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: layer uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | c4dtoa_shaders.dylib: xp_gaseous uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | [metadata] loading metadata file: /Applications/MAXON/Cinema 4D R20/plugins/C4DtoA/shaders/c4dtoa_shaders.mtd
C4DtoA | 00:00:00 799MB | loaded 12 plugins from 2 lib(s) in 0:00.00
C4DtoA | 00:00:00 799MB | loading plugins from /Applications/solidangle/mtoa/2018/procedurals ...
C4DtoA | 00:00:00 799MB | mtoa_ParticleInstancer_proc.dylib: particleInstancer uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | mtoa_ParticleVolume_proc.dylib: volume_particle uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | mtoa_ParticleVolume_proc.dylib: implicit_particle uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB WARNING| unable to load dynamic library /Applications/solidangle/mtoa/2018/procedurals/xgen_procedural.dylib:
C4DtoA | 00:00:00 799MB WARNING| unable to load dynamic library /Applications/solidangle/mtoa/2018/procedurals/xgenSpline_procedural.dylib:
C4DtoA | 00:00:00 799MB | loaded 3 plugins from 2 lib(s) in 0:00.01
C4DtoA | 00:00:00 799MB | [metadata] loading metadata file: /Applications/MAXON/Cinema 4D R20/plugins/C4DtoA/c4dtoa.mtd
C4DtoA | 00:00:00 799MB | [metadata] loading metadata file: /Applications/MAXON/Cinema 4D R20/plugins/C4DtoA/procedurals/volume_tfd.mtd
C4DtoA | 00:00:00 799MB | [metadata] loading metadata file: /Applications/MAXON/Cinema 4D R20/plugins/C4DtoA/procedurals/volume_voxel_field.mtd
C4DtoA | 00:00:00 799MB | [metadata] loading metadata file: /Applications/MAXON/Cinema 4D R20/plugins/C4DtoA/shaders/c4dtoa_shaders.mtd
C4DtoA | 00:00:00 800MB ERROR| [ass] line 43: node "xgen_procedural" is not installed

0 Likes

Stephen.Blair
Community Manager
Community Manager

If kick can load the xgen procedural, I don't see why C4DtoA cannot.

I'll try it on macOS too, just to confirm, after I fix my broken Maya install and licensing. I have kicked xgen ass files on macos before.



// Stephen Blair
// Arnold Renderer Support
0 Likes

Stephen.Blair
Community Manager
Community Manager

Worked for me, no problem. But with R19, I don't have R20 installed yet



// Stephen Blair
// Arnold Renderer Support
0 Likes

aaron_barreras
Contributor
Contributor

Thanks for checking, Stephen. In the meantime, I tried this on another Mac, and still got the same error. I also tried in R19, with no luck. So, whatever I'm doing wrong, it's affecting multiple machines and multiple versions of Cinema.

0 Likes

Stephen.Blair
Community Manager
Community Manager

You are starting CINEMA 4D from the command line, right? From the same terminal where you set DYLD_LIBRARY_PATH ?



// Stephen Blair
// Arnold Renderer Support
0 Likes

aaron_barreras
Contributor
Contributor

Hello Stephen, thanks again for the troubleshooting! Indeed, I am starting from the command line. What's odd, is that in looking through the log I posted, it seems to be accepting the mtoa particle plugins, but it's when it hits the xgen that it reports a warning:

C4DtoA | 00:00:00 799MB | loading plugins from /Applications/solidangle/mtoa/2018/procedurals ...
C4DtoA | 00:00:00 799MB | mtoa_ParticleInstancer_proc.dylib: particleInstancer uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | mtoa_ParticleVolume_proc.dylib: volume_particle uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB | mtoa_ParticleVolume_proc.dylib: implicit_particle uses Arnold 5.2.2.1
C4DtoA | 00:00:00 799MB WARNING| unable to load dynamic library /Applications/solidangle/mtoa/2018/procedurals/xgen_procedural.dylib:
C4DtoA | 00:00:00 799MB WARNING| unable to load dynamic library

Both machines tested are using the freshest installs of MtoA and C4DtoA; Maya is also the latest (2018.5), and I've tried in both Cinema R19 and R20. The Macs are High Sierra, though I can try on a Mojave machine tomorrow if it helps. I'm not sure if it makes a difference, but the only other thing worth noting is that our Arnold's are floating and run through a license server, just in case that changes any of this.

I'll bring in my PC laptop this week as well and try rendering from it, just to see if I have more luck there.

0 Likes

Stephen.Blair
Community Manager
Community Manager

The mtoa particle procedurals don't have any extra dependencies, so they will always load.

The license doesn't matter.

So, it looks like some dependency is still missing when loading xgen_procedural from a running CINEMA 4D

In a Terminal, open two tabs:

  • In one tab, set DYLD_LIBRARY_PATH and start CINEMA 4D.
  • Load a scene that uses xgen
  • In the other tab, start dtruss:
    sudo dtruss -f -n CINEMA 2>~/dtruss.log
  • In CINEMA 4D, try to render
  • Go back to the terminal, and press CTRL+C to stop dtruss
  • Post the dtruss.log so we can check what's happening


// Stephen Blair
// Arnold Renderer Support
0 Likes

aaron_barreras
Contributor
Contributor

Thanks for helping to troubleshoot this, Stephen. Though I'm still not ruling out something that I'm doing wrong.

Attached is the dtruss.log file.dtrusslog.zip

0 Likes