Full Body Awareness Controller

Shadow Body

Cast a natural third person shadow from a copy of the body.

Shadow Body

Without the Shadow Body, your shadow shows what the camera sees: the arms raised and the item held up to the face. The Shadow Body casts the shadow from a separate copy of the body instead. The world then sees a natural pose, while the camera sees the arms placed for the view.

It is on by default. You find it in the Full Body Awareness rig, under Shadow > Shadow Body.

The Shadow Body is the recommended way to keep the head in the shadow. Use it with Head > Scale Head Bone, and the head is hidden from the camera while the shadow still has it. No Head Splitter needed.

How It Works

  • A shadow-only copy of the character is made when the game runs. Each frame it copies the body pose after the spine bends and the lean, but before the first person arm pose.
  • The real renderers stop casting shadows while it runs, and get their settings back when it stops.
  • It only runs while the camera looks through this character's eyes. In third person, or with the rig off, the real body casts its shadow again.
  • Held items and attachments, like weapons, holsters and helmets, are copied too and follow the copied bones. Items that are picked up, moved to another bone or dropped are followed on their own.
  • Only the most detailed level of a LOD Group is copied.
  • The head keeps its shadow even when Head > Scale Head Bone hides it from the camera. With Head > Shadows Only, the listed head renderers cast their own shadow.

Settings

SettingDefaultWhat it does
Shadow BodyOnCasts the shadow from a copy of the body without the first person arm pose.
Lower Arms30Degrees the shadow's arms are lowered while holding an item. Both hands turn together, so they keep their grip.
Hand Offset(0, 0, 0)Moves the shadow's hands while holding an item, in meters. X is right, Y is up and Z is forward.
Raise When AimingOnRaises the shadow's arms again while aiming down sights.
ExcludeEmptyRenderers the Shadow Body leaves alone. They keep casting their own shadow.

None of these settings change what the camera sees.

Live Status

In Play Mode, the Shadow section shows a live status: how many bones and renderers are copied, how far the arms are lowered, and each copied renderer with the bone it follows. A weapon should say on RightHand or similar. If the shadow of an item is missing or in the wrong place, check it there.

Cost

The shadow is moved from the real body to the copy, so the number of shadow draws stays the same. What is added is skinning the copy's mesh once more each frame, only for the shadow, and copying the bone pose. For a player character this is very small on PC and console. On low-end mobile it costs about as much as one extra NPC.

From Code

csharp
RigFullBodyAwareness rig = character.IK.GetRig<RigFullBodyAwareness>();
rig.Shadow.ShadowBody = true;
rig.Shadow.LowerArms = 40f;