x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

[Documentation]How to use Blend Depth in Layered blend per bone node?

alt text

Hello! In AnimGraph you can create Layered blend per bone node, within settings you can see "Blend Depth".How to use this 'Blend Depth' properly? What if I type -3 or 2 or 0 value? In documentation about using Additive animation I see: " Under Bone Name enter spine_01, then set Blend Depth to 1..." Why exactly 1? Thanks!

Product Version: UE 4.10
Tags:
more ▼

asked Nov 20 '15 at 04:16 PM in Using UE4

avatar image

TVinforest
459 15 13 23

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

5 answers: sort voted first

I believe the blend amount increases by 1.f/(float)BlendDepth for each bone up to a max of 1.f, so using a value of 2 will give you 1 -> 0.5, or 3 will be 1 -> 0.6 -> 0.3 etc.

Look at line 1111 in Engine/Source/Runtime/Engine/Private/Animation/AnimationRuntime.cpp - this is the only place it seems to actually be used apart from its declaration in the struct.

more ▼

answered Feb 03 '16 at 05:58 AM

avatar image

woppin
111 2 4 5

avatar image kenmorechalfant Sep 26 '16 at 04:50 AM

Yeah, so I don't see this documented anywhere but TVinforest's picture and your answer were helpful. I had thought the depth were how many bones after the chosen bone would be affected (was trying to affect spine->head without affecting arms).

Now I understand that the depth is for how the blend strength is distributed and you can use -1 to disable a bone and it's children. Thanks.

avatar image rebusb Sep 06 '18 at 03:52 PM

This looks correct. In UE4.20, same source file, line 1302-1317 it appears to be a scaling factor when not zero, setting IncreaseWeightPerDepth to 1/BlendDepth when BlendDepth !=0 or to 1.0 when BlendDepth == 0. Then looping over NumBones the BlendWeight + (IncreaseWeightPerDepth * Depth) is clamped to (0.0,1.0) effectively limiting the effect to abs(BlendDepth) bones from root. A negative value inverts the scaling away from the root bone, making it the least affected in the chain.

avatar image TVinforest Jun 06 '19 at 12:52 AM

A little bit of necromancy here: link to LiveStream - EpicGames Lead Animator explains this node in detail. https://youtu.be/ffuq5k-j0AY?t=3627

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Those answers seem wrong.

Think of a finger -- in most rigs it has a bone depth of 3 bones from the knuckles (or 4 if you start at the wrist) so if you put bone name "ringfinger", with bone depth of 3, all the joints for that finger will be considered, assuming they are nested properly

Bone depth isn't a control of weighting or distribution for the node's various input poses. That's what Blend Weights do. Depth is a numerical way to count down a rig's joint nesting. For example, your palm bone may have several nested bones at depth1 (knuckles). It is included as an efficiency measure so you don't have to create a larger array of per bone entries than you really need to.

Setting a bone depth of -1 might well disable a blend pose because you're clamping what can be affected to nothing, but that's a side effect.

If I'm wrong I'd like to know.

more ▼

answered Jun 10 '17 at 06:52 AM

avatar image

tomofnz
1.2k 46 47 89

avatar image bpeck Feb 27 '18 at 12:57 AM

Yeah this deserves an answer from Epic. This answerhub page is first result in a google search for "Layered Blend Per Bone", and the docs for this node https://docs.unrealengine.com/latest/INT/Engine/Animation/NodeReference/Blend/ don't even mention the blend layer setup parameters at all?

Reading the accepted answer and looking at the source, I have to agree with their interpretation. However the name of the field Blend Depth would make much more sense in your interpretation as a way of denoting how far down the hierarchy the blend applies. Confusing. A tooltip would certainly help.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

If you experiment with it, it seems to distribute the blend over the number of bones you specify.

more ▼

answered Nov 21 '18 at 11:30 PM

avatar image

oneadamleft
6 2

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Just watched the video tvinfoforest posted which links to epic livetraining and So tomofnz was right .. but its actually even more useful now knowing that the depth is for the bone structure so setting it to pelvis like he says and depth to 4 it will blend down the bone hierarchy to spine01, 02 03 will be 100% already and setting a bone to -1 like he does in the video will tell that bone to ignore it... thanks tvinfoforest!

more ▼

answered Jun 06 '19 at 03:07 AM

avatar image

Imagine-Games
224 5 11 15

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

yes, it would be nice for that page to get an update , and an official answer on this post from Epic please...

more ▼

answered Jun 26 '18 at 12:44 AM

avatar image

Imagine-Games
224 5 11 15

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question