Wow that’s actually super cool!
I’m surprised this isn’t built into the Roblox engine yet because it’s pretty much a standard for game engines to have nowadays.
Unreal, Unity and I think Godot already have bone simulation for hair, clothes and appendages.
Roblox should definitely include this in their engine since implementing it in C++ would likely offer even better performance.
They should hire you tbh.
Also, it would be nice to have another setting where you can set the “flow” of the smartbone instance causing it to overshoot more. And setting the speed of the flow/smartbone instance (no not UpdateRate and Damping, thats different). Because creating hair physics seem a little bit stiff and unrealistic. Ive messed with the Inertia, Damping, Elasticity, and Stiffness for all of it to basically be the same.
Example of hair needing to be a bit more flowy and less elastic;
Not even in VRChat hair its perfect, either it is 2 stiff or 2 floaty, most people make it float around, its an aesthetic choice done by limitations that come up, you should try the same and instead use hairs that would fit this style.
Hello, I’ve recently found about this module and quickly fell in love with it. I tried to animate a mesh that had the smartbone function and it worked perfectly and as espected. However recently (Like about 2 days ago) it stopped working properly. It’s very “glitchy” and when I try to play an animation on the mesh, it almost feels like it tries to stay in the default place all the time, which ruins the effect completely. It’s really weird because it worked perfectly before and now for some reason it stopped working. I have no idea on how to fix this issue and I’m starting to think that this problem is being caused by an roblox update. However this is just my theory at the moment. Perhaps this module wasn’t designed to be used on meshes with animations. If anyone knows something about this or has tried to use this module on meshes with animations, I would appreciate your response.
I’m not sure what the cause would be, but I would personally try recovering an autosave from around when it was working as intended. It can help you narrow down the cause
I tried doing this and unfortunately it still doesn’t work. My second attempt was to do it in a different game and with a different mesh, but I had no luck either. I think the problem is that roblox released an update that broke this. I haven’t made any new changes to my game for 3 days (it was working then) and when I decided to work on it again yesterday, it was broken. Anyway, thanks for the reply.
I got a problem importing my own meshes. For some reason, only the mmain bone remain after itgot imported. So i can’t use smartbone on them, did it ever happened to you?
This has never happened to me. When importing the mesh, make sure all the bones are selected on the left side. Maybe you should try to rig the mesh again.
I am currently appealing to Roblox to hopefully get the asset back up, but for now the GitHub repo will remain available for you all to manually install SmartBone into your games. I’m sorry for any inconvenience this causes, and I will update you all as the things progress.
There is a considerably better way to implement this incredible contribution—no reason to connect to any RunService Events. Just connect to the property change instead and save RenderStepped for things that would be better utilized…
local function UpdateWindAttributes()
game.Lighting:SetAttribute("WindDirection", workspace.GlobalWind);
game.Lighting:SetAttribute("WindSpeed", workspace.GlobalWind.Magnitude);
end
workspace:GetPropertyChangedSignal("GlobalWind"):Connect(UpdateWindAttributes);
UpdateWindAttributes();