How to make a bear like character

Do you know the game bear? Are you curious on how they made the bear character, with the moving frames etc? Well in this tutorial you will learn how to make the same!

So step 1. create a StarterCharacter in StarterPlayer



image
Now add a Humanoid
image

Now add another part inside StarterCharacter then name it HumanoidRootPart
image
image
You now got a character, now lets rescale it and etc.
For size, I will set it to 4, 6.9, 2 (funny number is not intended i swear)
Now, set the humanoidRootPart’s transparency to 1
image
image
Now, we add a billboardGui inside the humanoidRootPart
image
Now this part is important. Make the Size of this billboardgui {9, 0},{9, 0}
Then add an imagelabel inside the billboardGui
image
(By the way, you can parent starter character to workspace to see how it looks like! Just reparent it back to starter player so it works)
now make the imagelabel size {1, 0}, {1, 0}
now, set the imagelabel image to the idle bear (or skin whatever)
and then set the BackgroundTransparency to 1 and tada! bear

scary
now, time for everyone’s least favourite part, the scripting!!!
SO, insert a script to starter character scripts
image
image
And then add a modulescript inside the bearscript
image
So first, open up the animations modulescript, and we write this:

return { -- returns a table
	idle = "youridleimageid", -- the idle image id
	frames = { -- frames of the bear walking animation
		"frame1",
		"frame2" -- extend this to your liking.
	}
}

now, make those frame1 and youridleimageid things etc to imageids u uploaded, this is it for the modulescript!
now the real spoooky script
open bearScript (proceed with caution)
now write these spooky code

local animationsModule = require(script:WaitForChild("animations")) -- requires the animations module table
local humanoidRootPart : Part = script.Parent:WaitForChild("HumanoidRootPart") -- wait sfor the humanoid root part (and sets the type to Part for autocorrect)
local bearBillboard : BillboardGui = humanoidRootPart:WaitForChild("BillboardGui") -- waits for the billboardgui (and sets the type to billboardgui for autocorrect)
local bearImage : ImageLabel = bearBillboard:WaitForChild("ImageLabel") -- waits for the imagelabel (and sets the type to imagelabel for autocorrect)
local humanoid : Humanoid = script.Parent:WaitForChild("Humanoid") -- ok i wont write this again 
local running = false -- assigns a boolean variable
humanoid.Running:Connect(function(walkspeed) -- connects an event to humanoid.running
	if walkspeed > 0 then -- checks the walkspeed so i can make sure hes running
		running = true -- assings the running value to true if yes
	else
		running = false -- asigns the running value to false if no
		bearImage.Image = animationsModule.idle -- sets to idle bc no
	end
end)
while true do -- creates a running loop
	if running then
		for _,v in animationsModule.frames do -- loops through the frames table
			bearImage.Image = v -- set sthe bear frame to the walking frame
			task.wait(0.3) -- waits .3 seconds each loop
			if not running then -- if its no longer running then break
				break 
			end
		end		
	end
	task.wait() -- to not crash, delay
end

go ahead and smash that run button and WOO


feedback is obviously appreciated
Hope you liked my tutorial on how to recreate the BEAR, C you

download instead idc

if your too eager to follow this tutorial speedypants, just take the model i dont care!!!
BEARMODEL.rbxmx (1.9 TB)
yeah enjoy 1.9 TB downloading

mywebsite
sorry for that fat button lol

9 Likes

Thats really Cooool :smiley:

I must make this WOOO

1 Like

I thought it was a regular bear, but its even better :happy4:

Now I know how to do it, thanks

2 Likes

Thanks for the tutorial this is helpfull for make a piggy game

1 Like

While running do should work???

1 Like

i was aware but for some reason it dosent work : (

1 Like

once running becomes false the entire loop terminates because:
while condition do will run only if condition is true, if condition is false, the loop will stop completely and wont run ever again, terminating the loop

just do something like

while true do
     if running then
          -- code
     end
     task.wait()
end

thats what i actually did

1 Like