#avatar-dynamics
1 messages · Page 9 of 1
Hey guys, I'm trying to get an avatar the drops an item using physbones. So far the step in the Heirarchy is
Empty W/ Physbone
Empty moved away to give physbone length
Object with mesh
For some reason, with Pull, momentum and Stiffness 0, or really any combination of the settings, and Gravity set to 1, the object doesn't seem to want to drop at all, just continues to float in place. Stretch is turned up to 100. Any idea what would cause a physbone object not to react to the gravity setting?
change pull setting
you don't want it set to 0
or it won't move i think
if you want it to stay in place in the world use 2 bones
and use curves
so have your settings for the first half be to keep it in place
the 2nd half add gravity and pull
attach your object to the end bone (3rd bone)
I have the z axis facing forwards in blender for the leg's, would that be what's breaking the avi?
Here's the blender photo's
can i move only shoes from the suit?
im trying in Transform tab but its doing nothing
you will have to move the armature which it is weighted to
you cant move the mesh itself, as they are weighted to an armature
Good afternoon.
Please tell me, how is it possible to attach this tape to the main character? I have two skeletons, one made for a minigun and the other for a character.
Or is it possible to somehow manage with one skeleton? I just want my minigun to turn off in the game menu.
And another question, is it really necessary to add a separate skeleton?
for nonumanoid stuff ie when it shouldnt follow more than one bone you can just drag it onto whatever bone of main armature you want
also you can have one armature and multiple meshes on it so you just disable mesh and physbone when its toggled off
Question which is the best way to make the glasses rotate to a certain point? Without using constraint and use dynamic bone
I mean I wanna move the glasses from my face to my forehead
mmm maybe make a bone that is parented to your head, and weight paint the glasses to it so that when it rotates, the glasses rotate on the face. Then add physbone to it with no physics so that you can grab then "set its position ingame?" (i don't know how the last part is called, it's like when you grab someone's ear and you can make it remain in position by pressing a certain button)
that would be my best guess
Ive been trying to use the network id utility to sync physbones but all that happens is that i get this error
nothings been working and since its a novabeast i want the physbones to work
have you ever found out how to fix this issue, i have the same issue currently
I did not. In my case, my avatar wasn't too difficult, so I used the tool to generate my network ID's, then copied that and converted to quest, which was a matter of swapping some materials, deleting some objects and removing some physbone components.
What remained kept it's ID's and now syncs fine with my avatar, but if I add more or different ones in the future, that wont be a great solution.
But it worked for me in the meantime while I figure out why my tool just kept dyin out.
It's wild, this is exactly what I was getting.
And that error, for me, would stack infinitely until I finally "regenerated scene ID's"
same so its gotta be common
avatars don’t use network ids though right? Those are for udon serialization in worlds. Avatars sync everything through the avatar parameters. Physbones don’t even synchronize, nor do they need to, they are simulated locally??? This conversation is breaking my brain lol what the heck did I walk in on
physbones are synced as far as i'm aware, but vrchat handles all of that, you don't need to
Would make sense for them being synced
Since you lagging would cause the physbones to also lag
Like if you froze like you crashed then the physbones also freeze instead of just continuing
dont they sync only when grabbed/posed?
yep they are https://vrc.school/docs/Other/Network-Sync/
Hello,
I'm currently having a Problem with Animating Phsybone properties like "Imbobilie" and "Max Angle".
In the Client Sim everything works, but not in the Client. I had worked in the past with the current setup but some VRC Patch might have broke it
You can't animate those. You'd need to use two different physbone components and enable one at a time
it worked in the past, far as I know
hasn't for me
Yes, this is what I was trying to sync, as on Quest grabbing my avatars Tail was grabbing and stretching my ear bones and visa versa.
Manually seting up network ID's Allows you to sync up bones grab/posed states without having to have exactly the same setup on Quest/PC avatars. Normally you could just make sure to list your physbones on game objects, with the platform specific bones (usually PC) after the cross platform ones, but just having rotation constraints on my PC Avatar (twist bones) was throwing my whole list off, apparently.
I ended up fixing it by assigning ID's to my PC version, then copying that avatar and setting up the quest, deleting what I didn't need: What remained, synced up with the PC avatar, even with the helper bones and completely different phys bone setups. The Tool should just let you generate your PC ID's, copy that down to a file, go to Quest, import your PC and sort it out, but attempting to change anything would cause the tool to close and throw the error mentioned above, infinitely, until I cleared/redid the network ID's.
tl;dr - Physbones don't need to sync, no. Not unless they need to be grabbed/posed, in which case they may need to unless you want for example, someone to grab your tail and your hair stretches way out, as on one platform, they grabbed tail, but on the other, "hair" fired off as grabbed. The tool lets you fix that, but for me attempting to use it fails with a NullReferenceException that goes wild until you regenerate the network ID's with the tool again.
Gave up on the error, myself. I'll take another swing at it again, but for the moment my avatars aren't that complex and having to ensure it syncs is a matter of generating PC's ID's, duplicating the PC avatar, swap some materials, make sure the Quest one points to Quest controllers/menus.
Is it possible to control the hand IK position using the animator temporarily? I'd like to keep the hand "snapped" to a position rather than using my hand IK position for some animations like a switch, a gun rack, or similar rigid objects.
@boreal walrus no, ik position can only come from controllers. you can only make whole animation for hand to take over tracking temporarily
or do you mean like gesture, not whole arm
Makes sense. I'm assuming that also means I wouldn't be able to add an IK solver during the animation.
I'm referring to the position of the hand during a grab. You know how when your arm length is short, but your hand still "works" because the animation isn't considered for controller position checks?
I was thinking that it would somehow be possible to run an animation which tracks an IK position to the hand so that it stays anchored onto an object, and the animation itself controls the position of the IK anchor.
In which, would be done by the Physbone_stretch property.
Since the physbone interaction is independent of the animator's placement of the hand.
how do i set up physbones on an armature?
i cant seem to figure it out
i assume it'll autogenerate the bones but i don't actually know how to point it to what bones should be affected
seems i figured out how actually
just needed to point the script to the correct transform
Struggling with a strange yet simple bug. I'm using the Motiontime Parameter, but every time it is exactly "1", instead of being on the last frame it loops back around. How can I fix that?
I see, thank you! I don't typically use direct animations with motiontime, usually just transitions
can a Quest User have the first gesture without 100% getrure weight?
I think gesture weight only works on the fist gesture? At least that's how I remember it working on my avis. Though I'm also using index controllers so that might also affect things.
seems like that's correct on my Quest2
the gesture weight is just how much the analog trigger is being pressed
fist is 1 on the integer gesture parameter
its grip, not trigger
unless its index methinks
from what I can tell the way gesture weight is interpreted between quest and index controllers is bizarrely entirely different. It’s a strange parameter that could really do with a refresh by the devs
it is trigger on index, its grip on quest. noone knows why vrc devs whent this weird way, pc driven quest (or any oculus/meta device) is perfectly capable of getting both trigger and grip as float values.
well it’s not just grip on quest, it’s only grip if you’re doing the fist gesture. For all other gestures the weight is always 1, even the other ones that need the grip. Except neutral in which it is always zero.
its just the way they did their default gesture controller, GW is just a grip value afaik
check the debug menu, it’s not
perhaps. ngl since theres huge discrepency never even bothered to check. dead feature
for proper cross platfrom and future proofing shouldve been float per finger, not few gestures
We love a little bit of dynamics powered facial expressions
Anyone else notice this happening recently? https://feedback.vrchat.com/avatar-30/p/physbones-flop-upwards-when-component-enabled
Yes this has been happening to me and making some of my physbone-based avatar props behave erratically when enabled (like quest compatible fake world constraints)
Is there any way to determine if a local or remote player has grabbed a bone?
yep, physbones report parameters, one of them is _IsGrabbed
but I want to be able to specify if its me grabbing my own bone or somebody else grabbing it
add a contact receiver on your own hand and make a conditional probably is the best way?
along with gestureleft/right values for a closed fist
ahh alright
theres also the IsLocal parameter actually
true for yourself, false for everyone else
that only returns if the animator is being run locally or remotely, not who's touching contacts unfortunately
I'll have to go for the contact
yeah but youd be able to differentiate it that way
isgrabbed + islocal true = yourself
isgrabbed + islocal false = everyone else
should work in theory but idk what youre trying to do
just do different things depending on who grabs a bone
or more specifically, only do a thing when somebody else grabs it and not when I grab it
cause self-grabbing happens constantly accidentally
ok yeah that would work then
youd probably have to put a parameter driver on that state so it actually syncs for you too
with a second transition
hmm yeah
gotta think about stuff like this using the multiverse theory. His game will have the bone grabbed and islocal true yes, but it will not define if themself or another person is grabbing it as islocal will always be true. Everyone elses game will always follow the islocal=false path, as his avatar is not theirs.
personally i liked your solution of if there is any fist value, consider it me. If there is no reason for you to be able to grab your own bones, consider turning off self interacting with those bones for an even easier solution
does anyone have an idea how i get my grabbable gun to shoot with sound and bullet effect
i feel like i cannot find a good video for this
i have the grabbable gun
on my avi and it works but idk how to get the shooting done now
to make a grabbable prop, there are two main options: using a physbone or using a contact. physbones are less performant, but they can detect trigger presses rather than gestures. Then for making the gun shoot, you need to have a particle system. You can enable world collision if you'd like so you can have bullets, shells, or bullet holes that interact with the world. Using whatever method you prefer to detect pulling the trigger (gesture, contact, physbone), play an animation that enables emitting on the particle system. If you want to have only 1 bullet shoot, make it transition with exit time to an animation that turns emitting off. You can also have this animation play a sound effect by enabling the gameobject the audio source is on and having "play on awake" enabled on the audio source, or you can try using the "animator play audio" state behavior (although i've had trouble getting this to work and it's hard to troubleshoot since it's very new)
yeah i cant get it to work im like first timing this and i cant find a video for ir
it
Hello, I noticed an Issue with physbones and Immobile = 1
I use the Angle Paramter to Drive an animation.
Everything works fine If I dont move arround using the joystiks.
But If I move arround, the Angle Paramter jitters.
I double checked, Immobile is = 1
Can I fix the jitter? or do I need another solution?
iirc this is a bug that just got fixed? something like it was mentioned in the latest updates
How do you pull off having a prop on an avatar that other people can grab and move around?
It's complicated, but there are a few prefabs to make this easy:
https://github.com/sophia1000/Sophias-item-and-weapon-pickup-systems-for-vrchat
https://github.com/ThatFatKidsMom/Avatar-Prop
A system for vrchat that allows others to grab and manipulate a object or weapon on your avatar as though it was a part of the world. - sophia1000/Sophias-item-and-weapon-pickup-systems-for-vrchat
I've used the first
Just for PC, or Quest compatible?
Both if that's an option
Use physbones with immobile set to 1
You'll need 2 bones, make sure the object is parent to the 2nd bone. (And don't add leaf bones)
Hello, does anyone know about a tutorial for grabbable limbs?
make a toggle that enables/disables a physbone on the arm. Probably best to also disable tracking via tracking control on the toggle, but since physbones won't animate without "is animated" enabled, it probably will work without it
Hmm, I saw a teddy bear avatar and he can move his limbs but you can also grab them
So it's made with a toggle ?
But if I attach a physbone component to the armature I cannot move the hands anymore
That's what I don't understand
yes
try making it a toggle and use a contact reciever that can detect hands to trigger the toggle
and put it on your hand
make it so your own hand can't, only other people
you can also try enabling "is animated"
I was thinking about this before, but I imagined something like if my hands are stretched in front and someone's hand will touch the receiver then it will toggle the physbone and the arm will go to T-pose or something
I see, that's how it's made then. Thank you
How might I go about making a sound's volume determined by the velocity of a contact hit? If that's possible at all?
got a cowbell I want to be louder if you smack it hard and softer if you just tap it
you only have min velocity and contacts (other than proximity) switch only between true and false, so just place 2-3 contacts with different min velocity and use them to play different volumes
is there a way to change what gesture grips a physbone ?
what is that pfp bro
gotcha , just getting weird behaviors with the fist gesture. Since it's progressive sometimes.... most times actually, fist doesn't actually grab and it gets annoying. Thanks for the help though
What would be a way to precisely evaluate the velocity of a hand through a contact in a somewhat continuous" way?
I'm trying to cook up some kind of haptic system for boxing and it would have been quite useful if i could evaluate the speed of a punch
I currently use a velocity contact but that's an all or nothing option.
multiple contacts with diff speed is probably the easiest way. in theory you can use proximity that starts downscaling of contact animation at 0.01 and measure proximity at the end.
If the physbone isn't set to have gravity, then turning your head like that in VRChat wouldn't really do much once they come to rest. So the image itself doesn't show us that it isn't working, maybe provide video in game instead?
its not working when i move my head around they dont work
they bassicly get delted when importing into vrchat they are in unity but in vrchat it says there ar eno physbones
@rugged field
could it be that you have too many physbone components?
Is there any plugin to make such a magical path from the eyes?
Particles
there’s this
heyo i dont see a physbone channel so imma put this here i have an avi w physics i removed it from him to test a new script treid reputting the same kind on and now it doesnt work
Compilation was requested for method Unity.Jobs.IJobParallelForExtensions+ParallelForJobStruct1[[VRC.Dynamics.PhysBoneManager+UpdateBoundsJob, VRC.Dynamics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null::Execute(VRC.Dynamics.PhysBoneManager+UpdateBoundsJob&, VRC.Dynamics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null|System.IntPtr, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|System.IntPtr, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089|Unity.Jobs.LowLevel.Unsafe.JobRanges&, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null|System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)` but it is not a known Burst entry point. This may be because the [BurstCompile] method is defined in a generic class, and the generic class is not instantiated with concrete types anywhere in your code.
Hey, is there way to script character effect that will be positioned for every client differently?
As example there's additional hair effect that i would want to procedurally animate and additionaly keep behind character for viewer without using expensive shaders.
no, stuff looks the same for everyone as long as they have avatar/contacts enabled (with exception on particle collision toggle but thats more of curiosity than actual thing)
one thing you can do is use the random number generator on the avatar parameter driver in the animator, and if you don't sync the value, it'll potentially be different for each viewer. But that's about it, and not likely a solution here.
some one have idea how to do a candy bag with gravity inside bag maybe video tutorial?
i want give gravity for candy
just give the entire bag physbones
for making the individual candies move that cant exactly be done well
how would one be able to give an avatar's tongue physics without the tongue clipping through the jaw?
angle limits & rotations , so it will never rotate through something
shhhh)
[in all caps] those look like teeth (this would have been funnier if I had the ability to yell but now the jokes too long)
shhhh🤫
ah okay, thanks!
hey guys, question on how the avatar descriptors view position works, is this attached to the head bone of the avatar?
Yep!
Or its more like the head bone is attached to the viewpoint
ahh,
is there a way I can change this for it to follow the spine bone?
as my characters head animations dont line up with how they're supposed to move
sounds silly ik but its just how this avatar works
You would probably have to set up the humanoid so that the head is actually the neck, then I would imagine it would work
yea, imma have to rebuild the fbx model .-.
physbone colliders don't seem to work properly from the "inside" of the physbone if you have a curve that sets part of the collider radius to 0. is this intended or is this a bug?
this is what i mean, like the blue part is where collision should work, but it only works along the red part
I mean
0 radius is the equivalent to no collision
But I would assume that since it shows a sphere for collision, that it would have spherical collision, rather than a hemisphere
the collision is more of a tube
So is there a way to get collusion on the bottom? Like if you want to have the origin of the physbone be inside a collider, with the end transform outside?
collision is actually a spheres+tube ie capsule cause calculating spheres as ends is cheaper. but gizmo doesnt represent how it actually looks. so no its not a bug and everything works as intended.
Weird then that the gizmo doesn't reflect the collision accurately
if it was a sphere then you couldnt get a teardrop shape that you can get
its tiny sphere-tube-large sphere = teardrop
Well you get that shape when one side has a radius > 0, but when it = 0 you get a sphere, at least with the gizmo
I just wish the gizmo was more accurate then, because this has confused me for a long time
the gizmo is trying to render 2 spheres and a tube
when one is scaled to 0 the other sphere cant be scaled down like youd think
So I wanted to have physbones parameters change smoothly across a float range of 0 to 1 but I've discovered you need to turn off and turn on physbones for the changes in parameters to take effect.
Problem is that If I do that, each time the parameter changes by 0.01, I need to turn off then turn on the bones which makes them reset their position each time.
Is there some kind of workaround that would be possible? I thought about toggling off then on in less than 1 frame, but I don't think it's really possible when using animators... 🤔 (edit: and insce the problem is when reenabling, that probably wouldn't solve anything anyway)
If only there was at least a "Reset When Enabled" toggle
I could turn if off and it'd be fine
So I like to give my avatars a unique standing pose to look nicer on pc, but unfortunately it causes this terrible transition animation when switching to the crouch and prone poses. Any idea on how to remove the transition animations but keep the original standing pose?
base controller ( vrc_AvatarV3LocomotionLayer ) , crouching & prone are upright detection that triggers animations
Right, but I had to make a duplicate controller, edit it for the pose and replace default to make the idle pose different. Unless there is a way to change the idle pose without making a new animation
0:00 | INTRO
0:13 | PREPARATION
1:16 | REPLACE DEFAULT WITH CUSTOM ANIMATOR CONTROLLERS
2:19 | CREATING CUSTOM PRONE ANIMATION POSE
4:27 | ADDING TRACKING CONTROL
5:07 | REMOVE AC FROM MAIN AND ADD TO PLAYABLE LAYER
5:26 | BUILD, TEST AND ENJOY NEW CROUCH AND PRONE!
5:45 | THANK YOU AND PATRONS
Thank you for watching and if you have any...
This is the video I used
perhaps making the transition faster would help? so instead of 0.5 it's 0.25, etc
the higher the number, the slower the transition is
Thanks I will try that
Hey! I have been trying to implement a 2D axis puppet for a custom model of mine, and i cannot for the life of me get it to work. I have set up all of the anim files for each of the 5 poses (neutral, up, right, left, down) and have set up the FX controller. When I export the model to VRChat, I am able to open the puppet controller menu, but no motion happens on my avatar. Has anyone experienced anything like this? Thanks in advance!!!
I should probably also mention that I was able to get some Boolean toggles working no problem. Not sure why I cannot get the 2 axis puppet working...
I figured it out!! It was a silly issue XD I did not have the "is animated" box checked in the root physbone menu.
conradial
is it possible with avatar dynamics to have a 3d coordinate of the touch for a local sound emiter?
so you can hear in spatial audio where the touch is from
maybe can have a contact left and right and middle. and triangulate to get a L -R location but that seems to be over comlicated maybe
my physbones in game don't look like my physbones in unity
the avatar doesn't use collisions it uses the angle limit
In unity it doesnt seem you're in playmode so you're only seeing it still and unmoving, to stop clipping you need to add colliders to the chest
The angle thing helps with hitting against it
i am in play mode
Also your head is angled in the first image so it moves it downwards
i see that now, discord likes to cutoff the top of the image
but yeah, add colliders to the chest and then put them in the collider slots in the hair
thank you!
Got a question since I have tried most things to fix my physbones.
I am using an object that is tracked via an aim-constraint on the hand from a parent constraint on the shoulder, the object has physbones in there and somehow are not tracking the object's aim constraint movement, like they are static to the parent constraint position.
I have tried many things like changing immobile type, checking "Is Animated", Adjusting end point positions, adding end bones, setting multi child types, nothing works to make them track the aim constraint.
In my Hierarchy the "AT4 Aim" has the aim constraint on, the Physbonesafety and Physbonetrigger are the physbones within the object. Honestly I am even unsure if its my fault right now or if its genuingly a bug.
im gonna start with the obvious..... is it on?
it as in every part. The constraints game object, the constraint, the target
Yes, but I found a way to fix it, by puting the physbones outside the object and then constraining them to the aim constraint with is animated. that worked. Not the way I wanted to do it but what works works
Hey, is there a way to check how much a physbone has been stretched?
I got a player pickup system and apparently there are parameters for physbones, but I haven't looked into it too much and was wondering if there was a parameter like Phys_Stretch or something, idk
actually now that Im looking, where can I find something to tell me what these parameters mean, like I can guess what some mean but is there like documentation on this or something???
nevermind, I found some it, still confused on the physbones tho
hmm, is there a way to make it so that when Go/Float is on, it stays on? like is there a way so that Go/FloatEnd doesnt turn off? cuz im trying to figure out Viewpoint movement, and I made an avatar that when it plays an animation, yknow my viewpoint just stays there. but, if I use the go float and just have that activated, my viewpoint's position follows something in my head. execpt for the fact that after like 15 seconds it turns of and stops tracking. so uhm, its a bit weird but if anyone knows how please help.
Oh I think this should work. I have a contact receiver in constant mode writing to a bool HitHead the animation controller has param HitHead and the transitions works in play mode when I click on or off the bool. But even a hand touches the receiver. Nothing happens.
Are the Params in animation controller on a global scope
?
If I added a physbone to my avatars hipbone would that technically be a way to allow other players to pick my avatar up? I really love the player pickup feature in some worlds and have been wondering if it's possible to add something similar to an avi itself without mods
If you do that your avatar will be a rag doll, since it'll prevent IK from working.
Which may be desired.....
theres a player pickup system that was literrally made for that reason, I found it in the VRCFury discord server. Viewpoint Movement is something im personally trying to figure out atm, but for now uhm am I allowed to send Unity Packages in the server?
im gonna be honest, im not sure what that means. the Go/Float is part of Gogo Loco, but I think i have it figured out now, so thank you
I have a model with wings and a tail but when I upload It the tail and the wing do not work. they stay immobile Any sugestions what might be?
Sorry for pinging It was not in the right channel
Oh that's awesome, I had no idea! Could you DM me the file or a link?
yeah!
add physbones on the root bones of both of your wings n your tail
worked for me
touch is difficult since you probably would have to use contacts to triangulate like you said, but for grabbing you can use 3 physbones locked on the x, y, and z axes, and give them squish and stretch
yeah probably need to triangulate. but i don't know how to math in animation controllers
i no some mad lad made tetris with just animation controllers and animation. and triangulation should be easier then that
honestly i think tetris would be easier in terms of math
just because there's not a lot of math you can do with animation controllers
especially comparing two parameters
the only things i've been able to figure out how to do is add and subtract by a given value and multiply/divide by a given value
you can do multiplication and very basic division with repeated addition/subtraction or you can also try to do it with the copy function from parameter drivers making use of the range feature
you can add constants to parameters with parameter drivers
and make those constants negative, meaning you can subtract
I am made a mask that I can put on and take off with my hands using parent contraints, the problem is because of this the mask is visible while being work, which blocks my view. Is there a way to scale down / make something invisible on the client side when worn on the head? I want to avoid having a second version of the mask parented to the head for performance reasons.
headchop
was made literally just for that lol
well and the inverse
making things visible or invisible to the local player from their pov
I'm guessing it's not a child of the head though, so you could use the IsLocal variable to disable it when it's constrained to the head
no headchop works on anything
is headchop a component?
it doesn't have to be a child or descendant of the head
ah cool, I haven't tried it yet.
alright thank you <3
it's fairly new so that's probably why you haven't heard of it
headchop is better than using islocal if you want it to be visible in mirrors
because headchop only affects your pov
not cameras or mirrors or other players views
Oh thats awesome
Yeah I havent done any actual avatar work in years. Probably really behind on things
yeah this came out a couple months ago iirc
along with animator play audio
which is a state behavior that allows you to play different audio clips from one source
it also lets you either randomize it per-behavior or play a certain on in the list based on an int parameter
Oh thats awesome
i tried to use it to make a piano but i couldn't get it working 🥲
i did sucessfully use headchop though to make glasses which you can grab off your face and they are only visible in your pov when someone is grabbing them
my biggest wish has been for there to be a way to track the angle of a bone rotation, Or in general be able to turn common component variables into parameters that we can read and drive. but I am guessing thats still not a thing
One can dream :D
my biggest use for it would probably be for turning eye tracking into 2D
like using the rotation of the eyebones for 2D animations to move the eyes on a 2D cartoon face
right now all we have is menu puppets 😔
also a unity thing that would be cool is if you could change the interpolation of blendtrees
like have it be custom
Id use it for wrinkle mapping. Turning on Cloth Fold normal opacity based on angle.
Or to enable corrective shape keys to preserve volume on body rigs
Ive seen people do it with recievers and senders, but its really janky and probably not very performant compared to the proper implementation
yeah i've heard of that and i tried to do it myself once but it didn't work super well
the other thing you could maybe do is use physbones
physbones have an angle parameter but it doesn't seem to specify which direction..
it's just one number
but you could use multiple physbones with limits
this only really would work actually for something attached to the root gameobject
idk
i just wish that was information that was accessible to use
maybe they could add a component in the future that you just add to a transform and set a name and it provides you with read only parameters for the transform values
oh that'd be SO nice
Most generic unit components have variables that you can access with scripts. I think most of these should be exposed to the parameter system.
Or better yet, Can we actually get scripting support instead of using Animation controllers for logic?
I think scripts aren't allowed on avatars because of crashers
i got a janky physbone set to 0 angle hinge constrained to the bone id like to track working at one point, _angle would be 0 at rest and 1 at 90 degrees
the only scripting you can do is via shaders
that's kinda what i was thinking but how would you get the other end of the bone to stay in place?
it was just a 1, 0, 1 bone so it would never move on its own
but you have to keep one end still and one moving right?
because if it never moves on its own then when it moves both ends move..?
unless you use stretch motion to keep it in place, but depending on your immobile settings that's only either relative to the world space or the root gameobject, not the bone's parent?
heya can anyone help me out with something? I dont know if anyone here can help figue out why bones are not moving in the animation even with bone animated
is it a humanoid rig bone?
but did you rig them when you rigged it as humanoid
They should be they work for the headpat
do they have physbones on them? In the physbone component at the bottom, there's a checkbox to enable animation
huh that was some days ago 🙂
anyone know what might be preventing me from grabbing physbones in play mode? Im on the scene view it just has no effect
did you mean the Game view here?
i have an audio source that moves based on an interaction of a contact. but i keep only hear it for the right, i also added a contact on the audio source so i could see it move when contacts in the avatar overlay are turned on. any idea's how to fix?
say, if i were to be making a cape for an avatar that's split into three halves, is there an easy way to make them move... different to each other? or add some desynchronisation to the timing? thx
Is there a way to have or implement triggers to detect when an object reaches a certain tilt angle on an avatar to activate an animation?
depends on what you mean by tilt
Well if it has physics, you could always have slightly different force settings on each side, or if it's animated you could simply offset the animations
Question about simulating gravity on avatars, how would you guys go around greating a "groan tube" effect on a mesh bound to your forearm. What i mean is if you had a bangle or loose fitting bracelet on your forearm and tilted your wrist on, it would slide to a stop towards your elbow, alternatively it'd slide to a stop towards your wrist if your elbow was higher. I was thinking of having a special parent root bone to attach the bangle to, but i think it'd swing instead of slide. does anyone know if there's a way to read the roation of the forearm so i could just use a blend tree or something to achieve this?
Anyone have a good idea of settings to use for a skirt? Mine always end up being so funky
Gravity, angle limits, stretch/squish, and stretch motion. Play around with the settings and make use of curves if you want to use the same physbone component for different settings on the same chain (aka one half for the sliding and one half for the dangling)
If you set the angle limit to 0 degrees it will only stretch/squish, not rotate
If someone knows how to fix this, please let me know:
I have a object that I control with parent constraints. I constraint it to different empty game objects around my avatar depending on what I want to do with it.
The object has 2 Contacts setup on it. Whenever I constraint the object to my head, the contacts on the object get's placed where the head bones starts => the contacts are inside of the neck/head.
Whatever I do I can't seem to change the position of the contacts.
It only does this whenever I constraint the object to the empty game object on the head bone.
Every other constraint works perfectly and the contacts are where they should be, on the object
contacts not working even though i think i got them set properly
contacts, are working they are not syncing, tho: both local only, and the parameter is in my parameter, menu
I need some help, I was trying to add addons onto a model, the addons would reference the original model’s armatures but for some reason, the wrists of the original model was suddenly shooting up above the original wrist position
I need help creating a tail puppet (2d axis puppet)
I followed all tutorials but it dosnt work
define "it doesn't work"?
I am having trouble getting PhysBones to export into vrc
They work perfectly fine in Unity but the PhysBone components don't even get recognized when sent into vrc
A couple days ago i did publish the avatar for quest without physbones but idk if switching the build type back to windows might be a problem
This is my own model ive made from scratch btw
is there an error in the SDK build window saying that you've got too many and they'll be removed?
No everything is building fine
And I have no errors in the console either
Atleast none that are red
Also is this the right channel for this sort of question?
No, that is not a problem at all
Did you upload the right version to PC?
Maybe you uploaded the Quest version on the PC side on accident?
Here's a video of what happens
I haven't made any different versions
it just doesn't do anything
I deleted all the old builds and it still isn't changing
I don't get any errors or anything as I go which is really confusing
Your physics objects arent even on your avatar bruh
You might want to hit detach on the pipeline manager
And besides that
Drag the Body Physics onto your avatar in the hierarchy
You gotta drop the Body Physics onto the blue package in the hierarchy
Because that blue package is what will be uploaded as your avatar
If the avatar doesn't have the physbone components in it, then it will not be uploaded with it
It's okay
Now you know how it works :)
It's a learning moment
does anyone know what the "pull" value actually represents?
like in terms of units
or if it's normalized
like what does a pull value of say 0.5 actually mean
0.5 of what?
It was something weird like how far off resting angle is the bone currently * pull, move bone back over one second
do you know how this applies to returning to rest position for stretched physbones?
Probably the same math but with individual original lengths instead
okay so i assume then the units are normalized
that makes sense because it seems to pull less and less the closer it gets back to the original position
just trying to make a follower pet with a stretch physbone and i'm trying to get the walk cycle to line up
Its more a thing where lets say its gotta move 5 to get to rest, itll move 2.5, then 1.25, then 0.6whatever until it finally gets there
I think _pulldistance is a bone animator parameter, doing some quickmaff and setting play speed to _pulldistance will probably do the trick
Plsssss omgshaaa First avi I’m making I set the avatar into humanoid lol but I can’t get the physbones to work for the vr egirl base by zinpia help 

Is there a limit on how many avatar dynamic contacts can be resolved in a singular frame? My use case is syncing binary data between players
A quick question, can physbone simulate something like a book?
I want to do a bookshelf avatar for that
Probably? Depends on your use case
yes, u can use hinges limit type for opening and closing things like doors, books
If you explain what exactly you are trying to achieve, I can help you with your physbone settings/setup
why is the tail on my character moving in unity but when I am in the game it does not move and the ear's have contact point's on them but can't interact with the ears or anything on the character can I get help fixing this please
I use physbones for tail and ear's to move and use armature as my main root point
humanoid bones should not be involved with physbones
What do I use as the root then?
tail root
I tried to use the ear tail but it say's there is too many physbone's
ears can use common root, but you need to edit armature in blender
so its head-ears root-ear1.L etc
So I need to blend the ear's and tail as one armature in blender for it to work?
what. no
Is it possible to make a folder and do it as one for both ears with just one physbone componet and not two?
Alright hopefully is there a way to fix the character from doing a flip when crouching and jumping in vrchat it only happen's on the oculus version the pc version work's fine is there a way to fix this
In blender you could make a common ear root (as a child of the head bone) and put the physbone component on that and set it to ignore the root bone.... but you'd have to test to make sure it still moves how you want.
What unit is the min velocity in the contact reciever? I assume it is m/s
it is. running speed in most worlds is 4
Is it possible to have intersecting proximity receivers on avatars?
Yes?
Why would it not be?
You can put contact senders and receivers anywhere
I was planning to use 2 intersecting receivers to get xy coordinates of the collision and was told by friends that it wouldn't work
you need 2 receivers per axis so for xy its 4
and one more constant to tell if its inside at all
ie to cut off outer halves of receivers
Why do I need 2 receivers for each axis?
My intention was to create two large colliders to act as xy axis and a a few colliders that check the the collision occurred within the bounds of the interactable area
you place proximity ones next to each other like "OO", you place single constant of the same size that checks bounds, between them. then if in bounds and both are 0, its in center, one of them is 1 - on the edge of bounds in that direction. for more axes just add OO on that axis
the way i see it, one per axis will result in smaller bound and since its spheres, way worse precision since it will be always at some awkward zone
and not normalized coords.
1 per axis only really works if you only have 1 axis and it's a very thin area
Although technically with 3 you can triangulate the position but idk if you are able to do the math for that in animators
I think you'd need 4 for xyz
does anyone have a good sword fighting prefab
What point of a collider does VRC use for the dustance to the receiver?
closest point within the sender
I see
I need my physbone parameter to be network synced, do I just simply add it the parameter name to the sync params list a it will work?
yes
epic, thank you <3
Same, but they appear to be client side.
When affecting parameters, there is no need to use Synced Parameters as defined by the VRCExpressionParameters object. These parameters are already updated on both the local and remote machines, as both will be running PhysBones.
I use physbone grabbing to toggle an object and Ive noticed that it doesnt always toggle on everyones end if I grab the physbone quickly. So by the looks of things network compression causes some data to be lost and desync physbone parameters
by this wording it doesn't look like the parameters themselves are synced, it's that the physbones themselves are just running both locally and remote
so you don't need to sync the parameter as long as they are simulated the same for everyone
but there's a chance they might not be
Yeah I think that's the right way to interpret it
I cannot figure out why the only collision that works is the custom contact sender I added there?
i got a question
im using the float on a contact reciever to change the speed of an animation
is there a way to get it so that instead of the float becoming 0 it can become a different value when the sender isnt colliding with it
basically im trying to get it so that the animation reverses whenever a parameter isnt met but i want it to keep where in the animation it already was
its basically an animation that just makes this ammo slider go up when the gun is shooting
but i want it to go down whenever its not shooting without the animation restarting
nvm just discovered parameter drivers
works for what im doing
ah good, that was going to be my suggestion 🙂
im now having the problem that one of the parameters is randomly becoming false lol
idk why
but when it is working this is how it looks
any suggestions that i should download for free or under the 40 euro
i love interactive props, this is super cool ^^
ooh rotating barrels, this is cool
its also avatar pvp
So for on enter based contacts would the best practice be a way to make a layer to solely catch the on enter and make it a local bool for the animation layer its going to be used on and disable the bool when its been played on the state its ment for?
cause whenever iv done on enter its been very inconsistant
that's what I do, yep
it's also a decent method for buttons, use the on-enter to toggle another boolean on/off
do find it dumb you have to make a buffer for it
on enters are around 1 or 2 frames
impossible to catch on a rather complex anim graph setup
💀
yeah... that's the drawback
good to know im not the only person who is having to buffer stuff for on enter
also what is the speed measurement based on?
¯_(ツ)_/¯
cause for anything its requireing to be a very low number
but then again theres some weird movement to in editor movement
stuff is very confusing and abit annoying
Is there a way to get this glowing blue gear to rotate in a clockwise rotation on my avatar?
Animate it with a seamless loop
ok! does it have to be a toggle or an i have it just do that normally
its a layer with one looping animation in fx controller
ok! thank you both!
im looking for a way to make it so that i have an avatar witrh a weapon that they can grab and draw but when they let do it returns back to it's holstered position slowly instead of teleporting back. anyone know of a way to do that? :o
There’s a tutorial on exactly that on sipp’s avatar box
Avatar Contacts can be used in a variety of ways, including using them to toggle objects by grabbing them off of your avatar. This video will show you how to do exactly that, in the form of grabbing a prop off of an avatars hips.
Toggles Tutorial: https://youtu.be/XqtSg6_W07Y
Join my discord for avatar help and free ...
@hearty wasp
perfect, thank you!
You see in the top left of the scene view where it says "center"? Click on that and change it to pivot
ok! thank you!
i changed it to pivot and it didnt change anything
is there something im missing
it depends on the center of the thing you are rotating and if you are just rotating it and not also position transforming
rotation is generally around the origin of the object, which for a mesh part is likely the avatar's origin, which is the world origin here. You might have to do some blender work to make it the right thing - maybe give it a bone and rotate it around the bone.
this is partly why I like to animate in blender, this is a little easier to handle when you can use the 3D cursor for tricks like this.
but.... if that's to be attached to the head it'll probably work well to give it a bone it rotates around
ah ok!
I haven't tried it, just thinking out loud 🙂
I fixed it I just had to select the object in the gears folder, the only problem now is that its not rotating clockwise on its axis its just spinning around head
yep, rotation point
i fixed it just making some tweeks right now
sorry to ask but which layer in the FX controller do i put it in?
uh, new one
Hello! I'm wondering how could I spawn an object (or make visible at least) from my avatar and place it in the world and have it keep its position while I move around? Appreciate any insight
Yes, you'd need a constraint, here's a prefab: https://github.com/VRLabs/World-Constraint
thank you!
What's Avatar Dynamics? /genq
physbones and contacts
this is kinda unclear on its install. do i need to actually make the animations and everything myself? i can do that but i want to make sure thats what im supposed to do here
unclear what youre asking for
VRLabs stuff is generally building blocks, not finished products
I'm trying to animate some interactions with a blend tree and I'm having trouble understanding how to make the animations fade in instead of just happen instantly. I know I can use layers but I want to learn how to do it with blend trees. Can I get some advice for settings?
Also apologies if it's the wrong channel but I figured since this is utilizing contact receivers etc it should be fine.
if you wanna use blend trees expect the contact reciever to be larger than usual, to allow for more time to go from 0 to 1
I guess I only just realized, but do I need to use proximity instead of constant? I was assuming I could somehow tell the blendtree to have a sort of transition period from one animation to the other when the parameter changes from 0 to 1, but I'm guessing that's not how it works?
oh yeah, no controls for blend time in a blend tree
there does exist methods for smooth parameter lerp but those are beyond my deer brain
Thank you for the help. I can definitely make these work with proximity instead of constant.
Yes! Thank you :O
Heya! Couldn't find the information anywhere so i'm checking here. Is there a way to have a contact receiver have a radius greater than 0.025? same for a contact sender? Trying to have a friend toggle an effect on my avatar when they're around me, thinking a contact sender could interact with my contact receiver and the toggle activates. I'd need the distance to be a bit greater though. Any other alternativea to that problem are welcome as well :)
(please ping me if you have a suggestion)
Multiple contacts around you maybe?
You can safely place them next to each other, and they will not mess up your avatar bounds stat
You can't go beyond the size limit in any ways though
Perhaps? There is about 8 toggles I want to add, I don't mind adding them, but to cover an acceptable radius all around i'd need to add like, 12 contacts per toggle (6 around and 3 up and down), which would bring the contact count to 104... That's without taking into account the much more modest amount of contacts I have on the rest of my avatar, I think 5-6. Is having that many contacts not going to mess up anything?
why do you need contacts for every toggle?
oh maybe you could size your avatar down?
then when you scale it back to normal in-game it will scale the contacts up with it
oh another idea is to have an animation move the contact around?
then you just check if it's on and wait the length of the animation to check if it's off
like
idk you'd need a somewhat complicated setup
and it would have a small delay
but it could work
actually it wouldn't be that hard
have a toggle that sets x to true if contact = true, then have it go back to the default state if x = false (using a parameter driver)
then have an animation on another layer that moves the contact around the radius and after it's done playing it checks if x = true, and if so, sets x to false, then transitions back to the animation
ah damn
my other idea would work though
oh interesting we thought of basically the exact same thing lol
Well you thought of it before me even if we thought of it separately
I am having like a lil bit of an issue whith PhysBones I have these meshes ive modified and im unable to make the breasts not clip through the shirt it self any ideas?
im losing my mind here everything is weightpainted and still having the bloody issue ;-;
your options are really: 1. better weight painting. 2. move the clothing mesh further from the body. 3. shrink or hide the body under the clothing when the clothing is enabled in unity
this is hard 🙂
im deying here I don't want to move it because it means MOAR finnecking with the mesh itself and the body, i don't want to shrink the breasts bc then ill loose the jiggle and then moar animations for toggles, weight painting FRICK. I barely know any of that and blender I am afraid of it.
my friend has been doing this a bunch for clothing where she can't alter the body, and getting it perfect seems to take weeks of testing and tweaking
I do have all of the blendshapes ready for booba and thiccness
but like
the jiggle ;-;
yep
maybe have the booba mesh that would be hidden anwayy hide fully when the shirt is on?
no clue how that would be done, but i know it's definitely possible
This is actually quite good, it might get you closer: https://jinxxy.com/SentFromSpaceVR/products/robust-weight-transfer
0.00 USD - ,Join the Discord for support and news!: ,https://discord.gg/Fdy5RpunY4A Blender addon for getting smooth weight transfer results with just one click!Robus
It is... but I want to be able to uh BOUNCE
ooooooo looks fancy
imma
try
I've been using it as a starting point
yess please do ping me if you find a solution ^^
Ive done it! all the weight paint was fine is just my dumb brain did not merge the bones together when combining the armatures xD
ha!
so yeah it was lack of braincells and forgetting ro review xD
I just spent an hour trying to debug a tripping circuit breaker, with success, but now my garage lights seem to be completely dead. I'd rather be weight painting 🙂
is there any way to get contact senders and receivers working in worlds?
damn
itd be cool if there was a way to get dynamics to work like that cause then you could make certain avis interact with the world
You could make it eork where specific avatars interact with the world but you cant have the world interact with the avatar
yeah no thats what im trying to do
have avatars work with the world kinda like having a kaycard object to open certain parts of it up
That is possible technically
But it requires checking for specific bones on the model
That one furry world has automatic avatar flight for specific avatars like avalis with arm wings
ah kk
udon able to check only for humanoid or the last bone tho, so how
Not sure how it works myself
I just know it can detect certain avatar bases
Heyo! Sorry took a while to reply. Your idea (and @median musk's) really isn't bad, I couldn't find anything else since i asked the question here so i'll most likely go with something like that. I really wish it would be more simple for friends to play with toggles on your avatar that wouldn't implicate contacts, but oh well~
Thank you for the suggestion ^^
hey does anyone know how to make a avatar off imvu like this skin and others
if anyone do Text me on Dis
me and my friends trying to start creating if anyone can help that would be awsome
also how do you upload pc only skins to quest if anybody know and can show me on a dis call wit me and my friend that would be awsome add me and text me and let me know
stuff from imvu isnt allowed to be used in vrchat (that model has gamerips from it) you could try to make something similar to it using vrchat assets though
also not the channel to really be asking this in
can you help me maybe a dis call or i’ll share my screen and yiu can text cause idk how to do it
no.
alr
what game ripper do they use
game ripping isnt allowed.
why the hell would you think people would tell you how to rip here
hella people be tellin me they use it getting mad confusing
those people are breaking multiple rules for mutiple games then
oh ight
well theres this avatar im making and for some reason it doesnt have a rig i was trying to find out to put it on there but i just couldnt
Afaik the way openflight works is by measuring the humanoid bone distances in relation to the avatars size and matching that to known avatar bases.
@clever jetty oh. that at least makes sense🤔
would adjusting View Position with an animator actually make you scaled to that size or would i have to do something like scale the armature
like if i wanted to scale up to playspace walk faster
IIRC you can't adjust the view position via animation. And you'd need to scale the armature, but this doesn't really get what you want anyway
haven't tested it yet but it seems like the animator gives me access to the View Position on the Avatar Descriptor. scaling the armature wouldn't work? is there something i could do with, like, a second armature or something
Just because Unity lets you animate it, doesn't mean it's animatable in VRChat
your goal is just to walk faster?
more or less
yes i was hoping to have a travel mode for my avatar to cross large areas without needing to change to another avatar
I often use the speed boost for flying in gogo loco for that
@rich tulip I'm just curious as to what imvu is and why stuff can't be used from there? All I could see when looking it up is that it's a social game similar to vrc
It's stuff made for specifically that game only not sure if it's part of the games TOS or just the people who make the assets TOU but I don't think I've found a single thing on there that's legally allowed to be used in vrchat its the same with games like Sims,2nd life,shining nikki,any Nintendo game etc
If you upload or use an asset from those games the model its used on can/will likely get a dmca claim and get the model delete with a temp/perm ban depending on how many times you get in trouble for it
Ah got it
I remember when this first came out
I was using the beta version 😭
And I remember starting at the mirror for like 2 hours just wiggling bro
real
could anyone refer me to a guide on adding ragdoll physics to an avatar? also hopefully something on colliders with other avatars so my buddies can punch me across the room
There is a ragdoll system you can buy
But typically its a lot of constraints and rigidbodies
theres this one though im not sure how well it works on most avatars ive only ever tested it on (i think) the base model :P https://runefox237.gumroad.com/l/punchable
You ever want to get ragdolled when your friend hits you in VRChat? Now you can with the Punchable Avatar System!If you want to try out the system in VRChat the public avatar used in all the showcases can be found here:Puntable Baby NardoImportant Notes:This system builds on top of the VRLabs Ragdoll System which means that you need to own the R...
its free so it doesnt hurt to try it
its not free
you need to own the vrlabs ragdoll system
Turn yourself into a floppy ragdoll or falling statue in VRChat. README: https://github.com/VRLabs/Ragdoll-System If you need help, our support channel is on Discord. https://discord.gg/THCRsJc
ah i had mis-read it, thought it said it could work with the ragdoll system not that it required it 
so im trying to use a stretchy physbone to determine a float value, it works but when I stretch the physbone out to as far as it can go it sets the float value back to as low as it can go. does anyone know how I can prevent it from resetting the value?
how are you checking the value?
like what are you using to determine that the value has been reset back to 0
to get into more detail, im making a bow that fires arrows, it can fire at different speeds depending on how far the user streches the physbone, so when the user lets go it naturally resets itself, the problem is that when its streched out all the way the anim for chanign the start speed of the particle system goes back to the start of itself
so the user would pull the arrow as far back as it goes, let go, and then a pitiful arrow just plops out right at their feet
so you're not checking the actual value then? your issue is that the speed resets to 0, not necessarily the physbones_stretch parameter resetting to 0
because it does not in fact do that ever as far as i'm aware, meaning the issue is likely with your animation
try disabling "motion time" on your animation clip that changes the speed
also when debugging be sure to use the debug menu in both gesture manager and vrc, they are very helpful
so here is what I got, 2 layers
the first one is the blend tree that determines the arrows power
the 2nd one is the layer that checks if the user is grabbing the physbone and then fires when the user lets go of the physbone
have you checked the debug menu while using this?
Ill check now
it also could be the thresholds? maybe try adding animations for thresholds 1 and 0
in the first layer right?
yep
so the debug menu says the stretch value is going all the way to 1 and like 1/4 shots is having the issue where the arrow just doesn't go anywhere
I have Motion time disabled on the animations
shit sorry i meant "loop time"
that is disabled too
yeah i was assuming you had used a single anim instead of a blendtree when i said that
is the arrow slower or just doesn't spawn?
the arrow spawns but at the slowest speed it can, as if the player didnt pull the arrow back at all
do you think setting the physbones pull to something like .95 to slow its reset down so the arrow fire anim has time to go off before the physbone resets could fix it?
that might help, also maybe copying the parameter at the exact time it shoots if there is a delay between the shooting and the arrow being fired
how would I go about copying the parameter?
on the fire anim add a parameter driver that copies the value of ArrowPower_Stretch to another parameter, and then use this new one for the blendtree
so while the arrow is in standby (would be when the user is drawing the arrow back) i should have it copy the Stretch paramater, then when it fires it keeps that paramater, then resets it when it goes back to all off?
all the while the blend tree is using the new copyed param to determine the power of the arrow?
i would copy it when it's fired since the copying only happens once on the frame that the animation state is transitioned to
actually another solution would be reducing the pull a decent amount and then making sure "reset when disabled" is NOT checked. Then have the physbone disable when the arrow firing is triggered (as part of the fire anim) then enabled again after the arrow is done firing
if you have "reset when disabled" disabled it will keep its position while disabled, but will reset to its rest postition after being enabled again
I think ill try that 2nd idea
but keep the param copy idea incase I need it, thanks for your help @stuck bane
What's the best way to animate changes to a physbone?
I'm finding the changes to the settings don't actually apply to the bone unless I disable it for a number of frames and then re-enable it
but that's not ideal if I want to smoothly animate a property changing
that pretty much is the only way and it's not even an officially supported method of doing do :/
for forces at least
other stuff either can be animated with the physbone on or can't be animated at all
damn, thats pretty lame. oh well
thx for the info
Are constraints out yet?
I don't see them in sdk 3.6.1
Theyre in 3.7, yeah? Which isn't out yet?
Read the announcement
It says the sdk isnt shipped out yet but the constraints are shipped
Yeah they are out in the client but rn only in the beta sdk. So they are live (on all platforms) but in order to upload them rn you need the beta sdk for now. They will very soon ship the main sdk with constraints as well
Hey, I wanted to ask here if it is at all possible to have a rope-like physics that connect 2 points on an avatar with physbones to have it have rope like physics affected by gravity and stretching so it droops down but connects to the other end. I also made a quick diagram to try and convey what I mean, I hope this helps to explain. Just wondering the best way around this!
as far as i know there is no real way to do this, but you could try a combo of physbones and constraints just be careful with how many components you're using.
the easiest way would probably just be to use careful weight painting and a physbone in the middle. I'd weight paint the ends to the shoulder or upper arm and the hand, then have a physbone attached at the upper arm or forearm that's weight painted to the middle. You could also try parenting a bone to the upper arm and then having a constraint with 0.5 weight with the forearm as a source and then having the physbone parented to that
i've done something similar before for a shawl
Hmm, yea I'll definitely try this, I got a lot to experiment with constraints too so It's good to start here. Thank you. :D
Is there a way to make it so other people can attach something to my avatar? Like put an avatar prop into a backpack?
not really unless both avatars share the same contacts and toggles
Had a tail bones to where if you grabbed it or it interacted with the floor it would react but after I put clothing bones for the Avatar as the children to these bones those specific bones are now "stiff" and don't interact. When an animation plays it is fine and the tail bones without clothing bone children act as normal. Know what I do to fix this?
It is definitely possible. Someone managed to attach a halo from their avatar to my avatar's head contact. Different avatars entirely. Definitely the contacts, because I tested both on and off. Dunno how, though. I should've asked, but figured it was something I could look up later.
Found this, searching for "attach to someone else's contact vrchat"
https://github.com/hfcRed/Player-Tracker
Looks like there's a newer implementation, though.
https://github.com/VRLabs/Contact-Tracker
@main sail question was the other way around, and the answer is no.
From your side ye, you can attach stuff to other people's default contacts. contact tracker does not account for rotation, so ye, halo or collar could work, slice of cheese to the face - no. player tracker is an ancient application of contact tracker with easy setup in mind (and ye its not great and forgotten). theres also grabbable prop/avatar prop packages, also based on contact tracker, that try to act like pickups.
Ty, I'll check it out
Unrelated question: Is there a way to make a contact react to anything physical? (things like walls or avatar meshes)
Anyone having issue with constraints converting over for quest? My things just float in air when toggled
After thinking about this some more, I think a good solution would be to use the single physbone with gravity like suggested before, and then for the rope have each half of it parented to the closer bone, so the inside half would be parented to the upper arm with the chain going towards the end of the physbone, and then the outside half would start at the hand and go towards the end of the physbone. Then you can put a look at constraint on each bone in the chain with the end bone on the physbone as the source. Then just change the weight of the constraint based on how close it is the bone. Just mess around with the values until it looks right.
are there any guides for doing a world-placeable prop with the new VRC Constraints system? (assuming that makes it easier...)
just enable "freeze to world"
Does anyone know good setting for phys bones? Like for hair?
Like how do i stop my hair from be blasted back 100 feet?
i look like im standing behind a jet engine
Like it doesn't look that way in Unity
when moving or when standing still?
moving
"immobile"
.9
no idea then!
try setting immobile to world
didnt change anything
if you do that and set immobile to 1 it shouldn't move at all when you move with your thumbstick
Hey, if I wanted to make something happen a few seconds after a physbone is let go of
How would I go about that?
check for physbone_grabbed = false and physbone_posed = false, transition to animation that is the length of the time you want to wait, then transition to animation that should happen after with exit time = 1
is there any way for an animation state transition condition to compare two parameters to each other, rather than just to a constant?
is there any way for an animation to set a property on a material, like a float, that a shader can see?
other than having one pre-made material for every possible property combination and switching to the correct one
Yeah
go into record mode and change the value
With poiyomi make sure to mark said value as animated
So I'm making a prop grabbable with physbones
Is there an easy way to make it rotate with the users hand when grabbed?
oh my god, thank you. they weren't showing up and I just realised it's because I had them as integers instead of floats....
I was halfway through a whole awful workaround where I snuck the values in over the _ST properties of extra UV channels...
Damn
Glad to help!
unrelated to poiyomi/material animations
please optimize vram memory with thry's tool
and if you use VRCFury add: Blendshape Optimizer, Direct Tree Optimizer, Anchor Override Fix
I made what is essentially an arm with infinite stretch so it has full range of motion positionally
but idk how to make the end rotate properly when grabbed
for example if I put a sword/gun/cup on it ya know?
Also how does one make something reset the world drop when turned off?
I want it to be dropped where it's dropped if that makes sense
Physbone component properties still can't be animated (without toggling different scripts for the same bones) right?
some cant at all, some wont apply without turning physbone off/on.
With regards to physbones and constraints, is it a case that the root bone of physbones and the bone being constrained cannot be the same bone?
Example, having Hair_ROOT as the root for Physbones while also having a rotation constraint on it, with the target being another bone. In this scenario, the physbones simply wont work. Would it if I setup an empty root specifically for the rotational constraint and had the physbones on the next child, the previous Hair_ROOT?
I've not delved into constraints and the like, so how they interact with physbones is still new for me. I don't mind the work to set it up, but figured I'd ask if it was even worth pursuing.
constraint with weight set to 1 will override any other way of modifying transfroms, ie physbones and animations.
usually your hair root shouldnt move itself tho, its just a root for multiple strands?
Constraining a bone that has a phys bone to itsself is the way to do it
kinda but with some limitations. You can use AAPs (animated animator parameters) to do some math with parameters, but it will be constantly outputting those values
there's restrictions on what you can do directly with the output parameter
?
Also I've made a world drop with a parent constraint just set to "Freeze To World" and a target, doesn't have a source.
Where ever it drops the first time it just stays there
How to I make it reset positionally?
youd want a reset location (root of avatar/something) when freeze to world is off - it goes back there
Top have a source that exsist - it will reset back to where it was before world freeze (for some reason doesnt need any gameobject - guess it just grabs whatever its on) , if you leave it List is Empty , it wont reset back to where it was before freeze
I'm not toggling "Freeze to world" tho do I need to be?
I'm just toggling the gameobject the parent constraint is on
I'm confusedd
So my world drop works
It's just that when I toggle it off and back on
It stays dropped where it was dropped the first time
I can't move the object by turning off drop
detect hand + gesture inside a contact = parent that object to wrist ( i use fist , anything else drops it where i leave it )
made a bubble thing some days ago like that
I don't see any difference in how it functions with "List is Empty" vs "None Transform" vs something set there
Freeze to world just makes it freeze in world wherever it is when I turn on gameobject the parent constraint is on
And then it rememebers it forever
freeze to wolrd is smth you should animate off/on.
working on making a version of my model playing guitar for a music video. is there a way to constrain the left hand to the neck of the guitar so I can slide up and down it but not move away from it, clip through, etc?
hmm I'm pretty sure you can't do that
that is unfortunate. 😦
they were asking to be able to move the hand like playing the guitar
well yes
if I can't slide it's still worth doing what I can, id still like to make the video
omg yes that's exactly what I had in mind
huh, I totally didn't think of that
thanks for pointing me in the right direction, I'll start looking up aim constraints
here's my idea (if you want your arm to follow the guitar instead of guitar following arm) – this may not work since i haven't tested it, just came up with it off the top of my head, i'm not sure if you can constrain physbone transforms:
add a "ghost rig" for your arm, so the invisible arm (non-deform bones) are humanoid
rotation constrain deform bones to humanoid bones
toggle to disable (for playing guitar)
have a physbone that runs along the neck of the guitar with stretch enabled, the end bone at the base of the neck and the max stretch bringing it to the other end of the neck
make sure to add angle limit with 0º angle
constrain the end of the physbone to your humanoid hand bone
now the end of the physbone should move along the neck as you move your hand
use parent constraint on deforming hand bone with physbone end transform as source
aim constraint on arms with physbone end transform as source
if this doesn't work you could always try skipping the part where you constrain the end of the physbone and instead just grab the physbone to trigger it
if I was really clever I'd make left hand gestures into different chord shapes too but one step at a time 🙂
thanks, I'll look into that more closely as well!! 😄
I like this idea
ironically, searching about aim constraints led me to find a gumroad package for a preconfigured avatar guitar that I can probably just swap out the mesh on lol >_<
I know I’m not supposed to use cloth sim, and I’m mainly gonna use phys bones for the final, but man it’s so satisfying seeing the physics in action. Didn’t even take much time either for this quick a dirty set up
Also this’s 748 verts
its local so what you see, isnt what other do - very unreliable , usually i just see it wrapped around some collider or stuck on others
spin around and look at person again - it refreshes every time
Oh yeah I’m learned about that half way playing and testing it with someone else in instance. I managed to figure out placements for the colliders to lessen that sticking issues almost completely. I do hope one day they make their own system like this just like they’ve been doing with the other systems like constraints and physbone. I find physbones reliability for long dresses to be come a painful mess to get things, rigged, weighted, and proper parameters/constraints to get a satisfying result
They should just allow Magica Cloth 🙂
I heard of that, maybe they don’t want to because they don’t want the dynamic bone thing again and needing to create conversation tools when they do make their own built in system
yeah, Magica Cloth is usually $25, though I got it on sale. Great product.
I’ll probably use these cloth stuff for personal and small groups
Can I run an animation that transforms bones and have physbones still work on it?
I want to create a tongue out animation that extends the bones instead of using a blendshape to poke the tongue out.
And will any style of transform bones work?
Or would either stretching the bones or moving the bones and making a gap between them be better?
yes physbone scale with bone and you can easy animate non humanoid ones
thanks
Animate a fake arm
monkey d man
it wont work exactly the same as the fake cgi physics in that but you can animate a fake arm that was rigged specifically to be able to stretch like that then you can have world collision detection to have it stop and world constrain to wherever it hit
could also make it follow a rigid body launcher to give it "physics" like gravity etc
there is no coding involved at all with avatars
just animations, transitions, constraints
A friend of mine has face tracking
And wants to make it so when they bite it'd let them grab physbones (ideally more than that but I don't think that's really doable with how VRC has things setup)
with their mouth
Is there a way to grab via parameter or is it just by controller grip/trigger?
you can't interact with someone else's physbones with anything but hand colliders
(which you can move in Unity.... but you still can't really change the grab like that)
hey so i'm looking at making an avatar hold a sax for a music video performance. ideally it would stay attached to the mouth and both hands in a somewhat realistic way, but I'm not sure what approach to use. i assume aim constraints are involved? any suggestions to point me in the right direction? thanks for your help
i figured out how to attach it to the mouth using a couple of empty game objects as anchors and the position and rotation constraints, now i need to figure out how to attach the hands
can you even have constraints to multiple parents that work together? maybe by reducing the weight on each or something?
the only grab tutorials i'm finding use parent constraints and obv you can't parent a child to multiple parents at the same time
the way its working now is i have an empty gameobject called MouthAttach that is a child of the Head and positioned right at my mouth and rotated with Z facing out of my mouth.
then my sax is a child of a gameobject called SaxAnchor that is itself a child of my base avatar. Saxanchor is positioned in my mouth and the sax model is positioned so the mouthpiece is at the SaxAnchor origin point, so it acts like a pivot point for the model. SaxAnchor has a position and rotation constraint both targeting MouthAttach
this means when i move my head, the sax moves with it. what i want to add to this setup is to lock the hands onto two more anchors i placed, LHandAnchor and RHandAnchor, which are children of SaxAnchor.
my best guess as to how to proceed is to set up a vrc contact receiver on each hand anchor that sets a property representing that hand grabbing the sax. then animate some kind of constraint(s) (aim maybe??? or rotate x only?) to activate when that property is set, so that the sax moves and rotates based on both the face position/direction AND hand position. so like you could tilt the sax up or down (rotate X) by grabbing it but not disconnect it from the mouth entirely. i'm not sure what constraints to use to make it work how i want or how to make the constraints play nice together
wait can i just use a couple of immobile physbones?
my avatar physbone keeps jittering uncontrollably when grabbed. Since it was an old avatar, I figured "I'll update creator companion unity version", no effect. Any ideas?
It use to work, now does not. It started like a few months ago
okay i can't "just" use a couple of physbones but i ssuspect they might be the answerr, i'm just using them wrong. any ideas?
i think i need one or more aim constraints but i can't figure out how to set them up right
you could have 2 empties that have aim constraints aiming towards the hands and then add these 2 empties as sources on the rotation constraint and animate the source weights based on the contacts
one empty + aim constraint for each hand
and position them at the mouth as well
i would maybe use gestures as well
in case your hand detatches from the contact while moving
so if you touch the contact and then make a fist gesture for example, it will stay attached until you stop making the fist
how you animate them depends on what behavior your want. Obviously if your hands are going in different directions then it can't go to both at the same time, so you have to choose if you'd rather have it be in-between them or have one of the hands override the other
so i think i started setting up either what you're saying or something similar but i didn't get as far as animation.
i created a grab point in each hand, child of Wrist. oriented it so z+ is out of palm
then on the sax i created two hold points where each hand should go. i put an aim constraint on each, with the appropriate hand as a source and target being the sax anchor
what happens now is the right hand now moves the sax but its offset is based on a t pose being neutral which is obviously wrong, and also the left hand does nothing at all to affect the sax. it gets completely overridden by the right.
the more i think about it the more i think I need to constrain at least one hand to the sax instead of the sax to the hand to get the results i want
so would i add contact recievers to the hands, which trigger a parameter which triggers an animation that enables the aim constraint?
but yeah the more i think about it there's no way to prevent clipping and the like and make it look good by trying to constrain the sax at three points. i think i need to connect the hands to the sax instead
so that the hands stay in place regardless of where the user's real hands are
that or let it leave the mouth i guess
so i think i need to rexamine this ironically
Ohh this is super annoying but you might have to set your inspector to debug mode after locking the constraint, then manually adjust the offset values
That's the only way I've been able to figure out how to get offsets to be based on anything other than the pose they were locked in
I would let it leave the hands rather than the mouth if you're going to try and constrain it to 3 points.
So it's like halfway between the hands and it's on you to just not have your hands super far away from the sax
this is so much more difficult than it has any right being lmao
okay so i have to detach the humanoid arm bones from my model so they stop affecting the arms and then constrain the hands onto the sax, right? how do i even start that?
you don't detach bones, probably instead you take over control of the arms with VRC Animator Tracking Control
(also probably this should be in the Gesture layer)
to be clear i don't need the hands to ever track. the avatar can permanently be in sax playing pose because we will only use it to film sax playing. so it doesn't need a toggle or gesture or other way of enabling it
ahhhhhahahahaha YESSSSSS
https://youtu.be/Eqd6-XNRmiY
still needs some minor tweaks to stop the hands clipping so much but the basic functionality is there!
anything i can add to help sell the effect? to reduce clipping or help the hands lock into the right shape or whatever?
Hey everyone! Im making a character with a large braid that id like to be able to pose or pin to the character's torso in different ways.
The ideal is different poses (over shoulder, on back, raised slightly for clothing) but still interactable by other players/has physbones. Im not sure what to start googling to set this up 😭
Its my first time making an avatar but im very familiar with rigging/unity for games
depending on how long the braid is and where its positioned on the head you could just add phybones and manually set it every time by grabbing it and locking it in place
I would just animate the bones, make sure "is animated" is checked, and then potentially animate limit settings based on the position in order to avoid clipping
Oh! So it is possible in-game to grab and lock it in place? I haven't played around with interactables so wasn't sure if you could grab and pose something in place.
The braid is one long braid from the top center of the head going down to the shoulders! Neck down will have physics.
I wanted the person to be able to pose it any way they wanted to after I gave them the file in case they got different outfits or something
grabbing and locking in place is a toggle-able setting in the phybone component only downside is you'd need to reset the position every time you enter a new instance iirc
Gotcha gotcha, I'll just make two version one with and one without in case it starts to get annoying haha.
Do you know what that the name of the toggleable setting is by chance? If not I'll probably come across it when tinkering 👍
Thanks for the help everyone!
Posing
You can set it to true or false, but you can also individually change it for remote/local
So for example you can pose it but other people cant
You have to have grabbing on and have a non-zero radius for posing to work
Sweet, thanks so much!
anyone else been noticing this lately, I could swear it wasnt an issue before https://feedback.vrchat.com/avatar-30/p/physbones-jitter-at-high-movement-speeds-even-if-immobile-is-1
I need help with something. Im trying to make a pet drone for my avatar and I thought of using Physbones to make it follow my character with a delay. But for some reason, the bone isn't stretching at all. Any clue of whats the problem?
yeah you have the physbone setup to not move the drone, why?
you have an endpoint + ignore transform
oh maybe you weren't aware of how physbone stretch works? it does not use scale, it uses transforms, meaning you have to have the part that you want to move parented/on/weighted to the transform after the one that will "stretch"
so instead of actually stretching the bones, it just moves them further away
just set endpoint to 0 and remove ignore transforms
I have a contact reciever that works, but it doesnt set the parameter.
theres no errors in the console
its not on an avatar because im making an asset if that matters
Can parent constraints work on a bone?
Suppose I have an additional bone on the palm of the hand to control a prop skinned to that bone. Can that bone then have a parent constraint to make the prop go from your hand to your, say, your hip?
yes, you can have props as a part of your main mesh.
Hi, im not exactly sure if this fits here but, i have a hoodie, with a few designs, im hoping to be able to use ingame avatar menu, the Wheel one, to be able to change the Hoodie design. Will i have to have 2 Hooodie FBXs with their own textures and toggle between the 2 or is there away to have 1 FBX and toggle between 2 or more textures?
#avatar-help message and thats not dynamics
someone please help me
would this be considered dynamics? just incase i’ll repost here
i have a world constraint/pet cage asset i’m using on an avatar. i added plushies to the inside to customize the asset. but i notice the phys bones move with the swivel of my head, even after using the ‘place’ feature that makes the world constraint stay still. the phys bones aren’t interactable and move when i move my head. is there a way to fix it?
i made sure to attach plushie armature to the correct armature for the cage, where the cage blanket/plushie is attached (i tested by moving bones)
Can you provide a pic that explains what moving your head has to do with a plushie?
not sure I'm grasping what's going on here
when the cage spawns in it moves with my avatar, but there’s a “place” option on the world constraint menu to place the item in the world, world drop
but after ‘placing’ the asset in the world, the phys bones move with any single turn of my head as if it’s still being whipped around, but it’s not, it’s placed in the world
why would they move with your head though?
i’m not sure, i can open the project when i can get home but the asset is this https://jinxxy.com/VioletPuppy/comfy_pet_cage
i’ll be home in a couple min
something with the asset is relating to the head i’m not sure what
the avatar's root object position and rotation are linked directly to the head position and rotation.
root object position is (unless jumping) on the floor directly below the head bone.
the root object also rotates with the head bone around the vertical axis(but not the other axes)
physbones are currently evaluated before VRChat's Constraints. This means if you rotate your head the cage will be moved with the root object, then physbones evaluate, then the cage is moved back into place by the constraint.
this means the physbones will pick up velocities from the root object (or whatever non-constrained game object they are attached to)
is there any possible way to make it so i could interact with that asset, play with the toys/plushies i put in there without the phys bones going buck wild anytime i turn my head?
currently, no, there is no way for a user or asset creator to fix the issue.
I think I remember something in the Canny about changing the evaluation order of constraints and physbones, but I don't remember if there was any comment about that from the VRChat team. But only they can fix this issue currently.
ahh okay, thank you!
I mean, you can avoid the issue by disabling the physbones while the constraints are holding the object in position, but that might not be desirable, depending on what the object is
why is this levitating away from where i want it to be
most of them are doing this :(
I need help with contact receivers. I set them up using Rafa's Basic Dynamics (Boop, Headpat, Kiss, etc.) and they were working just fine on previous versions of my avatar, but something apparently broke them and I haven't been able to make them work ever since. I can see the contacts on my avatar, but other players report not seeing them at all.
haven't seen this prefab... by "see the contacts on my avatar" when do you mean, in game with the avatar overlay?
Yes, with the overlay
if others can't see them then you probably have them marked as local only
or you don't allow contact from those people
Is that a shield setting? Because my friends all have max permission
yeah it's in there somewhere, I forget exactly where as I leave it on
I can't test my own contacts since I'm on desktop so no arms
but like, I tested another avatar with the same contacts and they're still working
I can show how my stuff is set up, if that is of any help
of course!
"Local only"
If you use that then the parameter isn't synced, you'd have to have it in the avatar parameters list and also synced. Uncheck that, it should just work
huh you're using a parameter driver too? that seems overly complicated
It probably is overcomplicating it, so my apologies
sometimes that's how it goes, you over-complicate as you work things out and then simplify
the closest I got to figuring out what might be happening is when I set up the layers to only have "Boop OFF" and "Boop ON", but that turned out to only make it so that the animation plays once when you activate the toggle
so it didn't even act as a contact receiver... just a boop button
hmm probably just a logic issue, I'd have it only leave the "Boop ON" state when the contact is false, and with a little exit time so it doesn't immediately re-trigger
What conditions would I use for that?
just the contact's parameter = false
also should I change the receiver type to "On Enter" instead of Constant?
seems to make more sense to me
If you want it to only trigger on enter, sure.
it is for a nose boop, so I suppose it'd make sense
I usually have mine constant, so the expression is held while the contact is active
I'll try testing things out and see what works, then I'll return here in case I can't figure it out
I'm trying to figure out how to make this tail have some inertia, so if the avatar were to spin, then the tail would continue the motion a bit and then remain in the same position instead of naturally moving back to the original position. How would I go about doing something like that?
idk if this is a better place to ask unity questions, but i'm struggling with figuring this out. ive been wrestling with it for a few hours, and no youtube tutorials really detail how to use particles outside of the literal sense of "shoot things out" or "make a cloud of stuff fall around you"
i'm supposed to be placing 6 of these and having them billboard in place
what are you trying to do exactly?
so i first set what i wanted to do up as a physical mesh, hoping i could just make each piece billboard on its own, but i was redirected to particle systems
i just want these each to always rotate to face the viewer
you would need to use particles for that yes
ok so ya i started changing things to do that, with plans to remove the unneeded meshes, but im struggling with ouw to set up the particle system to be in the positions i want
just set it to mesh then change it to facing
however each piece would need to be its own mesh and particle
if thats how many objects there are
0 speed with a very high emission rate something like 10000 with a max particle count of 1
🫡
simulation space local
actually for uhhhhh whatsit
optimization purposes
since theyre all the same shape, can i just use 1 mesh and rescale each particle system?
technically
but also at the same time since they will always be facing the person you could just make them a png of the thing instead of a mesh
you literally wont see the other half of the mesh anyways
and itll still like follow the rigging i had set up, right?
there wouldnt be any difference because you didnt move the particle system
oh hm
because this is supposed to like. move
i saw you can set the particle system to bones and i imagine that moves it
you can put the particle system on a bone sure
and then it would follow that bone, right?
well it is a child of the bone so yea
because i thiiiiink the problem i was having before was that the sprite was being set at the base of the bone
is there any way to move it off there or do i just need to tweak the bones
it is its own object o you can do whatever with it
i think. i might be too stupid for this
particle speed 0 prevents any from appearing and i still cant move it to where i want it
you have to move the particle system
speed 0 won't prevent a particle from appearing, so it's probably something else
how about maintaining 1 size regardless of distance
and not being seen thru the rest of my model?
omg ok i so i fixed the second issue
🎉 figured em both out
is there a way to make it not look crispy when you zoom out lmao
the outline is manually drawn in because i gave up on trying to figure out mesh particles
Not sure how to help you but I just gotta say the shading on that avatar looks awesome!
thank you i think i nearly put my fist thru my monitor 20 times for it
screams as loud as i physically can
ok gonna rapid-fire a few questions here: 1. the lighting on the particles isnt consistent with the lighting not on the particles, anyway to fix this; 2. any way i can make my arms straight? they're at rest in this screenshot:
also i noticed im slightly in the ground, is my descriptor simply too low?
also also would this orb. happen to be the descriptor lol
its all up in my shit
can someone please help me with this?
Is there a way to keep a bool enabled after touching a contact? I wanna make a door that transforms when walked through
This document is written with the assumption that you know a bit about /Documentation/Manual/class-AnimatorController.html">Unity Animators.
@hidden thicket it wont set param by itself, it doesnt know where, animator should be a part of avatar layers and you need to run gesture manager/av3emu to see it in editor
Im trying to make a prefab not an avatar.
well it still wont work untill properly applied to an avatar
make it as a part of an avi, then strip down to prefab itself, then apply again and see if it still works
Sure, use VRC avatar parameter driver to turn a second variable true when the contact is activated, then just don't turn it off
I'll give this a try, still not the best at unity. X)
Tried doing this but it didnt work so trying to figure what I did wrong.
yeah something like that. but of course I can't see any of the rest of your logic here.
Im trying to have it where my models chest hits the gate it enabled the bool and transforms. And I use a 2nd toggle to open a gate again to turn back.
hello !! im fighting for my life
im trying to set up 2d eye movement using contacts and i've managed to get the vertical eye movement working, but the horizontal movement just kind of jitters
i'm pretty sure it is 100% an issue with the way im setting up the contacts, i triple checked to be sure that it wasnt the animations causing the issue. im assuming im positioning it wrong although i dont know how exactly? i used references from other avatars using the same/a similar system
if anyone who knows how to setup the 2d eye stuff (or just ANYTHING about contacts cause i may be a noob) could help me itd be greatly appreciated !! ive only used contacts like twice before this
reposting this from #avatar-help since i feel like itd be easier to get help here since its an issue specific to avatar dynamics sdfghedfg
if i need to include anything more pls do tell 
what is your contacts setup, i see just two and they dont look like youre going for x/y coords via proximity
Is it possible to change the parameters of physbones during runtime?
Like, change the size of the collision box or disable collision?
only if you turn them off first
Even when I just want to change the parameters?
yeah you can't edit them while they're active
i tried to do something similar to this tweet here but honestly i wouldnt be surprised if i was doing it completely wrong. i also tried the one in the thread where its 4 recievers instead of 2 but the eyes wouldnt even move to the side slightly 😓
if i recall correctly i was using proximity but i dont have unity open at the very moment
https://x.com/Zarniwoop/status/1595843554601062400
@Mysticwaffle032 I'm afraid it's very technical! Unsure about your unity knowledge
I have a sender on the eyebone and two proximity receivers on the headbone, through careful positioning I can get a X and Y float value so I can get where the eye is looking into my FX controller and animate it /1
i know little to nothing abt contacts so like i said, wouldnt be surprised if i did it completely wrong LOL
i was also using a blend tree with it so that could be part of the issue maybe ?
i couldnt really find proper tutorials for this outside of the one with the robo cat, but even then that tutorial wasnt very coherent i couldnt understand it 🧍♂️
place sender on eyebone. place and scale proximity receivers so they cover x/y axes, ie x receiver reports 0.5 on forward look (bone rotstion), 0 on look left 1 on right. same for vertical. then blendtree
where 0.5, 0.5 is look forward
their preview is feeling wrong probly cause their eyebone located not where eye is
receiver-sender-reciever should form right angle
ill try that out !!
for the blend tree, is it best to just have the basic up, down, left, right, and idle? i saw some people having a bunch like bottom left, top right, etc but i feel like thats redundant
technically even 4 directions should be enough
hows x+y ends up as 4. you can but why
wait a sec, your eye movement is just should be flat?
i thought were talking picking proper frames from spritesheet etc
if you just need flat eyes make eyebone quite long with origin way behind head and tiny angles and radial movement wont be noticeable
i tried this and it looked very very wonky which is why i was trying out a different way for 2d eye movement
sorry i was just a little confused lol
i think i understand what youre saying though
do these numbers look right or should i tweak it?
im used to doing it like 1, -1 for the values so im not sure what im doing lol
everything seems to work but im pretty sure i got the values here a bit wrong since shes constantly looking down
can anyone tell me why my tail doesn't have gravity? (the dress has the same floor collider as the tail)
This might be better addressed in this channel?
Okay...so!...Question: I am not sure how to go from finished animation to in-game animation I can toggle.
I've put it in the gesture layer, defined parameters, defined a menu to toggle that parameter. Parameter does indeed toggle on/off based on debug information, and the controller does change states. But for reasons I don't know, the animation just...doesn't play.
For the life of me I can't figure out why it isn't playing the animation and its giving me a headache.
A tail wag
Its just meant to be an on/off toggle, but I can't seem to get all of that working.
you forgor to check IsAnimated on physbone
tested in unity with gesturemanager/av3emu? uploads been kinda broken few hours ago, maybe still. otherwise show animator setup
Mhm, the gesturemanager is how I know about the param/state changes
^The animator
I guess I'll settle back here, I dunno where else to head off to.
Lemme see if I have the steps right for creating an animation.
Step 1: create the animation clip
Step 2: create parameter (bool) to enable/disable animation
Step 3: Head to gesture-controller and add a new layer for that animation
Step 4: Set layer weight to 1
Step 5: Insert animation state and empty state
Step 6: Create transitions based on whether the enable boolean is true or false.
Step 7: Create expression menu, add a button (toggle type) and set the parameter to enable boolean
Step 8: Insert Expression menu and expression parameters into their spots in the VRC avatar descriptor
Step 9: Replace gesture controller of the VRC avatar descriptor with your custom gesture controller.
Step 10: Upload and profit