Home Technical Talk

[3DSMAX] Reference external materials (I can't use XREF Scene)

interpolator
Offline / Send Message
OccultMonk interpolator
I have a complex scene of about 500MB. I can't use an 'XREF scene' because somehow it crashes 3dsmax for this particular file and I have not been able to determine why. When I start rendering and make interactions in scene and materials but not in the model, I don't want to have to save the unchanged 500MB of data each time.

Normally I think XREF scene would be best suited. But is there an alternative way to only save the changes to the materials and the scene, while not saving the data of the unchanged meshes?

Replies

  • OccultMonk
    Offline / Send Message
    OccultMonk interpolator
    I want to split the scene into the modeling part and the materials lighting and texturing part. So when I am working on the materials and lighting I don't have to save the unchanged models each time.
  • Eric Chadwick
    Try Xref Object, not Xref Scene. Xref Object is more stable. 
  • OccultMonk
    Offline / Send Message
    OccultMonk interpolator
    I think Xref Objects are not really well suited for a very complex model/scene. Also, I thought that XRef Objects do not really support updates of the whole file. So for instance when I add some objects in the XREF scene, they are not automatically added to the scene referencing this file. XRef objects support updates/reload, but not in the same way as XREF scene.

    And can you use Xref to import all objects as one? I got some controller problems when refreshing (objects moved to wrong positions). When using XREF scene all changes to the file are reflected in the containing 3dsmax file. 

    I am also having difficulties with the XREF materials. I want all my materials to reside in the containing scene, and when I import the XREF file, I want these to be automatically assigned to the XREF objects. So when I import the XREF objects I want 3dsmax to ask if it should use the materials from the Main scene or the XREF file. When using 'merge scene' you get that query dialog, but when using XREF, it just creates XREF materials that you have to manually link/reassign.
  • gandhics
    Offline / Send Message
    gandhics polycounter lvl 8
    "So for instance when I add some objects in the XREF scene, they are not automatically added to the scene referencing this file. "

    It does since 2017. Check "Include All" option.
  • gandhics
    Offline / Send Message
    gandhics polycounter lvl 8
    For material, you can use Update Material in Scene, as long as material name is same.
  • OccultMonk
    Offline / Send Message
    OccultMonk interpolator
    gandhics said:
    "So for instance when I add some objects in the XREF scene, they are not automatically added to the scene referencing this file. "

    It does since 2017. Check "Include All" option.

    Thanks!

    gandhics said:
    For material, you can use Update Material in Scene, as long as material name is same.

    Could you please tell me where I can find that option? I tried enabling Merge for materials but it did nothing. I also did not get a query dialog when I added an XREF from a file. 
  • monster
    Offline / Send Message
    monster polycounter
    Have you tried using a Material Library? You can change the dropdown to point to a MAX file instead of a MAT file.

    When you save changes to the Material max file you open your model max file and reload the library, then apply to scene. It's pretty easy.
  • OccultMonk
    Offline / Send Message
    OccultMonk interpolator
    monster said:
    Have you tried using a Material Library? You can change the dropdown to point to a MAX file instead of a MAT file.

    When you save changes to the Material max file you open your model max file and reload the library, then apply to scene. It's pretty easy.
    Cool, I had no idea you can do that. I will try it out. 
  • OccultMonk
    Offline / Send Message
    OccultMonk interpolator
    gandhics said:
    For material, you can use Update Material in Scene, as long as material name is same.

    How do you make that work with XREF objects automatically? Could you please post the exact steps?

    I would prefer not having to reload the library as monster suggests. I want to save a small .max file containing the scene (cameras, lights) and the materials locally. And only Xref the objects. So the materials are in containing scene and not in the Xref file. But when the xref file is reloaded/reimported then the local scene mat's should be reapplied to the xref objects. 
  • OccultMonk
    Offline / Send Message
    OccultMonk interpolator
    Anyone know how to get this merge for materials of xref objects working? I tried enabling Merge for materials but it did nothing. I also did not get a query dialog when I added an XREF from a file. 

    I would prefer not having to reload the library as monster suggests. I want to save a small .max file containing the scene (cameras, lights) and the materials locally. And only Xref the objects. So the materials are in containing scene and not in the Xref file. But when the xref file is reloaded/reimported then the local scene mat's should be reapplied to the xref objects. 
  • Eric Chadwick
    This works with V-Ray proxies, sort of. They only store the mesh, not the materials. So the low-rez version in your main scene remembers whatever material you assigned.

    You have to re-export the .vrmesh file though if you edit it, so you do have to keep a separate .Max file somewhere.

    Maybe you could do something similar with a vertex cache.
  • OccultMonk
    Offline / Send Message
    OccultMonk interpolator
    But what about what gandhics wrote about the XREF materials being updated? 
    'For material, you can use Update Material in Scene, as long as 'material name is same.'
    When I refresh the xref objects the current scene materials should be automatically assigned to these objects.
  • Noors
    Offline / Send Message
    Noors greentooth
    He was talking about "Use Scene Material" when you are creating a new xref record from file, and objects have the same material name as a scene material.

    So I'm not sure to understand correctly your issue.

    The only way for a material to exist in a scene is either to be assigned to an object or beeing in the material editor.
    (! If it just lies in an open library, it is not actullay loaded into your scene.)
    Otherwise the duplicate dialog won't open, as there is indeed no duplicate material.

    So are you sure to have existing local materials in your scene with the same names as materials in your xref objects ?

    You can still assign materials to your xref objects in the "materials" scene and they will remain. Updating your xref shouldnt revert materials.

    Now if you need to automatically replace by name xref materials by some materials in a library, it's not a big deal to script.
Sign In or Register to comment.