Custom properties in instances

Question Rigging

Hi. I am having a really hard time grasping the concept of library override and custom properties.

Here is what I would like to do. I want to build a model with some geometry and an armature. I would like the model to be controllable through custom properties which I attached to the root armature, such that I can change the appearance through the custom property alone.

Now I want to have two instances of that new character in my scene, each character should be able to be rendered with different values for the custom property. I somehow imagined that library override would allow this, but it doesn't.

The only method that I found was to copy the entire object hierarchy, by which I loose the connection to the original and do not pick up on any updates on my geometry.

Is my use case clear? Or, put differently: is it possible to make assets in an asset library that allows the adjustments of custom properties without loosing the link to the original hierarchy and geometries?

1 love
Reply
  • Dwayne Savage(dillenbata3) replied

    If you are linking(File->Link) or Asset library linking or Linking(Shared data)[Note: In 5.x this is now Packed] you can set the custom property for each linked version. Depending on how you link and override you may have to override the bone to get access to the custom property. Also make sure that you have checked library overridable in the custom property's settings. 

    2 loves
  • dadim replied

    Thank you so much. Unfortunately I still don't get it. I made this video to show my attempts at following your steps:

    https://youtu.be/_x8v2ZuYKR0

    1 love
  • Dwayne Savage(dillenbata3) replied

    You are doing it inside the same file. Library override needs to be different files. If you want to do it in the same file then you have duplicate(Shift+d). In your example: save that blend file. If you want to access it thru the asset browser you will need to save it in a folder that is setup to be an asset folder otherwise you can just use linking. Start a new blend file and then move the asset into that collection into that scene. Then do the library override and select the armature. I'm going to assume you plan to use asset browser.

    The setup Library: Edit or F4->Preferences or ctrl+comma to enter preferences. Goto File Paths section. Under asset libraries panel you have User Library click it to see where the default folder is located. On windows it's in documets\Blender\assets. You can also point to another folder if you want to add a library. Save your Blend file here. 

    Setup the blend file: In your Armature blend file select the armature and on object tab->Viewport display panel->Check in front. Only mark the collection as an asset.

    Using the asset:

    1. Start blender

    2. Go to asset browser and drag out the collection with the mesh and armature into the scene.

    3. Click object menu->Library override->make. Note: The armature and mesh usually snaps to world origin when this happens. 

    4. Select the armature an move it out of the way and repeat steps 2 and 3 for the next one. 


    1 love
  • dadim replied

    Yes, it really works now. I tested all variations with multiple instances of the same assets. It updates the geometry and keeps links to variables. I never got this to work before.

    Thank you so much.

    1 love
  • Dwayne Savage(dillenbata3) replied

    No problem. Just glad I could help