#avatar-dynamics
1 messages · Page 5 of 1
its more than one thing just once i did one thing everything got messed up
okay'
Its something you can universally toggle
Yeah just make sure it's not disabled in the action menu
The facial expressions change but the hands are just stuck
I'm new to unity and all this stuff so where would I find it?
Kind of an old example but its in game
Shouldnt be a unity issue at all
Make sure the hand icon isnt crossed out
Pic kinda sucks cuz i took it from a YouTube video ahah
Yeah, let me know if thats the issue
Oki thanks
Usually thats what it is for me ^^;
Nope it was on
It's like a claw hand and I moves slightly but nothing more
here is a picture example of an fx layer
Heyoo, currently trying to add clothing through unity onto a model bc I didn't want to go through blender. The chest physbones that are already there don't work as soon as I start attaching the clothing amatures to it. I'm just trying to get the chest and clothing to move together-
Is there some sort of bug where a physbone marked with IsAnimated still doesn't animate...?
The physbone will move for the chest but won't move with the shirt-
I need help. This avatar can't touch physbones or contacts anymore
I don't know why
Before my update it works
The new version dosn't work
Fixed it somehow
Is it possible to use a Physbone contact to control a blendshape animation by pulling it in a specific direction? or is that something exclusive to bone based animations?
you can limit the angle of a physbone so it only stretches along a single axis
just do an angle limiter at 0
i know that, but im asking could i use a physbone contact to control a blendshape, no actual bones involved
oh, contacts don't get pulled, so I'm not sure what you'd mean there
but a contact could drive an animation if it's on or off, or you could use the proximity value in a blendtree
are you talking about a physbone or are you talking about a contact? Those are two separate things.
A physbone can be pulled, but cannot detect touching
A contact can detect touches, but cannot be pulled
^
in that case, i may just stick with a gesture activated anim, seeing as neither physbones nor contacts can accomplish what i'd like to go for, but thanks for the help, nevertheless!
Pulling something (a physbone) in a specific direction is totally doable
You don't need an actual bone either.
Does anyone know why contact receivers are sometimes not working? If debugging with the gesture manager you can click the contacts and see it switching from 0 to 1 (with constant). But some contacts just dont turn to 1 although you can see with the gesture manager, that I'm triggering them.
They used to work without a problem...currently running on the latest packages but ill try an older SDK version.
well yeah Gesture Manager 3.8.2 and VRChat SDK 3.1.11 testing some receivers doesnt do anything- it also doesnt work when uploading the avatar. Ingame the receiver is visible and it registers input, but it doesnt do anything. My other avatars with the same item from a different version work tho.
The debug claims its turning to true but the animationsstate never transitions from one animation to the supposed other one
then its animator issue? add typical toggle and test with it as parameter
Okay i changed the parameter name in the animator but not of the contact receivers
kinda assument the receiver would still switch from 0 to 1 because it shows thats its triggered but it wont, if it doesnt have a corresponding bool to toggle 
but did animation worked with radial menu toggle?
it was just a bool so havent used them
if you go into more detail about what you specifically want i could try and help! ive used physbones to detect neck angles, head angles, head tilt, etc
anyone know where I can download the Avatar 3.0 PVP Weapon Set
where in the world do I make animations I am replacing the among us follower with a sheer heart attack model that I have and track animations for in blender but I don't know how to bring them into unity to replace the run animation for the among us follower?
Solved
So, anyone know how to make a physbone pull toggle? I wanna remake a anime scene from an anime called "rosario of a vampire" where this girl has a cross collar on her, and if you pull off the cross from the collar she changed into a full blood vampire, anyone know how i could recreate that with physbones?
i already have the cross implemented with physbones if that helps
Yeah, make either that bone or a new physbone on an empty object be grabbable and stretchable, then trigger your animation when the stretched value gets to some limit you set
hmm I think I have a video, one moment
ah here it is, it's age-locked though: https://twitter.com/LynTheYeen/status/1600535347489918977
I respect you
Old anime which is extremely good
If you are making the vampire though I’d like to get it if its public
could make a public version this is what she looks like with the "rosario"
Looks pretty good
it is meant to be "mine" but could make a public with a normal eye texture
If you make the you know the girl from the anime With the cross and stuff I could possibly try and help with adding its own kill particles
kill particles???
could be fun. My plan is to make her eyes go blood red, her lipstick to go brighter red than it is. making it look like blood is going down the sides of her mouth with a dissolve, and make her hair white
Sounds interesting well I wish you luck on it
Kill particles are fun tbh, Running around with melee is fun as hell
Is it possible to test physbone’s “World (Experimental)” immobile type in editor?
guess what
does the same if you pull enough on the cross
Looks pretty good
yea, just made it a toggle in unity cause otherwise the blackhole swallows the camera and you can see her swap
Me watching a blackhole suck everyone into it
true
It look’s pretty good
I wonder if I could find the model of the vampire from the anime
maybe
Would it be possible to control the player locomotion with certain toggles? Like for example make a person walk when something is toggled on.
@pastel token you can control player's movement via osc. So for personal use - yes. https://docs.vrchat.com/docs/osc-as-input-controller
OSC as Input ControllerWe support a lot of different controllers in VRChat - keyboard + mouse, gamepad, a plethora of VR trackers, etc. We're opening up that further by enabling you to control most of the inputs over OSC as well! With this, you could create a program to control VRChat with your head...
thank you 🙏
hello! i am in need of help! im trying to make a grabbable object on an avatar im making, it works but only for a short amount of time. it seems like the grab only works if my hand stays inside the contact sphere making the item go back does anyone know how i can fix this?
is there a limit to the size of a contact sender and reciever
yes you can see it if you try to make it very large (3 radius~)
yeah i was gonna try to make it so that i have 2 avatars where one can toggle something to change on both models but because the range is very small i cant
If you really wanted, you could set up a grid of multiple large contacts that are spaced out to cover a large area (all with the same tags)
please dont
so an array of contacts
make a 3d area
comprised of contact spheres
yeah. Its pretty jank and I dont like it - but if you just care about achieving the effect that would probably get you there
How would you determine if a hand is moving beyond a certain speed?
I have a knife that I want to do different things depending on how fast the hand holding it is moving when a gesture is released (throw vs flip back to regular grip), but I'm not sure how to work out how to do the speed thing
Local or global speed works, but local would be better
I have a spring component with this on right now, using a proximity collider to the hand, it should be scalable by using changing the threshold value,
it's the best i've got with my knowledge but there's gotta be a better way than this, right?
VRC contacts have a Min Velocity field that lets you check if a sender is above a speed threshold. Stack these for every bump you would like.
For example, Moving slowly will only trigger a Constant contact point and play that animation. Where moving fast will trigger both and play a different animation.
is that speed of the contact sender relative to the contact receiver or speed of the contact sender relative to the avatar/world?
Should be sender to relative
Also, that's only for on-enter, but i would need it to be constant for this as it would only trigger for 1 frame
Could always do a threshold check with Parameter Driver
Wouldn't that require a max-speed that can toggle the parameter off?
Does depend on how long you need an object to be at speed I guess
well, it's for throwing a knife, so whenever the hand is moving above a set velocity i need opening the hand to trigger the throwing state instead of returning to the standard grip state
So what about a Physbone and a Proximity contact?
thats basically what i'm doing with the spring joint and it works well enough i guess?
wont what?
I am trying to do a hair length toggle but in game when I have the hair short it stretches. I made the blendshape in blender... but was I supposed to do it with the bones in unity instead?
or is there some way I can stop the hair from stretching whenever I move?
@torn tendon its weightpainted to multiple bones, blendshapes other then shrink-expand are bound to be a mess with this. you can try to scale some bones down, but it depends on hairstyle/bone structure
so what you are saying is I would need to remake the blendshape toggles using the bones in unity?
cause Ive done bone blendshape toggles in unity before to make tails move and stuff
im saying using blendshapes for dynamic hair is not a way to go.
how are moving tail and blendshapes related?
cause they are the same thing
make my tails move with my hand gestures
with blendshapes? what?
bone blendshapes
bone transforms
same way you do facial expressions
theres no such thing as bone blendshapes. and bone transforms is completely different from blendshapes
so get your terminology straight
Anyone have a video explaining how i can make a contact receiver do something depending on how much of the contact sender is in it?
If that makes sense.
Like if it's barely touching the contact it does x and if it fully overlapping the contact it does y ?
Like for example touching someone's nose. The closer I get to their nose the more their eyes close
You'd probably want to use the proximity setting instead of continuous
what is a good way to make something like a lollipop move while in the mouth while talking?
Easiest way is to merge it with the body and give it visemes. If you have a grab it out of the mouth system, just have two lollipops overlapping and shrinkhide the viseme one and unshrinkhide the non viseme one. A few shapekeys yeah
Not unless your mouth moves with bones then adding it to the shapekeys is the only way to go
Anyone know of a way to get a third eye to look and blink in sync with the normal left or right eyes?
include it with the blinking shape key and the looking movement can be copied with a constraint
I could try merging it into the normal blink, I was just hoping for an easier way. I didn't think of using a constraint for the eye movement though.
But also, if i do make it blink with the exact same shape key, it might cause problems later if I wanted to leave specifically the third eye open, while the other two still blinked as normal.
could make it a separate key but matches the movement then
YO TOBIAS HERE! im just loofor some new acquaintance’s on pc to chill with while i do my process
Using a rotation constraint seems to give the desired effect for the eye look. I somehow broke the Left and Right Eyes the first time I tried, but reloading the project fixed it, so I think it's probably OK? But I'm not sure how to make a blendshape match another blendshape in the same way for the blinking.
Prob the most performant way to get the eye to follow would be to weight paint it 50% for right 50% for left.
Yeah, that's what I ended up doing. There's also a slight offset to account for the physical distance between it and the normal eyes.
Also, adding the blink blend shape to all eyes would not be that bad, as you can add individual blend shapes for each eye, then just force control over them with a Tracking Control state behavour.
I'll probably try doing it that way. Just not sure if it would be a problem later down the line or not. But I suppose that's for me to find out later.
This part of the docs: https://docs.vrchat.com/docs/state-behaviors#animator-tracking-control
May be a useful read incase you wanna know if what you are planning could go wrong.
🚧Unity Knowledge RequiredThis document is written with the assumption that you know a bit about Unity Animators.When you've got a specific state selected in the Animator view, you'll be able to add State Behaviors. They're a bit like components for states. They do different things. Try adding them,...
I have a physbone, it's supposed to trigger an animation when it's pulled down, but when I pull down on it, the float (x_Stretch) changes on the physbone, but the float doesn't change in the FX layer parameters
double check the capitalization and spelling. Also make sure that parameter isn't being driven by something else
those are all fine
can you post pictures?
yea
one sec
the physbone is invisible
and the blindpull_Stretch parameter in the FX is a float parameter
ah, you're looking in the animator asset, rather than the animator running on the avatar. It's a bit confusing, but the animator asset is basically just the static non-running version, and you need to select a gameobject that the animator is on in order to see it actually running. You can tell that you have it correct if you see a blue progress bar underneath the current state.
yeah, if you want to preview it in unity you need to put it in the animator controller component, not just the avatar descriptor layers
it'll still work in vrchat without that though
i just tried that and it's doing the same thing
probably need to set it before going into play mode
ok one sec
thx for help btw i appreciate it bunches
that worked
yeah just had to put it in before the play mode
thanks broly

