package.fish.scc
Manually update this by calling Move() or let it always be simulated
If pushing against a wall, scale the velocity based on the wall's angle (False is useful for NPCs that get stuck on corners)
Width of our trace
Height of our trace
Which tags it should ignore
Max amount of trace calls whenever the simulation doesn't reach its target (Slide and collide bounces)
How fast you accelerate while on the ground (Units per second)
How fast you decelerate while on the ground (Units per second)
How fast you accelerate while in the air (Units per second)
How fast you decelerate while in the air (Units per second)
Do we ignore the friction of the surface you're standing on or not?
Is this MoveHelper meant for horizontal grounded movement? (false = For flying or noclip)
Do we ignore Z when it's near 0 (So that gravity affects you when not moving)
Tolerance from a 90° surface before it's considered a wall (Ex. Tolerance 1 = Between 89° and 91° can be a wall, 0.1 = 89.9° to 90.1°)
Player feels like it's gripping walls too much? Try more Grip Factor Reduction!
Stick the MoveHelper to the ground (IsOnGround will default to false if disabled)
How steep terrain can be for you to stand on without slipping
How far from the ground the MoveHelper is going to stick (Useful for going down stairs!)
Enable steps climbing (+1 Trace call)
How high steps can be for you to climb on
How deep it checks for steps (Minimum depth)
Tolerance from a 90° surface before it's considered a valid step (Ex. Tolerance 1 = Between 89° and 91° can be a step, 0.1 = 89.9° to 90.1°)
Enable to ability to walk on a surface that's too steep if it's equal or smaller than a step (+1 Trace call when on steep terrain)
Instead of colliding with these tags the MoveHelper will be pushed away (Make sure the tags are in IgnoreTags as well!)
Which tags will push this MoveHelper away and with how much force (Make sure they are also included in IgnoreTags!) (+1 Trace call)
Apply gravity to this MoveHelper when not on the ground
Use the scene's gravity or our own
Units per second squared (Default is -850f)
Check if the MoveHelper is stuck and try to get it to unstuck (+Trace calls if stuck)
How many trace calls it will attempt to get the MoveHelper unstuck
The simulated target velocity for our MoveHelper (Units per second, we apply Time.Delta inside)
The resulting velocity after the simulation is done (Units per second)
Is the MoveHelper currently touching the ground
The current ground angle you're standing on (Always 0f if IsOnGround false)
The current surface you're standing on
The gameobject you're currently standing on
Is the MoveHelper currently pushing against a wall
The current wall normal you're pushing against (Always Vector3.Zero if IsPushingAgainstWall false)
The gameobject you're currently pushing on
Is the MoveHelper standing on a terrain too steep to stand on (Always false if IsOnGround false)
The MoveHelper is stuck and we can't get it out
To avoid getting stuck due to imprecision we shrink the bounds before checking and compensate for it later
The bounds of this MoveHelper generated from the TraceWidth and TraceHeight
If another MoveHelper moved at the same time and they're stuck, let this one know that the other already unstuck for us
Casts the current bounds from to and returns the scene trace result
Detach the MoveHelper from the ground and launch it somewhere (Units per second)
Apply the WishVelocity, update the Velocity and the Position of the GameObject by simulating the MoveHelper
Just calculate but don't update position
Apply the WishVelocity, update the Velocity and the Position of the GameObject by simulating the MoveHelper
The time step
Just calculate but don't update position
Sometimes we have to update only the position but not the velocity (Like when climbing steps or getting unstuck) so we can't have Position rely only on Velocity
Debug don't use
Move a vector3 towards a goal by a fixed distance
Project a vector along a plane (normal) and scale it back to its original length