Maya XGen Colored Cubes and Spheres Rendered with Arnold

Some more tests with XGen archives and spheres. This time with a bit more color. I basically use a texture map to ‘drive’ the length and color of an XGen primitive. These primitives can range from spheres, splines or as in most of the examples below, cube geometry that has been exported as an archive. I then use expressions with XGen in Maya to modify the length, size and orientation of the archives.

Finally, I use the Arnold software renderer to create the final image. Arnold is able to realistically render millions of these pieces of geometry very quickly at high resolutions without any problem.

A tutorial that goes through the process can be found here.  All of the images are rendered with Arnold for Maya. Click here to view my initial tests without color. Click here to view more XGen tutorials.

Many thanks to Pedro F. Gómez for his assistance with XGen. Featured on: Daily Planet Show, COLOSSAL, GIZMODO, THE VERGEtheCreatorsproject, CREATIVE BLOQ, 3dtotalBEHANCE, SPLOID, LESTERBANKSCG RECORD, ronenbekermanCGFeedback, DIGITAL PRODUCTION.xgen-thumbs

Its nice to see that my work has inspired other artists to also have a go. Please share your results with me!

View this post on Instagram

More Maya, Mash & Redshift. #maya3d #mayamash #redshift3d

A post shared by Glenn Dawick (@glennimusprime) on

Google – Cubes

pFlow World Map–o/

High Poly #highpoly #storm #cinema4d @maxonc4d #octane #octanerender #fottergraph #freelancelife

A photo posted by fottergraph (@fottergraph) on

64 thoughts on “Maya XGen Colored Cubes and Spheres Rendered with Arnold

  1. Amazing stuff, really innovative way of using the software 🙂 I especially like the last one, look like dot art but made with 3d, Great.

  2. If you made a real physical model of these at a large scale they would make amazing wall installations. Add some cool up or down lighting as well!

  3. Pingback: artifacts
  4. Pingback: Jicho
  5. Wow! They look so alive! It looks like oceans and coastlines with cities. Is it possible to wrap this around a globe? That would make for some beautiful planets!

  6. Hi Lee,

    Amazing work. Very inspiring.

    I’ve been playing around with xgen and I am wondering if there is a way to map a texture image sequence to xgen attributes.

    Thank you

  7. Hi Lee,

    I’ve been trying this for fun but I’m a bit stuck at the step where you assign the aiStandard shader to XGen – what level should this be applied at? I’ve used the Outliner to select the top level XGen Collection, with no luck, and have also tried the Description level. I get to see the shader in the Node Editor and can connect the aiUserDataColor node to it, which I then name and create a map for in the XGen window, but I think I missing the step which applies the JPG image I’ve chosen to the primitives. Whatever I do, the primitives come out at the default colour when I render. I’ve even ended up with the image on the underlying plane a few times, but never colouring the primitives!

    1. Hi again Lee – I figured it out. Unless I’ve done something wrong in an earlier step, I think there’s one step missing from the “apply colour to primitives” tutorial. You have to bake the colour map into the PTex by clicking the save button next to the Custom Shader Parameter on XGen’s Preview/Output window, otherwise the colours won’t be applied to the archive primitives.

      Thanks for sharing all your wonderful work with us, by the way – it’s inspiring!

  8. Hey man,
    thanks for sharing such nice things.
    i have a question.
    when i use archive objects in xgen as custom objects arnold does not render it.
    i don’t know why?
    i assign aiStandard material to description too, but it does not work.
    when i set it on sphere arnold render them nicely.

    can you guide me in this problem?
    i could not find a good answer for it even in arnold website for xgen tutorials.


      1. Hello master
        however i asked this question long time ago, but i remember that i test both, i exported a cube, that had aiStandard, and rendere had been set to arnold.(it didn’t work)

        and a cube that does not have aiStandard, and renderer was not set on arnold , and didn’t work again.

        can you explain this? a little video on a simple cube.

        thanks again

    1. Hey man
      thanks for your attention
      I can explain it for you in this way:

      I create a cube in origin
      set renderer to arnold
      save the scene
      export selection as archive
      Destination folder: Local Archive
      create a new scene
      create a plan in origin
      create a description
      Custom Geometry/Archive
      in Archive file added the cube archived (without material)
      set renderer to arnold
      save the scene and hit render
      it does not render

      I create a cube in origin
      don’t set renderer to arnold
      save the scene
      export selection as archive
      Destination folder: Local Archive
      create a new scene
      create a plan in origin
      create a description
      Custom Geometry/Archive
      in Archive file added the cube archived (without material)
      set renderer to arnold
      save the scene and hit render
      it does not render

  9. do you think you can capture a simple video for a simple scene with a cube as archive?
    i think i work in right way

    1. i watched the video
      it is not related to my problem.
      i’m watching cubes as archived in viewport but they are not rendered.

      i say that it is not related to mentalray installation?
      i don’t have mentalray on maya.
      just asking.

      and in your work there is a workflow, i think i do one step wrong.
      i’m confused

  10. spline,
    guide curve, even spheres, will render, just archived geos don’t render

    and another question is that, it is not related to triangulated faces?

  11. it is not odd?
    for rendering with arnold we should have mentalray.
    did it fixed in maya 2016 extension 2?
    do you know!?

  12. oh, anyway it does not work yet
    yes xgen Toolkit.mll is loaded
    i think to it that the model that we want to use as archive, should have especific attributes?
    for example should be triangulated or have aiStandard material? or …

  13. hey man
    i did this:
    i set renderer to arnold rendere
    turn on plugin
    and then try to export my object as archive object:
    (i have installed mentalray for maya 2016)
    it give me this error in log file:

    API error detected in plugins\mtoa\extension\ExtensionsManager.cpp at line 571
    : (kFailure): Unexpected Internal Failure
    Maya 2016 importing module pymel 1.0.7 (C:\Program Files\Autodesk\Maya2016\Python\lib\site-packages\pymel\
    Failed to create attributes of jlCollisionDeformer node
    Successfully registered renderer ‘arnold’

    and did not create any xarc file from my object.

    in simplest form i create a cube on scene and save the scene, (without setting arnold as renderer) and does not set to on in Plugin manager.

    it give me a cube.xarc file
    and i can use it in custom type of description, and it will show the cube on viewport, but don’t show anything in render (with light), just show the plan.

    make sense?

  14. Hello again
    after a long time RnD i find the problem of Archiving geometries for xGen
    maybe you know this but i find that this, was my problem

    for creating Archive objects for xgen we have to set renderer to Arnold before generate it,
    but when i did it, pythonInterpreter cause error and stop exporting geometry.

    i found that we have to have this line of python code before running maya:
    import pymel.core

    so i put this line of code in and give its folder path to pythonpath.then run maya in a bat file as wrapper script.

    i hope it help people that looking for it

    thanks for all

Comments are closed.