Touch triggers
- When, set to Contact.
- Mode: Hold, Flip or Fade.
- Anchor: the bone the touch area follows.
- Radius.
- Offset.
- Touched by.
- Who: Self and Others.
- Distance, here Closer than half the radius.
Under these sit Fires, + And and + Or, and the effect sections, as on every trigger.
When to use it
Section titled “When to use it”A touch trigger reacts to the avatar's body instead of a menu button:
- A Contact trigger is a touch area on the avatar, for a headpat, a boop on the nose or a poke on the cheek.
- A PhysBone trigger reads a PhysBone the avatar already has, for a tail that is pulled or ears that are grabbed.
For a ready-made headpat, eye touch or nose boop, press + More, then + Contact. On a wide inspector, it sits on the toolbar itself. It offers Headpat, Eye touch and Nose boop: Headpat and Nose boop each make one Fade trigger, and Eye touch makes one for each eye. Each is placed from the avatar's own head and eyes, with a blend shape row guessed from the face's shape names. Nudge the sphere in the Scene view if it sits off. An avatar with no Head bone refuses the start and says so.
To make one by hand, add a trigger with + Trigger and set When to Contact or PhysBone. Only Advanced mode adds triggers. Triggers describes the name, the conditions, the groups, Only while and the effects.
Settings
Section titled “Settings”The settings in the order the panel shows them.
Shown in: Simple and Advanced, while the trigger has one condition · Default: Another toggle · Choices: Contact or PhysBone for a touch trigger
A new trigger already carries a contact's defaults, so picking Contact shows Radius at 0.05, Touched by set to Finger and Hand, and both Self and Others on. Once the trigger has groups, each row picks its own kind, as on Triggers.
Shown in: Simple and Advanced · Default: Hold · Choices: Hold, Flip, and Fade for a contact
- Hold applies the trigger's effects while the touch lasts, and stops the moment it ends.
- Flip turns a toggle on or off with each new touch. The trigger has no effects of its own: a Toggle field takes the place of the effect sections.
- Fade lets the effects grow as a hand comes closer, from the edge of the sphere to Fully on at. A PhysBone trigger does not offer it.
The mode belongs to the trigger, so a trigger with groups shows it once, under the groups.
Toggle
Section titled “Toggle”Shown in: Simple and Advanced, in Flip mode · Default: none picked · Choices: every toggle of every AvatarDoc component on the avatar
The toggle each touch flips. The flip sets the toggle's own parameter, so its button in the menu, its saved state and other players all follow it, the same as a press in the menu. Another player can flip it through a contact only while Others is on. Through a PhysBone, the PhysBone's own grab and pose settings decide who can.
Fully on at
Section titled “Fully on at”Shown in: Simple and Advanced, in Fade mode · Default: 0.8 · Range: 0.05 to 1
How close the hand must get, as a part of the radius, before the effects are fully on. The effects start at the edge of the sphere. In this mode Distance goes away, since the effects follow the distance itself.
Anchor
Section titled “Anchor”Shown in: Simple and Advanced, for a contact · Default: empty · Choices: any object of this avatar
The object the touch area follows, usually a bone. Press the small circle at the field's right end: the avatar's bones come first in the list, under Bones, when it has a humanoid rig.
While the trigger is selected, the Scene view shows the touch area as a sphere, with a handle to move it and one to change its size. Dragging them writes Offset and Radius. The panel says so under the contact's settings. While the test hand runs, these handles step aside, so a drag can only move the hand.
Radius
Section titled “Radius”Shown in: Simple and Advanced, for a contact · Default: 0.05 · Range: 0.005 to 1
The size of the touch area. In Fade mode it is also where the effects start to fade in.
Offset
Section titled “Offset”Shown in: Simple and Advanced, for a contact · Default: 0, 0, 0 · Choices: a position next to the anchor
How far the sphere sits from the anchor, in the anchor's own directions.
Touched by
Section titled “Touched by”Shown in: Simple and Advanced, for a contact · Default: Finger and Hand · Choices: VRChat's contact tags, and tags of your own
Which body parts count as a touch. Finger, Hand, Head, Torso and Foot are always shown. With none ticked, nothing can touch the contact.
More tags
Section titled “More tags”Shown in: Simple and Advanced, for a contact · Default: closed · Choices: open, closed
Shows the rest of VRChat's own tags: HandL, HandR, FootL, FootR, FingerL, FingerR, FingerIndex, FingerMiddle, FingerRing and FingerLittle.
Custom tag
Section titled “Custom tag”Shown in: Simple and Advanced, for a contact · Default: empty · Choices: any tag
Adds any other contact tag. Type it and press Enter. It shows as a chip with an x that removes it.
Shown in: Simple and Advanced, for a contact · Default: Self and Others on · Choices: Self, Others, or both
Self lets your own body touch the contact, Others lets other players' bodies touch it. With both off, the contact can never fire.
Distance
Section titled “Distance”Shown in: Simple and Advanced, for a contact in Hold or Flip mode · Default: Touch · Choices: Touch, Closer than
Touch fires only on contact. Closer than fires once something is near, and a slider from 0 to 1 says how near, as a part of the radius. It starts at 0.5.
PhysBone
Section titled “PhysBone”Shown in: Simple and Advanced, for a PhysBone · Default: empty · Choices: a PhysBone of this avatar
The PhysBone the trigger watches. Press the small circle at the field's right end: the list shows only this avatar's PhysBones. Several triggers can watch the same PhysBone.
Shown in: Simple and Advanced, for a PhysBone · Default: Grabbed · Choices: Grabbed, Posed, Bent past, Stretched past, Squished past
- Grabbed: while someone holds the PhysBone.
- Posed: while it stays in a pose someone left it in.
- Bent past, Stretched past and Squished past: once the bend, the stretch or the squish goes past Amount.
Amount
Section titled “Amount”Shown in: Simple and Advanced, for the three events that go past an amount · Default: 0.5 · Range: 0 to 1
How far the PhysBone has to bend, stretch or squish before the trigger fires.
Requirements
Section titled “Requirements”Shown in: Simple and Advanced, in Fade mode · Default: none · Choices: up to three, each a toggle, a parameter, a contact or a PhysBone
In Fade mode, the first contact drives the fade, so the panel offers + And but no + Or. Each + And adds a requirement to the group of the driving contact. While any requirement fails, the effects rest. The group holds the driving contact and up to three requirements. Only while counts as one more requirement. A contact requirement gets its own contact on the avatar, with its own Distance: only the driving contact fades.
Simulate touch
Section titled “Simulate touch”Shown in: Simple and Advanced, in Flip mode
Takes the place of the Scene preview buttons. Each press flips the preview of the target toggle once, as a real touch would.
Test with a hand
Section titled “Test with a hand”Shown in: Simple and Advanced, for a contact trigger, in the Test touches row under the Scene preview row · Choices: Test with a hand, or Stop while the hand runs
Starts the test hand just in front of this trigger's sphere: a white sphere in the Scene view that you drag near the avatar, while the scene preview shows what every contact trigger of the avatar does with it. Each trigger's sphere turns green and shows its name while the hand touches it. The hand is measured the way VRChat measures the contact the build makes, from the hand's centre:
- Hold is on while the hand is inside the sphere, or closer than the part of the radius Closer than sets.
- Flip flips its toggle's preview once each time the hand comes in.
- Fade fades in from the edge of the sphere and is fully on at Fully on at.
Touched by and Who decide whether the hand counts, the same as for a real hand. While the hand runs, the contact's own move and size handles step aside, so the only handles in the Scene view are the hand's. The header has the same button and, while the hand runs, what it stands for: see Scene preview. The hand changes only the preview, never the avatar, and adds no Undo step.
When the hand would pass this trigger by, the note The test hand passes this trigger by: it has no effect yet, it is not built on this platform, or its component is switched off or on no avatar. shows under the row.
What each mode does to the effects
Section titled “What each mode does to the effects”In Hold mode, the effects behave as on any trigger, and the blend shape rows offer Fixed or Pin.
In Fade mode, every blend shape row and property row fades from its rest to its value in the same way, so the rows hide their Fixed or Pin choice. + Add effect does not offer Follows, since a follow cannot fade. While no hand is near, the trigger writes nothing for its shapes and properties: when the hand leaves, and when the avatar loads, it sets them back to rest once, unless another layer owns them, and then leaves them to face tracking, blinking and your other layers. It never holds the shapes VRChat blinks or speaks with. When its effects move one of them, VRChat's blinking or lip sync pauses while the effects are on, and comes back when they rest.
What AvatarDoc builds
Section titled “What AvatarDoc builds”AvatarDoc adds the touch parts to the avatar it uploads, never to your scene:
- A contact becomes a VRChat contact receiver on a new object under the anchor, named AD Contact and the trigger's name. Every player's copy of your avatar senses the touch, so a contact costs no synced bits.
- A PhysBone trigger reads the PhysBone's own parameter. If the PhysBone has none, AvatarDoc gives it one. Triggers on the same PhysBone share it, and it costs no synced bits.
- Hold builds the same layer as any trigger. Flip builds a small layer that flips the toggle's parameter with each touch. Fade builds a layer of its own, placed after everything Modular Avatar and VRCFury add, face tracking included.
The scene preview senses no real touch or grab. The test hand stands in for a hand in the editor. A real hand has a size of its own, so it starts the touch sooner and fades a Fade trigger further than the test hand, which is measured from its centre. Check the contact in Play mode too, for example with Gesture Manager's Clickable Contacts, or in VRChat.
Messages
Section titled “Messages”- The contact has no Anchor.
- No tag is ticked under Touched by.
- Self and Others are both off.
- The Anchor or the PhysBone belongs to another avatar.
- No PhysBone is picked.
- The PhysBone's parameter has another type.
- Modular Avatar renames the PhysBone's parameter.
- The trigger cannot flip its toggle.
- The toggle it flips is not built on this platform.
- Fade reads only the group of its first contact.
- Follows cannot fade with distance.
- Blinking or lip sync is left to another system.
- The avatar has no Head bone for a ready-made start.
Related
Section titled “Related”Docs for AvatarDoc 0.7.1