6
$\begingroup$

Consider a character that has a hi-res & low-res version.

enter image description here

How does one go about LINKING both of these versions of the character into a project, and have both controlled by a single armature.

The problem that I am having is when the make proxy function is executed, only the selected collection gets an armature, and if that is done for each collection, then there are 2 separate armatures.

If I put both resolutions into a single collection, then there is no way to switch between them once they are linked, hence defeating the purpose of having a low-res version.

Thankyou for any help, I have not been able to find an answer for this anywhere. Perhaps I am missing something or going about this the entirely wrong way =P

John

$\endgroup$
4
  • $\begingroup$ I don't know what you mean by "proxy function", but can't you just toggle the visibility in viewport for the high res version and the visibility in render for the low res? $\endgroup$
    – Zagstrug
    Mar 3 '20 at 0:09
  • $\begingroup$ Yes you can indeed hide visibility, however the purpose of a low res version is so when you pose it, the hi-res version follows the pose. This doesn't happen because the rigs are separate. Proxies are used when linking. In a complex scene it is common to link characters in to save system resources, with the benefit of edits to the original character propagate to all instances of that character in projects that link it. $\endgroup$ Mar 3 '20 at 0:19
  • $\begingroup$ The proxy function simply makes a "copy" of the rig from the linked file, so the user can pose the linked character. $\endgroup$ Mar 3 '20 at 0:25
  • $\begingroup$ Do you want the ability to manually switch the animated mesh in the linked file - ie. show and render low-poly, then show and render high-poly? Or do you want both versions to be linked, one for viewport, one for render, with no user-switching (but both driven with the same proxy-rig)? $\endgroup$ Mar 6 '20 at 10:09
3
+50
$\begingroup$

If all the objects you link to the scene are from the same project, all you have to do is go File -> Link... , browse for your project, enter it, find "Object" folder, select all the objects you need to link and press "Link" button. After that you can put each linked object to any collection by selecting it in the 3D viewport and pressing "m" button on the keyboard, or by directly dragging them to the collections in the outliner. Objects don't have to stay in the same collection with the armature to stay linked and parented to it. More to say - one object can be linked to several collections at the same time.

enter image description here

If your two mesh-objects are linked to the scene from the several different project files, inside those files they both have to be parented to the same armature. This means in one of those files (e.g. with high-res mesh) the armature has to be be a linked copy of the armature from another (with low-res mesh): not a separate object with the same name, bones and animation as in the first one - it has to be exactly the same armature-object, linked to the second project in the way I described in the first paragraph. To perform this you can link the armature-object from the first project to the second project, in the second project select your objects and this linked copy of armature, make sure the last one is an active object, press Ctrl+P and choose "Armature Deform".

After that you can link to the new project your low-res object and the armature from the first project and high-res object from the second project - it will be automatically linked to the armature. Then you can create collections and arrange everything as you want.

And if you want to be able to control the armature animation directly from the main project with your linked meshes from other projects parented to it, inside their projects you have to parent them to the linked copy of the armature from the main project. Hope it makes sense.

$\endgroup$
3
  • $\begingroup$ It looks kike you may be onto something Andrey. Thankyou! I shall try it as soon as I get home from work today! $\endgroup$ Mar 7 '20 at 2:08
  • $\begingroup$ Thanks Andrey. You were correct. Very helpful. Being able to animate all the characters in low-res and then switch back to hi-res quickly is fantastic, and fits the intention perfectly. $\endgroup$ Mar 7 '20 at 14:23
  • $\begingroup$ Was glad to help! ) $\endgroup$ Mar 8 '20 at 10:39
0
$\begingroup$

Create an armature, select both character and then the armature (must be the active object), hit CTRL+P to parent with Automatic Weights. Both characters are now linked to the armature and will move with it. Each character can have it's own collection. If you want to link more stuff to the armature (accessories, cloth, etc) just select your object, then the armature, and CTRL+P (you can choose Empty Groups and do the weight paint from scratch, doesn't matter). You can still toggle On and Off your high poly character collections at anytime. I'm fairly sure you are overthinking this ;)

$\endgroup$
1
  • $\begingroup$ Thanks Arthur, however the question was how does one go about LINKING an already existing character into another project. The armature already exists and works perfectly to control both resolutions - until the point it is all linked. $\endgroup$ Mar 6 '20 at 0:04
0
$\begingroup$

If you want the high res mesh to follow the same animation as the low res you should really only need one armature, but because your hi res character seems to be broken up into multiple collections whatever meshes you have will need their own armature modifiers. If you really need to have two separate armature for whatever reason because maybe the proportions are slightly different you can store your animation as an Action and apply that action to the other armature whenever you update the animation on that action the armatures will follow. As long as the bones in the armatures share the same naming conventions, Actions may be the solution you are looking for.

$\endgroup$
7
  • $\begingroup$ Hi Chris and thankyou for your reply. As you suggested, actions is the work-around I have been using thus far, however if this is the actual solution - then that is incredibly disappointing... its so cumbersome compared to just toggling visibility for the resolution that needs to be hidden. The point of the low-res character was to speed up the workflow - not to create extra work. $\endgroup$ Mar 5 '20 at 23:56
  • $\begingroup$ @JohnOctoberRage Then simply put the armature you are animating in it's own view layer and disable the view layer for the high res model collection it's the check mark to the left of the collection icon. Alternatively just disable the viewport display of the high res and disable the renderabilty of your low res. $\endgroup$
    – Chris
    Mar 6 '20 at 0:15
  • $\begingroup$ Hi Chris I do very much appreciate your time thankyou for contributing. Those suggestions do sound practical - however upon LINKING a character - the individual collections within are unable to be hidden. Try it yourself! :) $\endgroup$ Mar 6 '20 at 1:07
  • $\begingroup$ @JohnOctoberRage You mention LINKING Are you working with anything linked from a separate Blend file? $\endgroup$
    – Chris
    Mar 6 '20 at 1:37
  • $\begingroup$ Yes linking is the key. There is a quite complex scene with many characters, and a 'set' which is a small terrain with trees and rocks (by particle instancing). Linking in the characters works as intended (except of course - since the user is unable to switch off visibility of individual elements - therefore being unable to hide the HiRes collection makes everything extremely slow.) $\endgroup$ Mar 6 '20 at 1:57
0
$\begingroup$

Ok one last attempt to help, maybe this will work. Set up your collections like this in the file where the animation work is being done, Hi res character art and lo res character go into one collection and this is where you will set the viewport and renderabilty options in the outliner the linked collection should reflect this in the other scene. I've linked the Cube collection into the scene low res will be visible in viewport but the hi res collection will render. You can also instance an animated armature from with in the same scene.

  1. Animation enter image description here
  2. Scene with linked Cube collection, low poly visible in viewport. enter image description here
  3. Scene with linked Cube collection, hi res in render. enter image description here
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.