Stop model from bouncing when hitting the ground

I’m having issues where my StateChange on the Humanoid is a little bit buggy, due to my character bounching when they land, so its printing like

Jumping
Freefall
Landed
Freefall
Landed

per jump

mob.Humanoid.StateChanged:Connect(function(old, new)
			--// TODO State change
			-- Jumping (sound + jump animation)
			-- Freefall (reverse animation)
			-- Landing (sound + particles)
			
			if new == Enum.HumanoidStateType.Jumping then
				print("Jumping")
			elseif new == Enum.HumanoidStateType.Freefall then
				print("Freefall")
			elseif new == Enum.HumanoidStateType.Landed then
				print("Landed")
			end
		end)
1 Like

How about setting the density of the HumanoidRootPart higher before the slime lands?

I’ve tried messing with density, had no effect :confused:

Did you enable CustomPhysicallyProperties?

Yes, can’t set density without that property being enabled

Weird. Can you like, use a custom Humanoid? What I mean by that, is a short example:
https://developer.roblox.com/en-us/api-reference/function/BasePart/ApplyImpulse

I can’t seem to get it to work

self.Model.PrimaryPart:ApplyImpulse(Vector3.new(0, 1000, 0))

Doesn’t move

You’re going to want to mess with the elascitiy property in the customphysicsproperties

Specifically set elasticity weight to a high number
This determines which elasticity value is used in the calculation (kinda like a priority)

Then set the elasticity to a low number (0 = no bounce)
This value determines how bouncy the object actually is

https://gyazo.com/4e82f3d312ba08c0832a3da25f78375e.mp4
Example ^
Elasticity weight = 100
Elasticity = 0

Although I’d imagine slime monsters are generally bouncy So an alternative solution is to make your own .Jumping .FreeFall and .Landed states, or make new ones that have there own specials conditions on when to change

Also density is mostly stuff relating to water so not really a good property to mess with here

7 Likes

Exactly what I’m looking for man