Do Particle Collision layers trigger Contact Receivers?
For example, if i have a particle with a collision set to X and have a contact receiver with custom tag X, does it work?
No, they do not
Awh
Any other way of having contacts interact with maybe the player/playerlocal capsule?
I'm trying to make a cool shield effect that activates on particles from other people who have setup player/playerlocal on them
I'm setting up my collision tags with some common weapon tags, but that's just a work around.
most players have a torso, hands, fingers, head, and feet. You could react to those if you want to react to players in general
Do Physbone Colliders hit other peoples' physbones?
Only the built-in colliders defined by the avatar descriptor such as hands and feet collide with other player's physbones
So we cant have the custom physbone colliders collide with other people's?
correct, kinda. You can modify the built-in colliders
Define modify built-in colliders? How can I do that
in the avatar descriptor, there's a dropdown section
For humanoid avatars, right?
yes
Well aware! But not what i'm looking for. Triggering stuff on my avatar when other player particles hit me, is what i'm looking to do.
vrchat contacts are an entirely separate collision system and does not interact with unity collision, either particles or physics
I'm sure, I can make them work together though. I have an idea, just need to try to get it to work.
there are ways to detect a particle on your avatar hitting something else with some incredibly janky methods using stop action, but there is no way to respond to somebody else's particles hitting you
Yeah, exactly, I can use stop action to then spawn a sender which can trigger my contact
did some new update break the physbones? it seems to be well not working as intended. as all ears,tails on and hair on avatar is pointing up even with a fresh install of sdk and physbone component. nvm Seems like the immorbile thing on physbones seems to break everything.
https://booth.pm/en/items/3910550
Is it possible to move the grabable Area be at my neck instead of my hips?
Oh it works.
What does this do? Does it let people drag/move your whole avatar?
yes
Until they let loose.
But your viewpoint won't move with your body
There is a way to make it though if you know how to code it yourself
Saaadly I don't
And as it breaks Avatar Scaling (from Gogoloco) I removed the HipsGrab again.
That looks interesting - do you know basically how it's set up? (Like, does it just use a duplicated armature/a heap of constraints?)
If it somehow works without a method that would impact perf rank I might be interested and having a go at it
Becuase of physics, the clothes clip when in motion. Is there anything I can do about this? The weightpainting on the shirt is identcal to the body
by definition, if the clothes are not moving the same as the body then they are not weight painted the same. The solution is to either weight paint them the same, or remove the inner body mesh in those areas
1 physbone & constrains. Not for quest
is there a good setting physics for hair?
is there a free version for dynamics bone that i can download that is actually safe
because its either £18 or the free version needs me to disable adblocker
"free version" sounds like blatant piracy
well there is a free dynamic bones
but i need to disable adblocker but this is my dads pc and idk how to disable it
thats what it says
then when i click on it
its piracy , not a free asset
outdated for vrchat anyway
you either pay for it or you don't get it
aaand its not linked to my bank account
damn
do i need it to make my avatar function
nope
ok
not needed any more with physbones being a thing
isnt physbones the exact same
i put the sdk into the assets but idk where it is
i feel like i should start over again
it lives here you can add it to any part of you avatar depending on how you want to organise things
Relevant docs
https://docs.vrchat.com/docs/avatar-dynamics
Avatar Dynamics is a new suite of features aimed at creating fun and interesting interactions between avatars. Understandably, these are some powerful features, so there’s a lot to cover here!The two primary features of Avatar Dynamics are PhysBones and Contacts.These features are governed by the Pe...
And to be more clear as it seems youve been given some very wishy washy answers
No you do not use Dynamic bones anymore.
If you have installed with creator companion as it sounds like you have and have rightly done soo. Do not install the sdk as well you will break things.
First avatar?
before omn my attempt like 20 mins ago there was the scene things
second kinda but the first one didnt work and the person was dodgy
sample scene
Did anyone ever give you the docs? https://docs.vrchat.com/docs/creating-your-first-avatar
Requirement: Set up the SDK first!Before getting started, ensure you have a Unity project with the SDK set up.After setting up the SDK, check out our example example avatar. Open your avatar project and go to'VRChat SDK > Samples > Avatar Dynamics Robot Avatar.'The example avatar can help you ...
nope
im sure youtube has alot of tutorials too but most will probs be outdated
I would generally advise not to use the sample scene. Make your own folder in project view and save your own scene to keep everything that's your stuff organised away from all the 3rd party stuff you may end up grabbing. However that noted.
The sample scene normally defaults here.
ok
im lazy to test thoroughly. i used the latest sdk and option to disable self interact for physbone, but it still interacts with my hands. i left grabbing on. is it some bug, is it not implemented serverside yet or am i doing something wrong.
Turn off the box on the physbone that says either collide or collision. It stops your hands from hitting it
I don't know if it stops other people as well I don't think so
thats the whole point, ofc it stops other people from colliding. but now sdk has this and i did like that, doesnt work
Anyone know the best physone settings for a whip?
no this, turn this off
it doesnt disable your physbone colliders you set up below, it just disables your hands from hitting it
Oh I guess not
Well if that option is still there, try it out if you havent already
@prime hemlock i WANT other people to interact with it still and that was the whole point for this change so i expect it to work but it doesnt, so... why?
I think it still lets people grab it though. I will check
how does the "snap to hand" parameter actually work? I want to make a prop that can be grababble via a physbone so other people can grab it, but the prop is only rotating
does the bone need to not be "attatched" to it's parent in the actual avatar model asset?
Snap to hand, just puts the physbone grab point on the hand, vs not having it will keep its offset.
Like so
how would i get something like this to work then
the orange is the rest of the armature of the avatar
"rest of" in an illustritive sense, not a literal one
i want to be able to make a prop (a sword, a stick, a pipe, whatever) that can be grabbed via a physbone in it, that will follow the avatar when not grabbed, but will NOT follow the avatar when grabbed
@mellow hawk (i forgot to send the original message as a reply so oops)
You prob want to just use a prefab, as the way steps to set it up build upon are complex.
https://github.com/ThatFatKidsMom/Avatar-Prop
Tldr of how it works: World constraints reference the world's origin and parent constraint it to that, then in world space you use contact points pairs in the xyz to attach to the local player with feedback loops, then using the offset between the finger on the hands places two contact trackers on that, then uses a physbbone to detect if the remote player has grabbed the object.
ah yeah here's the problem with that. this whole excersize is to try and replace the old system that uses constraints to a quest compatible one
i don't really need it to sit in one place in world btw. i just need it to stay in their hand when they're holding it
the way i explained it kinda implied the former which, oops again
Yeah, the world constraints are basically the foundation of player trackers. and then avatar props build upon that by using two player trackers.
well is there any way to make a physbone detatch from it's parent bone at all once grabbed or no?
I've seen one thing where you can somehow fudge the physbones max stretch in a way to have it stay in place and not come back. But it is not remote sync friendly, as soon as someone toggles the avi off and on, or joins late it resets for them.
well i don't want it to stay in place, i very explicitly want it to come back
i think it'll be a bit easier to explain if i just give the example i've currenty got working on
Its kinda a catch 22 with quest lol
I want to make it so other players can grab this, because as you can tell, it's currently just being done with a seperate record stuck to the hand of the avatar
but it isn't moving at all when i grab it, it's just rotating
i currently have it set to this bone in the avatar
So you don't want it to rotate but be moved?
yeah. i want it to move along with the grab so other people can grab it
Ah.. so this idea.. been a while sense anyone has wanted this lol.
The kinda simple version. You'd need three transforms and two pb scripts like so:
The 1st one moves it to the position, the 2nd one keeps its rotation to the remote player.
it's still not moving even when i made a stretch bone on recordmove_02
You have to make sure you only use endpoints and also ignore any transforms that are children. It can only move the transforms it needs and no others.
wdym only use endpoints
For a physbone to work at all it needs a transform chain of 3+ or endpoint.
Basically for this idea you wanna get rid of auto chain bones and only use endpoints.
i know this is a bit to ask, but would you potentially be able to help walk me through this via a discord call? I still haven't experimented with some of the more "in-depth" functionality that you CAN do with physbones
Yeah the idea of trying to make, grabble props, remove the rotation problems, and have it work for quest is quite a lot lol.
so you don't mind if i call you and stream my unity so you can help walk me through this?
Prob, not tonight because im dead after today's work, but maybe in the future.
alright, that's fine. thanks for the help anyways. I thought that snap to hand worked differently, so i'm going to have to experiment with this in a more isolated environment to get a handle on it
has anyone successfully been able to follow this tutorial and get it to work? https://www.youtube.com/watch?v=Cp0ysawmizM
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 ...
Yeah, I've followed and got it working, will say it is convoluted to say the least.
I tend to simplify the implantation into one layer.
Here's three examples using: on enter, content & gesture, content & gesture & network synced.
#avatar-general message
thank you ill take a look
The convo around that post does explain why it's set up like this.
A good read if you're interested
vrc update is here but the issue is as well. any ideas, anyone got this workin?
guys when someone touch my ears its not moving do i have to upload my avatar dynamicbone instead of physbones?
Make sure that on the physbone you enable collision, set a radius other than 0, and that the person trying to touch has a little yellow hand under their nameplate, indicating they you allow them to touch. If not, one of you needs to set permissions to allow either everybody or that specific person
howdy howdy yall, I got an avatar where when I do a gesture it moves the ear bones down, but when the phys bone is toggled on to make the ears still wavy feeling, the ears just dont go down anymore. I did a test where the phys bone is enabled causes the ears to not go down, but when the phys bone is removed, the ears do go down bur now look stiff. Any fixes?
@peak trout enable IsAnimated for physbone component, otherwise it ignores any animations.
im super confused. I have a switch that turns off the display of the screen at the front of the avi.
Its triggered with a hand or finger trigger
In unity, it works fine, but on vrc it's always triggered
I've checked the colliders, and it's not touching it, i've also deactivated the "allow self" control
i'm the oinly one in the world
How do I make it so every animation I see, everyone sees? I'm using contacts to summon/use weapons and they don't show the same for everyone...
you need to duplicate the keyframe from 0:00 to 0:01.
you should also turn on loop time on the animation. but this might not be needed in practice.
your exit time should be on, same for transition speed (or more) https://docs.vrchat.com/docs/state-behaviors second paragraph. but this doesn't seem neded in practice.
It's a bug of sorts, I guess or poorly documented
Anybody know how to get phybones to collide? I'm trying to get the hair of the avi not go through the body when moving around-
Personally I use angle limits for that stuff since it's easier
Can I turn off movement for child bones when using pysbones?
I think if you add them into the "Ignore" section, it'll turn their movement off. It automatically adds all children of the bones you select to ignore.
Alternatively, you could try messing with the curve of the "Immobile" setting. Make it so that it's 0 for the early bones and then 100 for the later ones.
@wicked lichen I forgot to mention that I still need to keep the collision/grabbable properties of the bone, so turning it off via the ignore wasn't viable
Having trouble getting the immobile setting to do anything, gonna fiddle with it some more
Is there any way to get a cubular collider?
All I see are these options, and I'm wondering if there is a workaround
When making something along the lines of a chain, how should I weight paint?
One bone to each chain link, or is there a different method I should be doing?
I ma slowly loosing my Mind: So I redid a Project with the Companion App. So adding Avatar, Textures etc. This Avatar has a Foot Contact. So if I lift the foot it curls the Toes etc. But.. everything that is now foot related just does not work anymore. The Animation itself works. Did something change with the way how Contacts work?
The Contact is reacting. I can see that when i work in Play Mode. But hell does it not want to do anything xD
So I edited an model that had Weight paint issue. when I brought it back to Unity, I had lost all the phys bone data, is there a way to keep it or am I going to have to input all the settings by hand and test it out until I get the settings right?
That can happen if you add or remove any bones. The easiest way around that is to just not change your bones. But if you expect to be doing that frequently, then you could keep all your physbone components in a separate gameobject that's a child of the model but not part of the FBX, and then use the root bone field to point them to the bones on the model
Huh?
just switch out the mesh...
@agile vale no. make do.
@void harbor never unpack your prefab. when exporting from blender always make sure you have an aramture in the list of the exported objects (depends on your export settings). make backups, all this stuff breaks faster than you think.
if you export mesh only and forgor the armature all stuff is gone. annoying
I imported the FBX, so the Armature went into Blender, when I want to take it out of Blender, do I save it or Export it?
@void harbor uuuuh when exporting fbx you need to make sure you export everything you need and only this. i was talking about replacing the original fbx so if youre not sure just save it as other name, bring to the scene and make sure everything looks the same hierarchy wise
I always make a copy, cause if something gets borked, I still have the main file.
@void harbor wont save you if you replace fbx for unity. it grrstly reduces the workflow forcmaking adjusments in bkender but the risk of forgetting to export somethin also arises and as soon as you forget the armature aaaaaall you placed on bones is gone. wish someone created some failsafe for this
Anyone know by chance how to achive something like this? I know it uses blend shapes but don't know if this's something that the SDK can do normally? Right now i'm working on a charachter with actuall bones on the inside and while weigth painting is helping some parts still have clipping.
Could this be using contacts?
twist bones are a constraint thing, and the flexion thing can be done with an empty on the lower leg reparented to the upper leg (drag and drop so it saves its world location), given a phys bone that has an angle limit of 0, and aim constrained to the ankle. Animate using phys bone_angle. Iirc. its been a while.
I'm doing the muscle flex thing with a second upper leg bone which is painted to a small part of the leg and rotation constrained at about .4 to the lower leg
can physbone colliders be used for grabbing?
you can't grab those and they can't grab, they just tell you part A is touching or near part B
Dang, I was hoping to use them to better shape the grabbable area
capsule isn't exactly the best hitbox for all scenarios
yeah it isn't
is there any way to make physbones only grabbable with one hand? (i.e. only right hand)
ooh good question, I don't think so
yeah doesn't look like there's a way to limit that
Obviously there's the interaction button in vrc itself
huh maybe not
I mean, you can just check the grab and only act if you did it yourself, but it'd still be able to be grabbed by anyone
You COULD setup a contact larger than the physbone which is local only or matches a hand, which enables the bone when it gets the right contact
but now we're getting complicated
you can do that?
Might be worth it. I have one specific thing I'm working on that only makes sense if I grab it
well in an animator you can check grab status after an IsLocal check
and just not act if it's not local
Is there any documentation on that? that sounds perfect
it's a standard animator parameter, should be in the vrchat docs
oh very nice
omg thank you
Need a bit of help, for some reason the Right suspender wont go up in radius unlike the left suspender. They both have the same values in radius and forces :/
Maybe try defining the root transform?
I need some advice
I have an object parented to my hand that I want to be able to drop or throw into worldspace
I have no clue how to go about that
any ideas on where to start?
The object has physbones on it too, which I'd like to maintain after dropping
use vrlabs WorldConstraint to drop objects in the world (pc only), use immobile Movement (or whatever is not All) 1 to make it not jiggle everytime you move https://github.com/VRLabs/World-Constraint
on quest - youre just not
I've gotten that far so far
When I open my hand, it gets de-parent-constrained from my hand (it's already in world space)
the part I'm having trouble is making it drop to the floor
My friend is having the issue where their phys bones moves the wrong way or opposite way, for example you're moving right but your ears move right too instead of swaying left. I fixed this before but I forgot how now if anyone knows.
trying to set up a phys contact where I can grab a knife from my leg holster
im pretty sure I have it down but I'm wondering how people make it so it wont grab unless triggered to be grabbed like a world object
like making a fist around it wont trigger it but actually grabbing it (like pressing the trigger on an oculus controller) triggers it
(im so sorry if the explanation makes no sense)
This may be useful #avatar-general message
The video below that post also kinda explains the different ways to set it up
ohh betbet! tysm!!
Hihi, im new and stuck on importing a model. im using VRCHATSDK and i keep getting a FileNotFoundException
If anyone is willing to help ill be so grateful
Hi I have a bunch of chain links
All separate along with bone armature for each part
How do I go about connecting/parenting all this?
Well I wanna make sure the physbones on the chain act fluidly
What I meant was I added a bone to each chain, and each chain is separate from one another
Yeah you more or less want the root bone to connect to the next link down, for each bone in the chain.
So, in you're case, you prob want the handle as the root and each bone after that parented to the one below it.
You can usually start with one bone, then in edit mode extrude each additional one so they are all in the same armature. Regardless, you can select all of the individual armatures, make sure the base one is the last you you select, and you can hit Ctrl + J to join them into one. You will likely have to manually parent them in the right order though.
Also, about a 50/50 chance it will crash when you join armatures in my experience, so make sure you save first, and if it fails just try again.
Ah okay
so I created a blinking/idle facial animation for more realistic facial expressions, I know there is a way to add dynamic expressions in unity. I have it on a booth model that I purchased and was hoping to use that as a reference for set up but I realized it's all in Japanese and my efforts to translate have been useless. Would someone be able to point me to a link or walk me through how to set that up?
That one is probably a better question for another channel, this is for avatar dynamics. Although it sounds like you just want to utilize an animation you've already made? You can pop it in a layer on your FX controller, and whenever one of your other FX layers wants to do a specific facial animation you can temporarily reduce the weight of the idle one (there are many ways to achieve the same effect)
Do you know what channel that would be?
It goes in the fx somewhere but I think I’ll have to disable to current left and right facial expressions and create a tree with them all so they don’t interfere? I’m not sure
@bright cloud easiest would be to just track both hands and disable blinking when expression is inapropriate so like blinking - (if GestureLeft>0 or GestureRight =1 or 3) - idle. Or smth like that
Yep if your idle is just simply blinking that would be a simple way to set it up
Okay so I am having an issue with a constraint, I have it to where when I grab the prop it goes to my hand but when i grab the prop off of my hip it indeed goes to my hand FOR ME but for other people its on MY HIP and when i go to put it on my hip FOR ME it goes in my hand for other people
Anyone know how to fix this?
Ah, bi-state toggle sync. Should look at this post here #avatar-general message
The convo above explains what is going on.
okay I have watched it would it be alright to show you a short video of how mine is working and see if we could find the issue?
this is the video
also @mellow hawk sorry this is my first time messing with dynamics so i am not the best at it lol
Ah, the Sippbox version, it works but it is very convoluted in the way it works. I normally just simplify it into one layer.
Anyway, is your contact point Content or OnEnter?
Also is Prop in the synced prams list
how would I check that? and I am not sure where to check the synced param either
yes it works for me but for other people it isnt synced right
On the root of the Avatar where your avatar descriptor is. You should see a tab that has two options. Menu, and parameters. Under that prams tab, you have an object in there for the ones your avi is using.
Open that object and look to see if Prop is added, and synced is enabled.
Did you have that before or did you just add it?
i had it before
So it should be syncing up then... Weird
is this supposed to be checked in the animator?
The animator will often figure out what it needs when you load the avi
No that's unities sync not vrc
heres this
it is set to constant
as i dont have gestures
besides the default ones which i cant find cuz im new to 3.0
That would probably only make it flicker when you grab it but won't break sync
people have told me that its on my hip default, i go to grab it and its still on hip for them and then i put it on hip for me and its in hand for them
so like before i grab it its fine
but it breaks when i grab it
You could try to use av3 emulator to debug it. Just start up av3, move the prop to your hand, then spawn a remote player. And see what it looks like.
If it was me I would just use a different system all together.
anyone know if it's possible to pin the end of a chain of dynamic bones in place so that the rest of the chain IK to the end-point?
I want to make my avi's tail (a 3.5mm jack) able to plug into something and have the end of the tail track to that object while the rest of the avi can still wonder around
world parent constraint (pc) end of chain it will stay there
quick test one, might be abit annoying to have it right where you want it
When i try this, the rest of the bones in the tail try to return to their normal position, while there's massive stretching on the last bone
(changing max stretch doesn't seem to do anyting btw)
Uhhh, where does one get that?
👍
it seems to show the same behaviour in your demo actually looking at it, are you on the beta?
yeh but i didnt really do much other then see if i could make it stay in world , how to mass change physbone >
cool cool... this has broken everything :)
older scripts like av3/gesture ect wont work in beta ect
Yeah, i'm figuring that one out the painful way xD
you can just switch back to 3.1.13 it should behave, or wait for open beta to release - probably another open beta update first
hadn't updated my projects in a while so everything's acting out now, gotta get that all sorted but it looks like the beta will be a no-go as it seems to bugger with something in Poyomi's
one im testing it with using poi 8.1.163
had to yeet the av3 emulator but that was about the only script, dont really use much
it was throwing up some error about the TPS setup script. Probably because i have Poi pro on this?
got things back up and running.
Seems like parenting a dynamic bone to something doesn't make the rest of the chain IK towards it, they just kinda do their thing and ignore it while the last bone gets stretched to hell and back.
It's 10:30am here so I really gotta sleep but if anyone has any idea how to do this, please ping me
i dont think physbone would recognize parent constraint as a grab. so with this you just force the position on the last bone and only this bone would be affected regardless of having physbone component on the chain
maybe some spring joint?
I'm stumped, I can't figure out why my physbones won't stretch/squish even though their value is set to something other than 0 and even though grabbing them and moving them in the editor shows they are being affected.
they rotate and move on an angle/hinge/polar perfectly fine too.
can you make a video?
and pic of settings
Yeah, give me a few minutes i'll try to record one
That's the only methods I know how to conveniently test these outside VRChat itself, hope it'll help
It didn't embed, lemme see if i can fix that
mines doing the same, mesh isnt changing at all
its happening to me too
the physbone is gizmo is moving but the bone itself is not changing
huh, you're not giving it very much squish. It looks like it's working, it just hits the limit that you have set very quickly because the limit is very low
mine isnt doing it with squish all the way up
if you see the gizmo moving but the mesh underneath is not squishing, then it could be that the mesh is only weighted to the base bone. In order to make use of this feature, the mesh needs to be weighted to the thing that is actually being squished - the child bone
ohh i see
so if nothing is weighted to the child bone, it does nothing
try limiting the angle to zero in order to make it easier to squish and to see the effects of weighting more directly
This was it!
I created only a single Root physbone, then gave it a child (So as to not need to use endpoints or leaf bones) the root physbone was the only one weight painted, while the child was not, after transferring weights from the root physbone to the child the problem was solved
I didn't think this would cause problems, I guess I'll just have to start weightpainting childbones too
Is there a way to have something on an avatar get triggered when a particle hits it? For example can I make a particle hit a contact receiver or collider that changes a parameter in the animator?
Heyo, im having a weird issue with some physbones where the _Angle keeps jittering weirdly. Switching between 0.03 and 0.13 even though its suposed to stay just at 0.00 when not grabbed by anyone. Here is how i have the component set up if anyone knows what is happening.
Stop action particles/particle drivers were what was used before contacts existed. They can’t collide with vrc’s contacts but do work with colliders.
Thank you, I'll look into those
@primal haven it do be like this sometimes, probably theres even bug report for it. since bone itself behaves normally i ended up placing contact sender at the end of the bone and proximity reciever outside to get something close.
i managed to get it to be a bit more stable by just copy pasting a previus bone that i was using previusly for somthing else which seems to have somewhat worked
but still very very weird
Can someone explain this error to me?
Because I do not have that many physbones.
I count 6.
And this avatar is based on another avatar with even more physbones where this error is non-existent.
this is not referring to physbones, it's referring to normal bones on the avatar
AKA transforms
This avatar has only +2 more than the base avatar though, which lacks this error.
Which still makes no sense to me.
could be a bunch of unnecessary leaf bones added on accident
they gotta exist somewhere, look for them
Nope.
I think maybe its because I copied the rig from another model on the FBX import? VRC SDK was complaining about missing bones even though they were clearly mapped in Unity, so I just copied from the other avatar.
yeah that might be it. It's not so easy to copy rigs around, you may have broken things
Really? It's an option in the FBX import to "Copy from another model", and the armatures are identical.
can't say I've used that option
Yeah IDK what's going on with the SDK because I when I base it on the model on import, VRC SDK does this:
I mean, that's pretty straightforward... you need to map those things
IDK about you but:
They look mapped to me.
That's kinda my point I was trying to get at; When I copy the rig from the other model, it "works" but seems to count every bone twice.
When I base it on the variant FBX model's, and map the bones, SDK says they are not mapped.
Idk, I'm not familiar enough with unity humanoid mapping issues to go through every possible thing that could go wrong. It's complex
In animator component, remove the avatar slot and reassign it again
I tried that.
What I ended up doing is using the "Copy From Other Avatar" import setting, and removing a couple bones to get rid of the too many bones warning.
Not great; means if I fundamentally change the base avatar the rig will break; but this is for a fallback so Im not worried about updating it much.
I did find other people with similar issues from as far back as last year but no clear fixes.
Hmmm that seems weird too.
its not an error, just a tip to improve performance
Make sure that you have the same bones hierarchy in the scene as you had in rig mapping menu. Don't change or move any bone
This is for a fallback avatar.
I do.
Weirdly enough, When I drag the FBX into the scene, and add the VRC Avatar Descriptor: It works.
When I configure the descriptor, it breaks.
It's like there's a bug in the VRC Avatar Descriptor.
Did you unpack avatar prefab?
No. I use prefab variants so any changes to the armature or mesh don't break the model in Unity.
Something I've done with 0 issue on 2 other avatars.
(Whenever you change the armature or mesh in any way in Blender, Unity will trash the model, requiring it to be rebuilt. Which is time consuming.)
Does the prefab variant derived from fbx file or original prefab?
oH!
is there any props on the avatar?
anything else that could possibly be rigged?
Nope
Yeah its the prefab varianting
The moment I make it into a prefab variant, it complains about there being unmapped bones.
Which is weird because I do this with 2 other models.
One of which this model is based on.
But for whatever reason the SDK loses something in the process.
In fact, it breaks copies of itself too that are not variants.
This is terribly strange.
(It shouldn't even touch other game objects, in theory.)
Unity's automapper also has issues with the model which is strange.
I have to manually map the lower half.
Trying to do skirt physics
How come on Unity it shows like one bone per side and 2 on blender
blender
Within the phys bone script, edit the endpoint position Y value
to something more than zero
should create another bone
thanks
Bonus Tip: Play around with Angle Limits with the Pitch, Roll, and Yaw values. By using this, you can really control how your Skirt behaves without needing many Colliders.
I always forget what axis need to face out for angle limits to work right lol
What specifically with hair?
If it's clipping issues with the head, you could use angle constraints to minimize that.
im wondering how i can stretch stuff
like pull it far
and how i change size of the physbones
By size, do you mean the bone itself or the collider?
the collider
no
the bone
or no
the collider
yes
collider
the little wire bean
The PhysBone component has a radius option for the collider. It's 0 by default.
yeah but like
how do i make it bigger at the bottom and stuff
here
or if i can change the shape
That's when we get into curves! There's a "C" next next to the slider. If you click it, you can adjust how the shape changes along the bone chain.
okay yes
Well, by "shape" I mean "size". You sadly can't have rectangular collision.
That depends. Is the endpoint a bone or created by the physbone component?
i dont know
If the endpoint is a bone, you'll have to manually move it into the desired location. If it's created by the physbone component, you'll have to adjust the "Endpoint Position".
You can't really adjust it if you're in play mode.
By the looks of it, the endpoint is another bone, so you'll have to manually move that bone into the desired place.
You adjust the position of the end bone in the armature. I believe it should be the child bone to the bone you attached your physbone component to.
what is armature
Skeleton
yeah but how do i adjust it
Each bone can be moved just like any Gameobject.
bone end should be middle ish of it, if its over ? - blender time (see end of green arrow is where that one end) - moving it in unity will just squish things
what the hell
how did you acces this
bru, i just wanna make this mf shorter😭
Can you show the hierarchy of your armature?
like this?
Click the arrows next to the 2 highlighted ones.
Now the arrows on the new ones.
The last bone in the "chain" signifies the endpoint. You move that to move the endpoint.
Yes, and it sucks.
But I think moving it to the point of the ear will be the best location?
You simply have to set the "Max Stretch" on the PhysBone component greater than 0.
This will allow the bones to stretch, though whether the ear actually stretches depends on how it was rigged.
Sadly... there's nothing you can do about that. Stretching works by offsetting the bones from each other. No actual scaling is done. Simply put, the ear won't stretch.
sad
its fine tho
ok
so
another small thing
if you want to help
i want the whole ear to rotate
not just the top
it just feels wierd
Does J_Opt_L_CatEar1_01 have the physbone component or does J_Opt_L_CatEar2_01 have it?
catear1_01 moves the whole ear
the other one moves like
another part of it
kinda
And which one is the PhysBone component attached to?
Because this behavior makes it sound like it's on CatEar2 instead of CatEar1.
i dont know what the physbone component is
im kinda new to unity
i think you figured
Which object do you select to change the values of the PhysBone?
there is 2 physbones i think
And the 2 objects you select to adjust each one?
What are the objects called?
Yes?
And the physbone component shows up when you select CatEar1?
If only that part of the ear moves with CatEar1, then the rest of it would be weighted to the head.
Well... then maybe something is up with your angle constraints? I really don't have a lot of answers here.
its okay man
ill figure it out with time
thanks for the help
im pretty much done now
I have a weird problem... I made an avatar for my friend, and it has some PhysBones but they seem to behave in a super inconsistent way when it comes to whether the bone that the script is on has physics. The PhysBone component for the boobs works as expected and only applies to child bones of the chest, but the PhysBone component for the wings applies to child bones as well as the chest bone that it's on.
This results in some really weird behavior in-game that while very funny is not intended or wanted. Does anyone know why PhysBones are so inconsistent about whether they give physics to the bone that has the component?
In general, it's best to avoid putting physbones on the humanoid bones because it goes against how physbones work inherently. We needed to support this technically due to dynamic bone conversions, but it's always causing new bugs and issues.
Oh, I think I get it... Are PhysBones supposed to animate the bone they are put on, and the reason that they don't do that most of the time is because they aren't meant to animate humanoid bones generally? I assumed that they only animated bones that were children of the bone that the script was on. I guess that's not the case.
that's correct. Dynamic bones worked by moving the position of the child, while physbones work by moving the rotation of the parent. Humanoid bones have their rotation controlled by the animator so this can result in some conflicts
I don't intend to animate the humanoid bones with physbones though, my problem here is that it's happening when I don't want it to.
I'm still a little confused. The way I added physics to the hair of this avatar was that I put a PhysBone on the head and set it to exclude all child bones except for the hair. Is that the intended way to do it? Or is the intended way to have a separate PhysBone component on the root of each hair bone chain?
you can have a single physbone root, but it should just not be the humanoid bone itself.
Is there a way to make it so that physics does not apply to the root and just make it apply to the children?
you can add exclusions but exclusions affect all the children of the excluded bone, so you can't just exclude the root bone that the physbones are supposed to be on
So is that a no?
not the way that you're expecting
for example if you put it on the chest you could exclude the neck and arms, but if you exclude the chest itself then it'll just do absolutely nothing
the recommended way is to either put a physbone on each strand, or to make a root bone that is not a humanoid bone
Okay.
Well, I think the avatar is fixed now. I just changed out the one PhysBone script on the chest with four identical ones on each wing.
A bit late to this convo but a temp fix for this that I usually do if I'm merging seperate but similar physbones that are children of a humanoid bone is just make an empty child of the humanoid bone, zero it's pos and rot and then move all the bone chains I'm trying to physbone into it. Can then slap the physbone onto that new child object and it should work as expected.
It's best to create that new root bone in blender if you're constantly making changes to the model. But doing it in unity works as a good temp fix.
definitely do not do that unless you have backups and/or intend to never modify the avatar in blender again
True, I keep forgetting that people don't incessantly make backups like I do
is the squishy bones out for unity rn? or is it gonna be released soon?
"The new SDK will be rolled out soon. Alternately, you can enable the beta version of the SDK using the instructions given here: #open-beta-info . It'll work if you're really itching to try out the new features!"
^ :D
eventually
tyy
got it yippee
gl!!
is there any way to change the shape of the phys bone colliders or is it only capsules
there's capsules and planes
Got a bit of a unique problem here.
When using a contact sender and receiver on one gameobject with the same radius, position and collision tag, the parameter the receiver is affecting is True as expected. However, loading into a new world instance sets the value to False without any changes being made to the gameobject.
Is there something I'm missing?
not yet for me =w=
not sure if this is an emulater issue or vrc sdk issue but in unity when i have the Reset when disabled setting active on a 1.0 physbone it does not get reset when the bone itself or a parent is disabled
any ideas why this could be
ok maybe im misunderstanding this reset thing since the bones endpoint seems to actually reset to its default position but the parameter values dont
I've noticed this issue too; you should make a canny post about it
any good setting for the sqeesh?
Idk if that's the right channel to ask but I heard about the squishy physics and I was wondering if they're out yet?
How can I test squishy in Unity? I tried a collider, but it does nothing to the bones I'm testing
So I got an avatar and I'm pretty sure it's a bone dynamic issue. But anyway the physics all work fine except for the hair. Which flows wildly when moving and keeps moving around alot while stationary
I don't even know what to do to fix this I don't make Avatars I just picked this one up
dynbones get auto convert wich is just bad, recommend just redoing it in unity
I have no clue what that means
I literally just did with the Creator said and uploaded it
Turn the spring down on your physbones
I finally got my screen recorder working lmao
I dont even know where to start fixing this
first of all, you're moving it very jittery because you're using the "center" option. Click this to change it to a different mode that will move it in a more stable way
as for actually fixing the issue, click on the dropdown for armature. Then keep opening dropdowns navigating to the hips, chest, upperchest (if there is one), neck, head, and then find the hair
is this what I wanna be looking at
yep
so dynamic bones had really bad default settings, they got quite wiggly like that. It's possible the avatar creator just put on default dynamic bones and left it at that, because it's a bit difficult to make dynamic bones nice and flowy. Converting from dynamic bones to physbones has to preserve the same behavior, so it ends up quite wiggly as well.
But physbones by default is already quite nice and flowy already, so one way to fix this is to simply delete the existing physbones (which were created by a conversion) and then re-add the physbones, so they have new default settings
so click on the back hair object, and then see if that has a physbone component on it in the inspector to the right
if it does, take a picture of it to keep track of important things like colliders
Okay theres the four back hair things
Well shoot highlighting all of them worked
Im a little lost tbh so how do I delete and readd physbones
Wait shit I think I found my fix
If I lower the momentum
that could work as well if you want to just tweak the settings
it looks like this has a lot of colliders so those would've been annoying to re-add
Ill update if this works
bumping this as I'm not sure if it needs a canny post or not
is there a reason you're doing that? Seems very odd
yes. the gameobject i'm trying to use also has a particle system attached to it solely to be used to detect collision. once the particle detects it collided with something, it disables the gameobject, making the receiver parameter false.
oh, I see. That's... unfortunate
it's used for a fetch system. a rigidbody is "shot" carrying the gameobject in question. once it collides with a surface, the pet that fetches it knows it can go collect it to bring it back
luckily there's a few workarounds for it, but if this is a bug it would be nice to have it fixed. im sure a handful of others have had headaches trying to figure out what was breaking their systems that relied on this functionality
Hey so I’m having some issues with colliders being deleted but still not letting me upload the quest side to my avi, Like it’s saying that the colliders are still there even thought I’ve deleted them. How do I fix this?
Yes but now I have another problem involving uploading it which ill ask somewhere else
so are phys bones now always subject to being stretched now
I thought if you set the stretch motion to zero it wouldn't stretch unless grabbed
at least when you set a parameter to it
im not quite getting the new update still. i have a bone chain for my avatars nose with max squish and squish motion set to 1 (numbers high bc i thought i just wasnt seeing it at first) so that the nose squishes in. it works fine in unity, but ingame there is no squish, it acts as though there's no squish value set. any ideas?
I read somewhere that someone said that squish bones require a certain kind of setup on the bones in blender(?)
Would you happen to know where you read that?
Heeey, I'm stumped on a problem I'm having with physbones, not sure where I should ask it though
Alright ^^
Mini context, I own a base model that I've used for years now, never actually successfully put it into vrchat since I didn't feel like I wanted to, but now I do. I found where they kept a specific physbone script for whiskers, and I copied that script over to my own version of their base so that it has the same bounce. Unfortunately when I assigned my bone which was the exact same bone theirs used, just on a different avatar now, it also put everything else attached to as physbones. The bone was a root bone on the head that had hair ears and whiskers patented to it, but theirs didn't have the problem of these being assigned..
I'm not sure where I went wrong or how to fix it
it sounds like you copied the object and everything. If you're transferring a physbone from one model to another, you should only copy the component itself and put it on the equivalent bone on the model you're moving it to
That's the thing though, they put the physbone on something within the avatars hierarchy that isn't actually part of it
gross
It's so they could toggle them on and off in an odd way
should combine things together in blender
By just enabling and disabling said object
there's nothing about toggling that requires you to do it that way
Everything below the red line is not an actual object
It's just an empty of some sort with scripts on it
I don't know what to tell you, you've got a real mess on your hands and you'd be better off starting from scratch. I'm sure it'd be possible to get it in a functional state from here but it would require a lot more information and looking around directly, it's not a straightforward answer to a question that this channel can help you with
There's also another issue but it's a broader unity one where my scale is 100 times... smaller? Than the other one?
Their physbone radius is like 0.04, mine has to be 0.0004
some models are just like that, you can change scale in the import settings but unless you want to start over, doing it at this stage could completely mess everything up since it's already been built around the wrong scale
daern
Welp, time to finish my physbones and see if I nailed it first try, setting up my model that is
This is due to blender fbx export settings. Depending on what has been set up on your model you can still fix this with a re-export from blender.
Some gimmicks rely on scaling in a certain way and changing it whilst their on the avatar might give unexpected results. That's why it depends on how far you are with your version
I've used tools to make replacing and catching back up not too hard at this point, I've only a few simple scripts
Ok so I still have a problem where this is what I got going on
But the prefab which uses the SAME bone, has this
Does theirs have anything assigned to Ignore Transforms?
Okay, I'll just toss the info here and if you want to try it then that's that.
When you export as fbx there's a good amount of settings you can change. The one you want is Apply Scalings. By default it's set to All Local but setting it to FBX All will give you an Armature scale of 1 in unity.
and so the phys bones radius value and such will be 100x larger; no more 0.0004
But even then, its only 0.04, still not amazing to work with but
It's infinitely better than my picometer struggle @~@
Yo,
I mentioned this a while ago and a few people threw up a few ideas but so far still not got anything that works.
I've got an Avatar with a phys bones tail and i want to IK the tail tip to a specific point. So that it can be plugged into something.
Anyone got any ideas how to get that working?
Parenting the end bone moves it to the correct location but the rest of the chain ignore it,
Setting up a Spring joint doesn't do anything of substance, or work in any meaningful way
so it can be plugged into something uhh the funny hotdog eating shader?
Where did you get the dynamic bones package? I've been trying to find the one that I used to use for everything
You won’t need dynamic bones anymore as they are deprecated and will automatically convert to physbones ingame
I have a physbone with no pull that can be moved on an hinge, for some reason whenever it moves when people don't look at it, it desyncs for them (I.E position isn't updated until it is grabbed while they are looking) is there a way to sync something like this?
@hard sleet no, physbones work only when you look at them as a part of perforamce optimisation. if its not somethin too complex and controlled by a single bone you can add extra layer that animates mesh position based on synced value that comes from grabable bone.
as it always was you just buy dymanic bones from unity asset store for $20. Its just that nowadays you dont need it to convert or anything, afaik theres no usecase left in terms of vrchat.
well yes but actually no. wanna plug into a world-parented boombox
my bad, 'tis phys bones. Dynamic bones is useless these days
does anyone know if you can put dampening on rotation bones so that the bone doesnt snap to the end position?
basically trying to simulate the limited turn rate of a tank turret or something similar
Has anyone made a squishbones video tutorial yet?
so i have a custom contact sender and a custom contact reciever. i turned "allow self" collision off but its still triggering it on myself, why
hahahaha holy crap this server banned the funny hot dog shader word. CRINGE.
but yeah i think that shader would actually be an easy solution and a great idea tbh. that could actually work
and you could use a specific channel setup too so only the tail would work with it
Issue with that, is that it doesn't really work with physbones. Maybe I just need to learn how to use it properly, but it didn't work very well when I tried it before at least
it worked with dynamic bones so idk
Could be that I just didn't set it up right, I've not used it properly before, so I'll give it another go, it's worth a try
Hmms i think your best bet would be to on plug in, world constraint the plug and switch the tail out to some sort of leash shader or a version thats only weight painted to the plug and body so it deforms correctly
https://twitter.com/pixel_exe_/status/1648827107374698498?s=46&t=eJ4IUeINqr_Bgtjqmp2AJw does anyone know how to acheive this? I know about using rotation constraints but what i want to know is how to make the jacket lift up and down to follow, im modeling a poncho capea
finished making my overly complicated jacket
the sleeves even slide up and down the arm when theyre raised and lowered
235
id imagine something to do with weight painting
so i have a custom contact sender and a custom contact reciever. i turned "allow self" collision off but its still triggering it on myself, why
Hmmm... A secondary IK chain isn't a bad idea,
Maybe they use a position constraint to move the chain of bones that weight the side of the jacket, that way it will move up and down with the arm without rotating
But that's just a theory, a game theory! Thanks for watching.
squish only seems to effect one bone in a chain. is this a setting i can change? been fiddling for a bit with no real progress
Just a quick questions since I’m new to vrchat model customizing - with the new update of dynamic bones being switched to physbones, would we still need to have a copy of dynamic bones for rigs made for DB to work? Or would we only need physbone stuff now? (@ing me is appreciated and thank you in advance ! )
Only physbones are required
There's also some scripts made for converying dynamic bones to physbones
for older models
Gotcha, thank you!
@slow bison to use old avatar prefabs you can use either og dynamic bone or free dynamic bone stub, both will allow you to use sdk's convert function
export route, vroid export as vrm > blender (optimize stuff here ) > unity > vrchat (yes)
theres tools to convert in unity but not a fan of them, leaves you with multiple materials and messy bones (no rooted bones ect)
Anyone experienced animations used for contacts breaking when you apply them via the VRCAvatars3Tools plugin? Everything worked before I transferred them and they should still work after, the receivers are receiving as seen in the debug of Gesture Manager but the animations refuse to play... 🤔
Could be Mixed Write Defaults in your Animator Controllers (this is very common to encounter). Install or update Avatars 3.0 Manager to v2.0.20 via the Creator Companion and use it to Set WD On or Set WD Off on all of your Animator Controllers.
It is important to make sure your WD preference remain consistent across all of your Animator Controllers for your stuff to work properly in-game. So if some Animations on your Avatar are already using Write Defaults, then it’s important to keep it that way by making sure it’s consistent across all Animator Controllers you are using. Avatars 3.0 Manager will tell you this.
Thanks for the tip, there was some mixed WDs in there but that didn't seem to solve my issue, I took a different approach and set everything up directly on the avatar, and it still won't work so I am suspecting there is something different that is interfering...
looking for assistance with avatar dynamics. could really use some help with avatar prop triggers
What do you need help with?
to explain it simply i want other people to grab a sword off my avatar
.
https://github.com/ThatFatKidsMom/Avatar-Prop
Here you go.
thanks
also my physbones and lipsync isn't working properly
do you have a link to vrlabs?
i am dumb and can't figure this out
ok thank you
Does anyone know if there's anyway to change the width of a collision in physbones? Sometimes I need a wide collision in one direction (ex: z-axis) and not wide in another direction (ex: x-axis) if that makes sense
I'm trying to add phybones, but the body keeps stretching (as in some parts of the body just stretch into infinity). How do I fix this?
im working on iut
you attatch the pysbones to the armaure for the part you want to move, not the mesh
🙂
I haven't done avatar stuff (or played) in a while so I'm not up to date on the dynamics stuff - does this include the "Allow Self" and "Allow Others" checkboxes when Allow Collision is set to "Other"? I would hope that we could toggle that on/off.
Afaik yes
(Unfortunately it does seem to include them after a quick test I should have just done in the first place lol)
I suppose I could try the jank workaround it mentions for now and see if that works, it's just a private avatar so if it breaks no big deal
@blissful fossil yep, nothing in physbones is supposed to be animated
Is there any way of spawning in a world anchored Skinned mesh with an armature that only my avatar can grab (sort of like any prop you'd grab in a world). Basically I have a plushie that I made and rigged so that it could have basic physics with physbones. I want to have that spawnable / grabbable like any prop only by me.
World Constraint and for physbones immobile=1
Oh, so basically just make the root bone not move at all and have it grabbable yes?
With the world constraint.
you'd fake it being grabbable by enabling disabling world constraint + contacts + if gesture=1
so its either stays in world or follows your hand
and immobile=1 is because its still part of your avatar and otherwise it would wiggle every time you move
is there any way to have a bone's angle range decrease as it's squished?
so that it can be pulled at various angles, but as you push it in, it stops turning so much
You mean like physbones?
Physbones, yes.
Maybe try the limit angle option and then change the squish settings for however much?
Or maybe it has a pull physbone component and a squish physbone component?
I am using limit angle, but I don't know how to connect that limit to the squish amount
right, but the angle on the pull one would still apply when squishing the other, I think
Not sure if you can connect it to the squish amount, 'cus I think the angle is limited to when the phybone is moving and not being touched
no, angle definitely affects it being grabbed too
then idk lmao
is there any better way of dealing with the _end bones that Blender makes, than always manually excluding them
dont need em , add endpoint in unity if its for physbone
right but I mean, I need to attach weights to the end of a bone for the physbone to stretch
which means creating the bone in Blender
but then that creates an extra bone in Unity that doesn't do anything
dont have that on export , cats also does it
Editing an avi here, and theres dynamics on the tummy and booba, im a little confused on what/how drastic the settings should be for squishy stuffs, like being able to just poke them
Yo, I have a kinda specific problem. I'm working on an avatar where I need to animate physbone properties.
Yes, I am aware that doing it is not officially supported. There's a tracked feature request on Canny about it, and at the rate that it's getting votes, I sadly do not expect it to get worked on anytime soon.
I've had the suggestion of disabling and re-enabling the physbone too. This would have worked for me but unfortunately, physbones reset their assigned bones to resting position when enabled, completely preventing any visually smooth transition when disabling a physbone, changing its settings and reenabling it. The bones just teleport around when I do the thing, it's very jarring.
Basically, I can't get a smooth physics switch because Physbones have a Reset When Disabled option but no Reset When Enabled option (the latter behavior being thus always turned on).
I'm really surprised this issue hasn't had that much traction to be honest. I don't suppose anyone knows a fix?
Plugging relevant Canny issues I wish more people paid attention to:
https://feedback.vrchat.com/avatar-dynamics-reports-and-feedback/p/1184-a-proper-system-to-animate-physbone-parameters-would-be-really-nice
https://feedback.vrchat.com/bug-reports/p/1190-animated-bone-transforms-are-reset-to-rest-position-upon-physbones-componen
https://feedback.vrchat.com/avatar-dynamics-reports-and-feedback/p/1181-request-enableactive-property-for-physbones-colliders-and-contacts
Right now, there is no way to disable and keep the offset.
Isn't that what unchecking Reset When Disabled does? My point is there is no way to restart from that same offset when enabling.
Not necessarily. That checkmark is there for when the PhysBones go haywire after it’s disabled by the Animator.
So if you want to make a specific pose after it’s Disabled in the Animator, then manually animate it’s Bones in an Animation State that follows it.
This is the only options you’ve got.
Of course, always enable “IsAnimated” before animating bones on a PhysBones chain.
not sure if this is really relevant anymore but
A reason I see Reset when disabled was added/requested was due to the bones keeping their current offset upon the Physbone being disabled. This gave issues as people were modifying the weighted mesh with blendshapes causing the mesh to effectively 'explode'.
To stop this, users had to animate all the bone orientations back to their defaults any time this was present. This option has stopped this from being needed.
This is correct. One of the Avatars I’m using had to do this prior to the introduction of SDK 3.1.13 (which added that checkmark).
Is there a way to have a higher phys bone limit or to just ignore it, I got a model but it exceeded 8 phys bones and is giving me issues
No the limit is there for quest safety and anything over the quest limit disables all physbones on the avatar
you can have as many as you want on pc though
How do I do that then
I mean you can upload it with the physbone errors not all errors prevent upload
to not exceed the limit of 8 physbone components, you must make it 8 or less. Sounds about right.
No I’m trying to exceed it it’s just not letting me, it’s not really meant for quest
@simple vortex you cannot exceed the amout of physbone components. if somehow you manage to upload it, all physbones would be completely disabled for everyone anyway. if its not really meant for quest, then its not really meant for quest and you should think again about what youre trying to do.
I’m not trying to use it for quest at all
I just want Pc
then you shouldnt be getting physbones errors just switch to windows build
Hey there!
So regards with the new update, I've been trying to figure out how to fix a things so some of my droopy-like clothes like my sleeves here to the way they were before the squishy update.
So what I originally had and liked was that my sleeves were able to be pulled and posed pretty far, but since with the update and how certain values and components changed with how they functioned, I can't seem to get it working the way I'd originally had it.
So basically as the .gif shows, the rotation of the object (in this case my wrists & sleeves) will just sort of fling out in all kinds of directions.
I'm wondering if I can set it so I don't have this effect, but still being able to grab them and pull them normally with the stretch modifier ingame/unity? (there is gravity of course and all so they can droop down)
Because at the moment, messing around with a lot of the values and different modifiers on both 1.0 and 1.1 and I can't make heads-or-tails of it.
Any and all help would be appreciated! Thank you so much if anyone could help!
Are you used to using the new updated version of stuff yet or no? I might be able to help, I know a bit about using physbones so maybe DM me if needed. You might need to redo the physbones on it if those are the settings causing the problem. I believe you can turn off the squishing in the physbone settings if you don't want it to squish. You might need to reduce the pull and or immobile amounts because those can sometimes cause the physbone to pull back weirdly if set too high. Anyway, I might be able to help if you DM me with more specific stuff about it.
What settings do you need to use on physbones to have them directly follow my hand when grabbed. Right now it leaves a gab and doesnt follow my hand one to one.
@amber fable grab movement 1
Didn't work, I did it different by making a blendtree with is moved with _stretch float
now it works
Is there a desktop arm controler prefab out there yet? The only thing i can work off of is an outdated tutorial
Hi - why can't I grab my own PhysBones? Other people can grab them, I can touch them to interact, when I switch to another avatar I can grab my own, but this avatar which I uploaded recently fails
Settings look fine, and you have a Collision Radius so you should be able to grab it.
It’s worth noting that PhysBones grabbing behavior recently changed. It will not show it’s been grabbed until you start moving your hand once you grab a PhysBone. If you don’t like that, you can enable Snap To Hand on the Component to revert it to the old grabbing behavior. You can try that and see if it makes a difference.
Hey I'm having the same issue. My hand collider physically interacts with the collision radius of the bone but the bone cant be grabbed unless the hand collider intersects not with the bone radius but with the bone itself. Everyone else can interact and grab it like normal. Have you found a fix or a cause yet?
@short hornet @young plaza https://feedback.vrchat.com/bug-reports/p/grabbing-your-own-physbones-is-very-unreliable
same shit
Okay well I just found my issue, I apparently had 2 physbone components with the same parameter. One of which had no root. Been driving me nuts for the past 2 days
Thanks. This doesnt happen with any of my other avatars. Only the most recent one I upload with the latest SDK 🤔
Turning on the PhysBone radius overlay is a good idea to verify it's even there
you are on a old sdk and that radius is extremely small 0.000x , dont add anything to a canny if you are on older one (or least mention wich one it is), no idea if they still behave as grabbing is one thing i rarely test
if your av is scaled 1.1.1 its usually around 0.0x <> 0.00x
adding a toggle to disable an object that has a phys collider ,
is kinda buggy , its like the collider is always on , eventho i turned the object off
can the position of a physbone plane collider not be changed with an animation?
the gizmo moves, but the physbones affected don't react to the change
According to your screenshot, you’re actually a version behind. The PhysBones Component has dramatically changed again in SDK 3.2.0.
The latest SDK allows you to now choose PhysBone 1.0 or 1.1, both of which have so many differences in how they function now (mainly with Stiffness and Gravity). In addition, Stretch Motion is a new feature gimmick exclusive to 1.1.
See if the SDK 3.2.0 is any different.
Ohhhh. My b. I'll update
Radius doesnt matter as other people can grab the physbone fine but I cant
its still way too small, your scaling is off, only wierdly scaled get 0.000x
they had to change physbone awhile ago since that was nearly ungrabbable, since some people had earrings super tiny and had issues with it
Changing radius, updating to 3.2, changinge Snap To Hand does not fix it 😦
Hmm, what’s the size of the Hand Grab Collider in the PhysBone Overlay in-game?
My best guess is that it could be too small.
It would be this Pink sphere:
anyone have any recommended squishy bones settings for cheeks? I wanted to add them to the face bones I have set up
Squishy Bones work best when there is at least 3 or more weighted Bones that it affects. If it’s just 1 bone with or without an Endpoint Position, it’s not going to work.
@gritty turret wait what? we have a separate contact to grab? i thought its the same yellow stuff as for touching
That Purple sphere you see that is used for Grabbing is automatically generated based on where the default Hand Contact Sender is.
All of those default Colliders are determined automatically by the Avatar Descriptor. To see them in the Gizmos and to customize them, scroll all the way to the bottom of the VRC Avatar Descriptor and expand a tiny collapsible section called Colliders.
That will show you where all the magic happens by default. The location of them are automatic based on the Humanoid Bone mapping you configured for your FBX. But you have total freedom to override them through that little section in your Avatar Descriptor.
So if you modify the Hand Collider’s Radius, it should also influence the size of the Grab Collider.
I dont see any pink spheres when I enable any of the 3 overlays in the radial menu.
However I did notice a lack of a "hand" capsule which every other avatar has:
My avatar in unity has the hand configured correctly
Ohhhhhh. I copied my descriptor over from another avatar (I modified the original FBX in blender) and my hand colliders were set to "custom" but weren't visible. I've never opened that colliders menu
That could be why!
Hi, I am trying to get avatar contact to work but it seem to have broken my gesture expressions. Anyone know what might be going on here? I've gone through multiple tutorials and the issue remains the same.
I’m sorry, but that GIF is extremely hard to see. It’s terribly compressed. You should use something like OBS to record your screen instead as that would make it higher quality.
Secondly, this channel is for PhysBones and Contacts. That right there is actually a Gesture. So please forward this question to #avatar-help
The issue arises after adding contacts. The animation that's defaulting is actually my contact animation. You can click on open in browser and there should be able to see a higher resolution recording
It’s still extremely difficult to see. I’m sorry.
But my first guess is that your .anim is Looping.
Which, if so, disable Loop on the .anim file for it.
I am a bit confused about this, maybe it's in different resolution for you? It should be pretty clear once you expand the gif.
Checking for the loop
Regardless, I would advise against recording as GIFs next time.
What's strange is that gesture expression used to work before. After adding the contact expression my gestures attempts to use the contact expression.
Perhaps it’s Mixed Write Defaults then.
Use Avatars 3.0 Manager to fix that.
Avatars 3.0 Manager is literally the tool you must always have. It’s obtainable in the VCC.
It’s a Utility that allows you to copy, generate, and manage Animators and Parameters on your Avatars.