8 Way Directional Movement System For R6 (1 Animation)

This resource is about an 8-way directional movement system with only 1 animation for walking. You need to import the RBXM into your game to use it.

Here’s footage of it working:

Note: This requires shift-lock or first person lock

IMPORTANT NOTE: There are 3 stuff you need to move
1 - Move the Normal script (Server script) into ServerScriptService
2 - Move the Local Script (Client script) into StarterCharacterScripts
3 - Move the Remote Event into ReplicatedStorage

Updates Log:
V2 Update:

  • now it replicates to all players smoothly

Here’s the file too:
DirectionalLegsNEW.rbxm (4.4 KB)

44 Likes

Wow, a very helpful tutorial. How do I install a #resources:community-resources

5 Likes

There i changed it to Community Resource

3 Likes

this is neat, thanks for making this.

3 Likes

You made a very good joke which made me laugh

5 Likes

love this so much bro you save me alot of time

2 Likes

This is pretty cool, I will probably look at it since my 4 directional anim code is messy :skull: maybe there’s something to learn from here

-- Convert data to CFrame
				local AngleCFrame = CFrame.fromEulerAngles(0, self.state.angle + math.rad(180), 0)

				local WishDirCFrame = CFrame.fromEulerAngles(0,MathUtils:PlayerVecToAngle(wishDir) + math.rad(180),0)
				-- Get dot products
				local LookDotProduct = AngleCFrame.LookVector:Dot(WishDirCFrame.LookVector)
				local RightDotProduct = AngleCFrame.RightVector:Dot(WishDirCFrame.LookVector)
				-- Pick Animation
				if LookDotProduct > 0.4 then
					self.characterData:PlayAnimation(Enums.Anims.FrontWalk, Enums.AnimChannel.Channel0, false)
				elseif RightDotProduct > 0.6 then
					self.characterData:PlayAnimation(Enums.Anims.RightWalk, Enums.AnimChannel.Channel0, false)
				elseif RightDotProduct < -0.6 then
					self.characterData:PlayAnimation(Enums.Anims.LeftWalk, Enums.AnimChannel.Channel0, false)
				elseif LookDotProduct < -0.4 then
					self.characterData:PlayAnimation(Enums.Anims.BackWalk, Enums.AnimChannel.Channel0, false)
				end
2 Likes

when i play it works without shiftlock or fp. but nice! :smiley:

1 Like

Same

30-character limit

Okay, so I know I’m insanely late. BUT, is there a way to make it so it doesn’t look weird when your not in shiftlock and for example pressing D, and moving straight the legs will go into a right direction instead of forwards. I will explain further if needed

I use this one, and it works fine for me. You can disable the IK.

this doesn’t use hip rotation tho, as the torso stays still which brings back the unrealistic-ness problem of having leg movement

1 Like

a video clip perhaps or a screenshot thats clear

Honestly, I think you can add the leaning separately if you want it but fair enough.

Yes, sorry I should have shown this first.

1 Like

It requires shift lock tho I might have removed that from the description of the post, I’ll add it

Maybe you can somehow get it to work with Humanoid.MoveDirection? If you manage to do that, the issue should be fixed.

1 Like

I do know a way but tbh I don’t really want to update this resource as I’m not that free

1 Like