Animations (Rigs, Editor, Tracks) - Roblox Advanced Scripting #20 (2024) — Transcript
Full transcript
- 0:00what is this no seriously tell me what
- 0:04I'm looking at right now oh my God this
- 0:07thing is massive wait
- 0:10touch what am I touching
- 0:12[Music]
- 0:18here no no please make it stop make it
- 0:25stop now please all right let's think
- 0:27about what we just saw for a minute so
- 0:29this thing decided to dance after I
- 0:33pressed this button which literally
- 0:36makes no sense at all but I'm just going
- 0:38to go with it so it decided to play a
- 0:40little dance animation after I pressed
- 0:42this button and that actually made me
- 0:44realize that yeah animations they do
- 0:47make up a big part of Roblox because I
- 0:50mean look at me I'm literally being
- 0:52animated as I walk I'm being animated as
- 0:54I jump animation is just one of those
- 0:56things that are very essential to Roblox
- 1:00especially when it comes to characters
- 1:01or NPCs because animations give the
- 1:05players or characters or even NPCs that
- 1:09liveliness to them so in this episode
- 1:11I'm going to be showing you how to
- 1:12create an animation and how to add them
- 1:15into your game so that you know how all
- 1:18the stuff works out because creating
- 1:19animations is a very important skill to
- 1:21have when it be when it comes to being a
- 1:24game developer so that's what we're
- 1:25about to do but with that being said
- 1:27let's go straight into implementing
- 1:28animations on Roblox
- 1:30now that we understand it let's start
- 1:32implementing animations inside of our
- 1:33game now you're probably thinking right
- 1:35now where the heck do we even make
- 1:37animations if this is your first time
- 1:39doing it Roblox has this feature that
- 1:41allows us to create animations using an
- 1:44animation Editor to then publish that to
- 1:46Roblox and use that in our own game so
- 1:49I'm going to give you a basic rundown of
- 1:51how this editor works but first thing we
- 1:53have to do is that we have to add a rig
- 1:56to our workspace so that we can animate
- 1:59it and if you don't know what a rig is
- 2:00it's basically an object that has a
- 2:02skeletal structure where we can
- 2:05manipulate its parts and add animations
- 2:08to them to make it humanlike so if you
- 2:10imagine this NPC right here to have uh a
- 2:14structure for legs a structure for a
- 2:16torso a structure for arms and a
- 2:18structure for the head all of those
- 2:20combined make up a rig and so that's
- 2:23basically what we're going to do here is
- 2:25we're going to be adding our own rig to
- 2:27be able to animate with because we can't
- 2:29animate with just a part A Part alone
- 2:32isn't going to help us animate our
- 2:33animations we need a skeletal structure
- 2:36to be able to do this for us luckily
- 2:38Roblox allows us to do that as well so
- 2:41here's what we're going to do we're
- 2:42going to go on the top go to Avatar and
- 2:45we're going to click this button called
- 2:47rig Builder so if we click this then it
- 2:50gives us a bunch of options to choose uh
- 2:53a rig that we want to generate so we can
- 2:56choose an R15 or R six character we can
- 2:58choose masculine or feminine body uh and
- 3:01we have all these options that are down
- 3:03here now you can pick your own avatar to
- 3:07import or you can pick a block Avatar
- 3:09these are usually my go-to when it comes
- 3:11to generating a rig so I'm just going to
- 3:14pick my avatar but you can also pick
- 3:16block Avatar it doesn't really matter
- 3:18okay so now that we've pressed that um
- 3:20Roblox generated a rig for me uh using
- 3:23my own character and it added it to the
- 3:26workspace so we can take this and we can
- 3:28drag this around ever we want like we
- 3:31can go on the right side and open it up
- 3:33and we can see that everything here
- 3:35basically makes up our player's
- 3:37character if we were to play the game
- 3:39with my accessories and animate script
- 3:42uh all the parts that we need and just
- 3:44things like that so we have a rig now
- 3:46what we need to do is open up the
- 3:48animation editor so that we can start
- 3:51creating animations so on the top there
- 3:54should be another button called
- 3:55animation editor under the animation
- 3:57section so we're going to press this and
- 4:01what you should see down here is a new
- 4:03animation editor window I'm actually
- 4:05going to get rid of my output down here
- 4:07so that we can see it better um but yeah
- 4:09down here it says select a rig to
- 4:12animate or create a new rig by selecting
- 4:14rig Builder under the Avatar tab but
- 4:17since we've already created our rig
- 4:19we're just going to Simply click our rig
- 4:21and now down here it says create an
- 4:24animation to start so there currently is
- 4:27no animation for this rig that we just
- 4:28created so we're going to have to create
- 4:30a new animation we're just going to call
- 4:32this animation test one just because why
- 4:35not so we're going to hit enter and now
- 4:37what we should see is this grid down
- 4:40here while also seeing this animation
- 4:42editor with this timeline now we we
- 4:45basically have this timeline down here
- 4:47and if we click and hold this blue bar
- 4:50then we can drag this along the timeline
- 4:53from start to finish uh with the
- 4:55animation that we're creating there's
- 4:57also some other things like playing the
- 4:59animation or skipping the animation or
- 5:01looping the animation uh there's even
- 5:02more customizable options on the right
- 5:04side of the screen I'm going to go over
- 5:06some of these in just a little bit but
- 5:08for right now what you need to know is
- 5:09that this timeline is very essential
- 5:11when it comes to timely accurate
- 5:14animations when you're creating them so
- 5:16if you're not familiar with Roblox rigs
- 5:18especially R15 rigs essentially this
- 5:21character right here is comprised of 15
- 5:24parts that is the head the right upper
- 5:28the right upper arm the the right lower
- 5:31arm the right hand and the same thing on
- 5:33the left side then we have the upper
- 5:35torso the lower torso and then we have
- 5:38the left upper leg the left lower leg
- 5:40and the left foot and then the same
- 5:42thing on the right side so what we can
- 5:44do is we can select any of these parts
- 5:46like let's say the right upper arm for
- 5:48instance it's going to give us a
- 5:50rotation indicator to allow us to move
- 5:53this character's arm so because this is
- 5:55a rig if we moved let's say the upper
- 5:58arm then it's going going to also move
- 6:00the lower arm and the hand as well and
- 6:03as you can see when we did this there
- 6:05was two things that happened on the
- 6:07bottom left it shows us on a rig
- 6:09hierarchy that we changed the right
- 6:12upper arm and we can see it down here
- 6:14with the position and rotation we've now
- 6:16changed the the rotation to 45° this way
- 6:20um on the 0c timeline so this is another
- 6:24thing that changed it gave us this key
- 6:26frame that shows us that we were able to
- 6:30make a change to the animation at this
- 6:33specific time frame so let's say we
- 6:34decide to change this time frame to five
- 6:38I believe this is milliseconds but I
- 6:39could be wrong about that it's basically
- 6:41five frames down the line if we were to
- 6:43let's say now change our upper torso so
- 6:46I'm going to click on the upper torso
- 6:48and let's say we move it this way then
- 6:51what's going to happen is uh we added a
- 6:53new key frame at 5 seconds but if we
- 6:56let's say decide to move this back this
- 7:00way you can see that Roblox
- 7:02automatically animates the rig for you
- 7:05based on the key frames that you put
- 7:07down on the timeline so if we started
- 7:09back at zero it's going to start with my
- 7:12hand going out with my arm going out
- 7:15this way but since I added a key frame
- 7:18to move my upper torso this way when it
- 7:21reaches five frames it's going to frame
- 7:24by frame move to the key frame and if we
- 7:28let's say move this again to 10 seconds
- 7:30if uh we wanted to move this arm this
- 7:33way if for whatever reason then once
- 7:35again it's going to start at 0 seconds
- 7:37and then it's going to move according to
- 7:40uh the frames in between both key frames
- 7:43and now that we do have this what we can
- 7:45do is we can play the animation that we
- 7:48just created if we start back at the
- 7:50beginning and then we hit play then what
- 7:52we can do is preview the animation so
- 7:54let's hit play we can see that uh from
- 7:57when we started to the last key frame it
- 8:00played our animation and if we were to
- 8:02implement this in Roblox studio uh we're
- 8:05going to fire this animation and then
- 8:08it's going to stop right here and then
- 8:09completely stop the animation not freeze
- 8:11it but it's just going to stop the
- 8:13animation if we wanted to let's say Loop
- 8:14it then we can press this button to
- 8:16toggle looping animation so once this is
- 8:19on if we play this once then it's just
- 8:22going to keep looping the animation and
- 8:24this would also be uh apparent when we
- 8:28implement this in our game but we're not
- 8:29going to put looping on so we're just
- 8:32going to turn it back off okay so now
- 8:34that we have our first animation let's
- 8:36publish this to Roblox so how we're
- 8:38going to do this is we're going to click
- 8:41the these three little dots that's next
- 8:43these three little dots on the left side
- 8:45we're going to click this and then what
- 8:46we're going to do is say publish to
- 8:49roblocks and it's going to show our
- 8:52popup to create this animation so we're
- 8:53just going to call this test one and
- 8:56it's going to be created by me uh we
- 8:58don't really have to do much here except
- 8:59delete local instances I would recommend
- 9:02checking this on at least thinking about
- 9:04what this does I would say you should
- 9:06usually just have this on I don't really
- 9:07see much of a reason to have this turned
- 9:09off so that's what we're going to do so
- 9:11let's hit submit and now we should have
- 9:14our published uh animation so as you
- 9:18know when you publish an animation on
- 9:19Roblox it's going to give a customized
- 9:22ID so this is the ID that we're going to
- 9:24use to implement in Roblox Studio we're
- 9:27going to copy this and we're going to
- 9:29hit close and we're also going to back
- 9:32out of this animation editor now that we
- 9:34have our animation to use okay so we
- 9:37have our animation ID but how do we add
- 9:40this animation to our game um the first
- 9:43thing that we're going to have to do is
- 9:45create an animation instance with the ID
- 9:48that we just copied uh because this is
- 9:51going to be the animation within the
- 9:53game that we're going to use to animate
- 9:56inside of our game this is basically
- 9:57what it's going to look like if we let's
- 9:59say went onto workspace hit the plus
- 10:01sign and then we decided to search up
- 10:04animation uh we're going to click
- 10:06animation and it's basically and there's
- 10:08basically one property here that we
- 10:10really care about and that's going to be
- 10:12the animation ID and obviously this is
- 10:15going to be um the ID that we just
- 10:17copied when we uploaded our uh animation
- 10:20so we're just going to right click on
- 10:22this hit paste and then that should be
- 10:23the numbered ID right there and we're
- 10:25going to hit enter so now that we have
- 10:27our animation here that we just created
- 10:30let's also rename this to test animation
- 10:341 just for the sake of it we have our
- 10:36animation but how do we make it so that
- 10:38our character will be playing this
- 10:40animation what we can do is we can add a
- 10:43local script inside of our character uh
- 10:46to be able to play this animation after
- 10:49a specific after a specific number of
- 10:51seconds so that we can see that it's
- 10:53working properly uh what we can do is
- 10:56add a local script inside of starter
- 10:58character scripts this is usually where
- 11:01I would be uh using my animations it
- 11:03would be inside of the character and
- 11:05ideally the starter character scripts so
- 11:07we're going to hit the plus sign and
- 11:09we're going to add a local script and
- 11:12we're also going to take our animation
- 11:14and we're going to put this right inside
- 11:17of our local script so that we have easy
- 11:19access to it so what we're going to do
- 11:21is make reference to our animation by
- 11:23saying local animation equals script and
- 11:27we're also going to throw it in a wait
- 11:29for child statement as well uh so that
- 11:31the script has enough time to look for
- 11:33it so it's going to be test animation
- 11:36one so this is going to be our animation
- 11:37script now in order to activate this
- 11:39animation we're going to need access to
- 11:41our character's humanoid because the
- 11:44humanoid is what makes our character
- 11:47lifelike humanlike and those sorts of
- 11:49things uh so what we're going to do is
- 11:51make reference to our character and as
- 11:53you know anything that's contained in
- 11:55starter character scripts is going to be
- 11:57a direct child of our character so it's
- 12:01so our character simply is just going to
- 12:03be the parent so we're just going to say
- 12:05local character equals script. parent
- 12:10and then through that we're going to
- 12:12find the humanoid of that character so
- 12:15we're going to say local humanoid equals
- 12:18character weight for child
- 12:22humanoid so we have access to our
- 12:25characters humanoid now now here's
- 12:27here's the weird thing about this so we
- 12:29actually can't use this animation
- 12:32directly uh for the character that we're
- 12:34trying to animate what we have to do is
- 12:36convert this animation to an animation
- 12:39track and this is essentially the
- 12:42animation that contains everything that
- 12:44we need in order to play back an
- 12:47animation and use it whenever we want
- 12:49because if you see our animation right
- 12:52here the only thing it has is animation
- 12:55ID it doesn't have any special
- 12:57properties that allow us to configure
- 12:59run or even or even stop or do anything
- 13:04with this animation that we have it has
- 13:05no properties which is why we have to
- 13:07convert this animation to what's called
- 13:10an animation track instance that allows
- 13:12us to do all these things so here's what
- 13:15we're going to do we're going to say
- 13:17local animation track equals humanoid so
- 13:22what we're going to do is we're going to
- 13:23take our humanoid and we're going to
- 13:26load in our animation that's going to be
- 13:29embedded within the humanoid so we're
- 13:31going to say humanoid colon
- 13:34load animation open and close
- 13:37parentheses and then we're going to
- 13:39throw in our animation inside of our uh
- 13:43arguments here so now we have an
- 13:45animation track and this is embedded
- 13:48directly into our character's humanoid
- 13:50well uh our players humanoid when we
- 13:52when we join into the game okay so now
- 13:55that we have our animation track we can
- 13:57play our animation using the play method
- 14:00in the animation track uh so what we're
- 14:02going to do is we're going to wait a few
- 14:04seconds so that our character can load
- 14:06into the game before we play the
- 14:08animation so we going to say task. wait
- 14:115 Seconds uh and then we're simply just
- 14:14going to say animation track colon play
- 14:17open and close parenthesis that's it
- 14:19that's all we have to do so now if we go
- 14:22into the game hit test and hit play once
- 14:25we're in the game after about a couple
- 14:27seconds it should play the animation on
- 14:29its own all right so I'm into the game
- 14:31after a set amount of time then we
- 14:34should see that the animation did play
- 14:37but it was very subtle because the
- 14:39animation lasts like 6 milliseconds or
- 14:42something uh and another thing was that
- 14:44it didn't fully played the animation
- 14:46because it was being overridden by our
- 14:49idle animation because it's quite
- 14:51confusing we played the animation but it
- 14:54wasn't what we animated it to be it
- 14:56barely lifted our arm and it barely
- 14:58moved our character why is that the case
- 15:01I'm going to show you once we move back
- 15:03into the animation editor okay so I'm
- 15:05going to go back to the animation editor
- 15:08and use our rig I'm going to move this
- 15:10down here so that we have a good view of
- 15:12it so what happened when we played the
- 15:14animation it certainly did not do this
- 15:17that's for sure it like kind of it sort
- 15:20of moved the arms up and it moved our
- 15:22characters torso to the right side just
- 15:24slightly but why did it do that why is
- 15:26it not doing this I want to understand
- 15:29the concept of what's known as animation
- 15:32priority and so when our character is
- 15:35playing the game our character is
- 15:37constantly playing an animation which as
- 15:40you know it's the idle animation if we
- 15:42have multiple animations playing at the
- 15:44same time like the idle animation plus
- 15:48this animation that we're trying to play
- 15:50then it's going to try to uh prioritize
- 15:53one animation over the other and if both
- 15:56of them are in the same priority then
- 15:58it's going going to be some weird
- 16:00mixture of the two so what we have to do
- 16:04is we we have to add more priority to
- 16:06our animation over our idle animation
- 16:10and the way we change our animation
- 16:11priority is by going on the left side
- 16:14here clicking on the three dots and
- 16:16there should be an option that says set
- 16:18animation priority so these are
- 16:21basically all the options for our
- 16:22animation priority and just to put
- 16:24things into perspective core is like the
- 16:27least priority
- 16:29option as you can see down here there's
- 16:31idle which is basically our idle
- 16:33animation so core is underneath idle
- 16:36what we want is to put this above idle
- 16:39and usually the best place to do this is
- 16:41in action because action has more
- 16:44priority over Idol but it also has more
- 16:46priority over movement let's say if our
- 16:48character was moving since we can say
- 16:51this is basically an action so instead
- 16:53of core we're going to set this to
- 16:55action so now that we've done that there
- 16:58isn't any visible change to this thing
- 17:01but we've now added more priority to
- 17:03this animation and in order to see our
- 17:05change what we have to do is publish
- 17:08this game to Roblox again so we're going
- 17:10to hit the three dots we're going to hit
- 17:12publish to Roblox and we're going to
- 17:14overwrite an existing asset which is
- 17:17going to be our test one right here so
- 17:19we're going to hit submit and now our
- 17:21animation should be updated uh our ID is
- 17:24still the same so we don't have to worry
- 17:25about that but let's now go into the
- 17:27game and see what happens with our with
- 17:30our animation now that we've updated our
- 17:32animation
- 17:34priority okay and as you can see we were
- 17:37able to see that our character was fully
- 17:39able to move to the right and we were
- 17:40also able to uh wave our hand up fully
- 17:44because it completely overrode our idle
- 17:47animation until this animation stopped
- 17:51so that's an interesting thing to know
- 17:52about when it comes to animation
- 17:54priority when you're creating your
- 17:56animations okay but now there's more
- 17:58animation properties that I want to
- 18:00quickly go over um when it comes to the
- 18:03animation editor and also what we can do
- 18:05through script so so here's what I'm
- 18:08going to do I'm going to extend our
- 18:11duration of these key frames so that it
- 18:14can appear slower so that we can
- 18:16actually see the animation happen so I'm
- 18:20just going to move these along so that
- 18:22once we play the animation then we
- 18:23should be able to see it better so yeah
- 18:26now we have like a better glimpse of
- 18:28this animation looks because it's closer
- 18:30to being a full second rather than
- 18:33stopping like halfway through or
- 18:35something like that I'm also going to
- 18:36turn on looping so that when we play it
- 18:39once we can constantly see it playing
- 18:42from start to finish and then start to
- 18:43finish and then start to finish and then
- 18:44you get the idea so let's now publish
- 18:48this back to Roblox by overwriting our
- 18:51already existing animation so we're
- 18:53going to go to test one submit and then
- 18:56there we go so now I'm going to
- 18:57introduce you to some more more
- 18:58properties with animation track that we
- 19:00can use to further continue animating to
- 19:04further continue using our animation so
- 19:07I want to introduce you to some notable
- 19:09Properties or methods that people may or
- 19:12may not be confused about um so I don't
- 19:14want this to be an in-depth guide to
- 19:17scripting animations on Roblox if you
- 19:19want to experiment with the stuff
- 19:21yourself you can go on the Roblox
- 19:22developer Hub I'll also put a link to
- 19:24that in the description to just see what
- 19:26there is that animation track has to
- 19:28offer that you can try yourself but one
- 19:31of those things that people may be
- 19:32tripped up about is this method called
- 19:34adjust speed so we have our animation
- 19:38playing uh that is playing at normal
- 19:41speed that lasts for 0.9 seconds but if
- 19:44we want to adjust the speed to be
- 19:46something faster we can add a multiplier
- 19:48to the normal speed of our animation
- 19:52track so by default the animation speed
- 19:54is one but if we want it to be let's say
- 19:57twice the speed then we're going to put
- 19:58down two as our speed that we want to
- 20:01adjust the animation to so it's going to
- 20:03look something like this we're going to
- 20:05say animation track colon adjust speed
- 20:10and then in parentheses we're going to
- 20:11put 0 point let's say two so that it's
- 20:16very slow whenever we decide to play the
- 20:18animation uh once we're in the game so
- 20:21let's see what happens if we go into the
- 20:22game and hit
- 20:25play all right and as you can see the
- 20:27animation is playing very slowly until
- 20:30it reaches the end and then it Loops
- 20:32back to the beginning so this seems to
- 20:34basically work as expected however there
- 20:37is something that I do want you to keep
- 20:39in mind when it comes to adjusting the
- 20:41speed you have to be very careful about
- 20:43using adjust speed when it comes to your
- 20:45animations that you're trying to change
- 20:48so we have adjust speed set equal to
- 20:520.2 after we played the animation track
- 20:55but let's see what happens if we take
- 20:57adjust speed and place it before playing
- 21:00the animation let's go into the game and
- 21:02see what happens now when we do
- 21:05that what ends up happening is adjust
- 21:08speed gets completely ignored and the
- 21:11the animation is playing at normal speed
- 21:13despite us wanting to change the speed
- 21:16of the animation and here's one thing
- 21:18that I can hypothesize about why this
- 21:21happens so if we go back to our script
- 21:23animation track colon play essentially
- 21:26what this does is it plays the animation
- 21:29at normal speed regardless of if you
- 21:31changed the speed of the animation track
- 21:34so if we hit play then it's going to
- 21:37start initially at the normal speed so
- 21:41in order to change the speed of the
- 21:43track that's currently being played we
- 21:45have to adjust the speed after we play
- 21:48the animation and that's my hypothesis
- 21:50on it I don't know if that's true but it
- 21:53seems to make sense if that is the case
- 21:55so that is one thing I do want to
- 21:57mention when it comes to adjusting the
- 21:58speed of the animation because I've had
- 22:00this issue many times in the past and
- 22:02this has confused a lot of people we
- 22:04have the ability to detect when an
- 22:05animation is playing and when an
- 22:07animation is stopping or those sorts of
- 22:09things but one thing we don't know is
- 22:12knowing when we've reached a certain
- 22:15point within the animation so if I were
- 22:17to go back to my animation editor let's
- 22:20say we were at this let's say we were at
- 22:23this point specifically how can we tell
- 22:26if we reach this point point of the
- 22:29animation what we can do is use what's
- 22:32called a marker to mark this specific
- 22:35frame within the timeline so that once
- 22:38we play the animation and we reach this
- 22:41point within the animation then we're
- 22:44going to tell our local script to
- 22:46activate an event because we've reached
- 22:48this point in the timeline so here's how
- 22:51we add a marker we're basically going to
- 22:54be in the timeline that we want to add
- 22:55this marker in and we're going to right
- 22:57click and say add animation event here
- 23:01so we're going to hit this button and
- 23:03it's going to show this window so what
- 23:04we can do is add an event here by
- 23:06clicking on add event and it's going to
- 23:08give us two boxes one of them for the
- 23:11event name and the other one for a
- 23:12parameter so for the event name what
- 23:14we're going to do is give it a name so
- 23:17we're probably just going to say like
- 23:18halfway and then what's interesting is
- 23:21we can add a parameter here and I'm
- 23:24going to show you what this parameter
- 23:25does but for right now we could just say
- 23:27something Rand like parameter one it
- 23:30doesn't really matter too much you can
- 23:32even leave this blank if you want but
- 23:35what we're going to do is hit save we
- 23:36can see this little marker placed on
- 23:38this time frame right here so now what
- 23:41we're going to do is go and publish this
- 23:44into robloxs again so that we can have
- 23:47an updated animation when we script our
- 23:50when we script it okay so let's go back
- 23:52to our script so let's drop two lines
- 23:54down here and what we're going to do is
- 23:56we're going to use a function that
- 23:58allows us to detect when we reach a
- 24:01certain point in the timeline to
- 24:03activate an event so this is what it's
- 24:05going to look like we're going to say
- 24:07animation track colon get marker reached
- 24:12signal and what we're going to do here
- 24:15is say open and close parentheses and
- 24:17we're going to specify the name of the
- 24:19event which if you remember it was event
- 24:22one and we're going to connect this by
- 24:24saying colon connect by creating a
- 24:27function open close parentheses and then
- 24:29in here we're going to add in our
- 24:31parameters which if you remember we did
- 24:33that when we created our marker so then
- 24:36we're going to hit enter and so now
- 24:37whatever we do inside of here it's going
- 24:40to fire after we trigger this event one
- 24:43marker in the animation ideally when we
- 24:45reach it when we're playing the
- 24:46animation so for right now what we can
- 24:48just do is just print out whatever the
- 24:51parameter is inside of here it's called
- 24:54halfway I seem to be forgetting things
- 24:56for some reason okay but let's go back
- 24:58into the game and now see the change for
- 25:01ourselves all right and as you can see
- 25:04once we're halfway through our animation
- 25:06it's being printed out in the output our
- 25:09parameter that we specified uh inside of
- 25:12the event when we created it in the
- 25:14animation editor so it's going to
- 25:16constantly do this because we have the
- 25:18animation looped uh if you remember from
- 25:20the timeline it's basically going to be
- 25:22in the halfway mark uh to signify that
- 25:25the event has been fired and it's going
- 25:27to print out our parameters down here so
- 25:29this is how we can detect when we reach
- 25:31a certain frame in the animation and I
- 25:34recommend doing it this way because I
- 25:35know there's other ways of doing it like
- 25:37key frame reached but that's generally
- 25:39not recommended when it comes to this so
- 25:41that is basically how you detect When
- 25:43You Reach certain frames within the
- 25:44animation so for this last part of the
- 25:47video I want to debunk two very common
- 25:49misconceptions that people have about
- 25:51animations so that you don't go through
- 25:53with these issues the first one is that
- 25:55it's not possible to access animations
- 25:58that are created by other people
- 26:00directly using their animation within
- 26:02your own game or if this was an
- 26:05animation that was created within a
- 26:07group that's not being used by that
- 26:09group owner what I'm trying to get out
- 26:11here is that Roblox has this privacy
- 26:13policy when it comes to sharing
- 26:15animations if let's say you had a game
- 26:17that was created within a group if the
- 26:19animations are not created within that
- 26:22group directly then you can't use the
- 26:25animation in your Roblox game if this
- 26:28was a game that was created by a single
- 26:30player all animations that are used
- 26:33within that game has to be created by
- 26:35the owner it cannot be you can't use an
- 26:38animation that was created by other
- 26:40people so you might think oh well okay
- 26:42if I can't use animations created by
- 26:44other people then I basically just have
- 26:46to create all my animations from scratch
- 26:49and to that I say technically yes but
- 26:52there are workarounds when it comes to
- 26:54this so it actually is possible to use
- 26:57animations created by other people if
- 27:00that person created a rig with an
- 27:03animation saved onto it and uploaded it
- 27:05as a model so I'm going to show you an
- 27:07example of what this looks like so I'm
- 27:09going to go to the toolbox and I'm going
- 27:10to search up something like club penguin
- 27:14dance and then there should be this
- 27:17animation right here with this rig so
- 27:20I'm going to open up this character and
- 27:22there should be something here called
- 27:24anim saves that basically saved all of
- 27:26the animations that are within this
- 27:28character but you might notice that this
- 27:30is a key frame sequence this is not an
- 27:32animation so when we open this up we
- 27:35have all the key frames within the
- 27:37timeline to have a real animation it's
- 27:40just now we have to convert this into an
- 27:43animation that we can upload to Roblox
- 27:45so what I'm going to do is I'm going to
- 27:47go to the animation editor and I'm going
- 27:50to go and hit the three dots and I'm
- 27:52going to create a new animation so I'm
- 27:54going to call this uh dance one so
- 27:58from what we see here we have all the
- 28:01key frames in this timeline to be able
- 28:03to play the animation so if I play the
- 28:05animation then you can see that the club
- 28:06penguin dance is being played right here
- 28:09which is very fascinating like this this
- 28:11was created by another person so with
- 28:14this in mind we have the animation here
- 28:17and what we can now do is publish this
- 28:20animation to Roblox as if it was our own
- 28:23animation so this could be our club
- 28:25dance we're just going to call this club
- 28:27dance one and we can now uh check this
- 28:30off hit okay and now we have our own
- 28:33animation that we can play so we can hit
- 28:35copy hit close and what I've decided to
- 28:38do was I've created a local script that
- 28:41basically um fires that basically plays
- 28:44an animation if I decide to hit the r
- 28:46key using user input service but before
- 28:49I can test this here's a conflicting
- 28:52issue if we go to the character we can
- 28:55see that this guy only has six parts if
- 28:58we don't include the humanoid root part
- 29:00this follows an R six character model
- 29:03what we were working with before was
- 29:04following an R15 model so in order for
- 29:08us to use this animation we ourselves
- 29:11have to be an R six character so we're
- 29:13going to have to switch over to an R six
- 29:16model so I'm going to go to my so I'm
- 29:18going to go to my avatar and quickly
- 29:20change myself to an R six character
- 29:21because if you're an r-15 character you
- 29:24can't use R six animations and the same
- 29:27thing works with the other way around
- 29:29okay so I've now loaded into the game
- 29:31using an R six character so I only have
- 29:34six parts not 15 if I hit R then it
- 29:37should be playing the club penguin dance
- 29:39animation because I have successfully
- 29:43been able to take somebody else's
- 29:44animation that's free of use and I
- 29:47uploaded that myself under my own
- 29:49profile and I'm now able to use it in my
- 29:51own game so this was just something I
- 29:53wanted to address when it came to
- 29:56animations and so miscon ceptions that
- 29:58may come about when it comes to this
- 30:00because I was very confused with this
- 30:01stuff in the past so so I want you to be
- 30:03aware of these sort of things when it
- 30:05comes to uploading animations onto
- 30:07Roblox and using other people's
- 30:09animations but with that being said
- 30:11we've now reached the end of the video
- 30:13and if it felt like I went really fast
- 30:15with this video I apologize because
- 30:17animating is a whole sector when it
- 30:20comes to game development and there's a
- 30:23lot of things that go on when it comes
- 30:24to creating animations and uploading
- 30:27them so this video wasn't an in-depth
- 30:29guide to animating but at least from
- 30:31what we can say so far from this video
- 30:34we were introduced to the animation
- 30:36editor we were able to create our own
- 30:38animations and understand the editor a
- 30:40little bit and Implement them inside of
- 30:42Roblox studio and also address some
- 30:45concerns and misconceptions that
- 30:47animations might have when it come that
- 30:50an that you might have when it comes to
- 30:52animations if you were to work with
- 30:53these down the line so with that being
- 30:55said that's going to be it for this
- 30:57episode I hope you found this video to
- 30:58be very informative and I will see you
- 31:00in the next episode take care
About this transcript
This page contains the full transcript of Animations (Rigs, Editor, Tracks) - Roblox Advanced Scripting #20 (2024) by BrawlDev, generated from the public captions YouTube serves with the video. The transcript has 5,812 words across 774 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.