The ONLY Raycasting Tutorial You'll EVER NEED

Поділитися
Вставка
  • Опубліковано 19 гру 2024

КОМЕНТАРІ • 182

  • @scripting
    @scripting  3 місяці тому +2

    If you learned a lot from the video, check out my beginner’s guide to roblox scripting book: ua-cam.com/users/shortsDLYJ8l-XZm0?si=3owoBWGS6MV8h4TG

    • @CoPilot4567
      @CoPilot4567 Місяць тому

      @@scripting I’ll check it out

    • @Its_Bielzinn
      @Its_Bielzinn 22 дні тому

      7:30 Actually it is an Humanoid property called FloorMaterial. If the cheraxter is jumping, it will say that it's Air material.

  • @davidnatanael8542
    @davidnatanael8542 11 місяців тому +19

    This video explain raycasting very well, good job!
    (i hope you get popular)

    • @scripting
      @scripting  11 місяців тому +5

      Thank you so much!

  • @theCentauran
    @theCentauran 28 днів тому +3

    Great video! i had to pause several times because while I was brainlessly following other tutorials, you explained what specific lines of code did and everything just clicked, thank you!!

  • @relix3267
    @relix3267 9 місяців тому +9

    Damn this is a good video you explained everything so well! I really hope you make it as a big youtuber cause I believe you have a ton of potential.

  • @lucasbarker9075
    @lucasbarker9075 11 місяців тому +37

    I’m not making a game,I’m just watching this for entertainment

  • @BeastyShorts
    @BeastyShorts 2 місяці тому +1

    Been working on procedural animation recently and needed to look into raycasting. This is the best tutorial ive seen for any topic in roblox studio by far. Thank you and i hope you post more! I typically never comment but this was amazing

  • @Pabliski577
    @Pabliski577 10 місяців тому +6

    It's a shame that mostly coders will watch this and not more people, because it's a fantastic video

  • @anwyllaquilla4724
    @anwyllaquilla4724 6 місяців тому +7

    This is sooo digestable not just mindless ramblings on 30 lines of codes
    I hopw that you get the attention and subscribers you deserve

    • @vicentegodoy3783
      @vicentegodoy3783 4 місяці тому

      yeah, i love these type of videos that are so well made

  • @rolpon2871
    @rolpon2871 5 місяців тому +2

    This is such a good raycasting tutorial!!!!! I could 100% see a new roblox scripter easily learning how raycasting works with this video. Great job using animations to explain how raycasting works!

  • @weirdguylol
    @weirdguylol 11 місяців тому +3

    This is easily one of the best tutorials ever made

  • @CallMe_Noah
    @CallMe_Noah 8 місяців тому +3

    how is this so underrated yet the edit is absolutely amazing and the teaching finally actually teached me the most of raycasting, you deserve a million subs dude

  • @Twistedd14
    @Twistedd14 2 місяці тому

    Dude this is so insanely helpful. The explanations are perfect and I understood everything, thanks!!

  • @Aropiction
    @Aropiction 4 місяці тому +2

    Well I don't speak English very well, so I'm screwed, but finally a young person who knows how to make tutorials! This way of learning, here is a real tutorial and not just a presentation of a script

  • @mrenots5489
    @mrenots5489 7 місяців тому +1

    Wish i saw this sooner, i've been trying to learn about raycasting for a while now.

  • @KashTheKingYT
    @KashTheKingYT 10 місяців тому +2

    Very nice tutorial and editing!
    I will be recommending this video to anyone asking me about raycasting

  • @HullyDoesCoding
    @HullyDoesCoding 10 місяців тому +1

    Ur teaching is so underrated ong. U deserve more subscribers

  • @Gyfou
    @Gyfou 2 місяці тому

    Super cool tutorial, thx ! (btw love the editing)

  • @Sl33pySt3rdust
    @Sl33pySt3rdust 3 місяці тому

    This video really helped me understand raycasting, the maths of it, etc.... Thank you, great work!

  • @HeyShattered
    @HeyShattered 8 місяців тому +4

    *i asked my mom to buy me your book as my birthday gift

    • @scripting
      @scripting  8 місяців тому +2

      Happy birthday and thank you!🙏

    • @HeyShattered
      @HeyShattered 8 місяців тому +1

      @@scriptingyou're my favorite roblox studio youtuber :D

    • @HeyShattered
      @HeyShattered 8 місяців тому +1

      @@scriptinghey i followed the link and went on kindle but it says there's no more hard copies left 😭

    • @scripting
      @scripting  8 місяців тому +1

      @HeyShattered Check the Barnes and noble one

    • @scripting
      @scripting  8 місяців тому +1

      @HeyShattered www.barnesandnoble.com/w/unofficial-beginners-guide-to-roblox-scripting-kushal-timsina/1144181010

  • @Riptcage
    @Riptcage 9 місяців тому +8

    While the video does great at explaining how raycasts work... the main raycasting of the gun is all happening on the client, which doesn't really work well in a multiplayer environment.

    • @scripting
      @scripting  9 місяців тому +3

      It doesn’t, you’re right. But for games with small servers or small Raycasts / second, it’s totally fine. In my experience, even 20-40 Raycasts per second works fine

    • @aeroslothy
      @aeroslothy 3 місяці тому

      multithread it

  • @maxcamp6
    @maxcamp6 4 місяці тому

    this is genuinely the best scripting tutorial ive seen on youtube, i hope you gain more traction because this is criminally underrated.

  • @AmerKhanfarOPlus
    @AmerKhanfarOPlus 2 місяці тому

    the best video explaining raycast on youtube
    thank you so much!

  • @MonekDude
    @MonekDude 10 місяців тому +1

    This Tutorial Helped me Alot, Before watching this, i didn't even know What raycasting Is, Now i do. Thanks!

  • @TheBananaDogeGod
    @TheBananaDogeGod 4 місяці тому

    Wow that was probably the best roblox tutorial I've ever seen. Super high quality 👍

  • @fireakahatred1396
    @fireakahatred1396 11 місяців тому +3

    nah no way, this video only have 7 comments and 20 likes, this video is so well made and yet so underrated

    • @scripting
      @scripting  11 місяців тому

      Took 2 months to make this video 😅

  • @KittyMeow0405
    @KittyMeow0405 Місяць тому

    That Is The Best Video That Actually Helps I Keep Coming Back To It Because I Can't Remember how to do it :)

  • @ImTalkative
    @ImTalkative 11 місяців тому +4

    Yet another useful video. Thankyou!

    • @scripting
      @scripting  11 місяців тому +1

      Anytime for you guys

  • @Lovely_Smiling
    @Lovely_Smiling 7 місяців тому +3

    I wish I've find you sooner your video is very helpful and made with efforts! I've been struggling trying to learn raycasting for a while and this video help me out a lot you deserve more subscriber 💖

  • @awioshguiosdhgihu
    @awioshguiosdhgihu 2 місяці тому

    This vid was really helpful. It helped me make a custom footstep sound script. 😊

  • @BlueTheCrew
    @BlueTheCrew 4 місяці тому

    thank you, i always thought this was hard but you explained it in such a simple way!

  • @jonnyponnyyy
    @jonnyponnyyy 11 місяців тому +4

    Interesting and Entertaining Video Lesson!
    Perfectly balanced as all things should be.

  • @musembifamily1318
    @musembifamily1318 10 місяців тому +1

    this is good good job and also can you make more vids on advanced stuff? pls like stuff that isnt taught yet bc most ppl say read the docs but i like hearing than reading

    • @scripting
      @scripting  10 місяців тому

      Sure! What stuff do you wanna see?

    • @yt-user235
      @yt-user235 6 місяців тому

      @@scripting could you maybe explain the for stuff like "for i,v'

  • @gunsizey
    @gunsizey 4 місяці тому

    real lifesaver, keep up the good stuff bro

  • @HimJustHim.
    @HimJustHim. 9 місяців тому +1

    ngl , this video is both entertaining and easy to understand , im looking forward to the shapecast video

    • @scripting
      @scripting  9 місяців тому

      Glad you enjoyed it!

  • @mrva1k
    @mrva1k 8 місяців тому +1

    This is one of the best tutorials on ray casting I have came across on UA-cam (along with ByteBlox’s)! I am looking forward to more uploads from you :)

  • @Akuma_Boi
    @Akuma_Boi 2 місяці тому

    This is actually the best explanation, but these are extremely hard to make so i ront expect a full scripting tutorial with these types of explanation and jokes lmfao

  • @otterryy
    @otterryy 10 місяців тому +1

    very good explanations would look to see more videos like this but chill on the sfx and tv glitch

  • @snakeanimations9025
    @snakeanimations9025 4 місяці тому

    Most entertaining tutorial I've ever watched lol. Great vid. :)

  • @1KosovoJeSrbija1
    @1KosovoJeSrbija1 7 місяців тому +5

    the most important script is on screen for a total of two seconds 💀

    • @scripting
      @scripting  7 місяців тому +1

      Good thing there’s pause! 😂

  • @s1nblitz
    @s1nblitz 6 місяців тому

    thanks broski, i spent SO LONG wondering why my raycast gun didnt work for some reason. seems like the multiply by 500 thing was all i needed

  • @Martin-ew3gy
    @Martin-ew3gy 9 місяців тому +1

    I RARELY COMMENT BUT THIS IS SO WELL EXPLAINED,,, TYSM

  • @Just-a-commenting-account
    @Just-a-commenting-account 11 місяців тому +1

    wow really helpfull straight to the point and explained so that it can be understood easily! Thank you! (Just got a new sub)

  • @AntiNuke_
    @AntiNuke_ 10 місяців тому +1

    Thank you for the car analogy to explain the normal of an object, I was literally thinking "what practical use does this have".

    • @scripting
      @scripting  10 місяців тому

      Yup. It’s used everywhere, especially in places where we would never even think of.
      When a gun is firing, we fire a ray where the origin is the gun and the direction is where our mouse points (just like in the video)
      When you select a troop in a tower defense game (or in my game, battle mania), a Raycast is done from the foot to the ground so the script knows where the ground is and to place the troop effectively

    • @AntiNuke_
      @AntiNuke_ 10 місяців тому

      I was talking specifically about the "Normal" of the raycast. I know raycasts are used for basically everything, super useful tool. But before now I had no clue what the normal of a raycast instance was, and during the video I was wondering when anyone would ever use it.@@scripting

    • @scripting
      @scripting  10 місяців тому

      @@AntiNuke_ Gotcha. Yeah, the normal is used like in the footsteps example, and perhaps also making a thrown object ricochet off surfaces it hits.
      For example, a ball is thrown. It hits a wall. Apply a lesser force on that ball with the direction of the normal of the surface. Repeat.
      If you do this to a laser, it can give a laser bouncing off / ricochet effect

    • @AntiNuke_
      @AntiNuke_ 10 місяців тому

      Yep, I just actually used the normal of an object to make a script that makes the camera bounce off an object it hits using a raycast from the head to the camera position detecting what the camera is hitting.@@scripting

  • @Ergo288
    @Ergo288 3 місяці тому

    Im not a dev but I find these video entertaining
    :D

  • @mathiashansen2424
    @mathiashansen2424 5 місяців тому

    Very good tutorial. The only thing i need to know now is how people make it so when you shoot a gun with raycasting. It will leave a trail so it looks like it is a kind of bullet, a lot of games have this :D

    • @scripting
      @scripting  5 місяців тому +1

      You can make a bullet and use ApplyImpulse on it to make it fire

  • @lexicon_c
    @lexicon_c 9 місяців тому +2

    hold on, at 7:34 ish, doesnt the roblox humanoid have a floormaterial property? couldnt you use that instead??

    • @scripting
      @scripting  9 місяців тому +1

      You could, but this video was made before I found that property out. Behind the scenes however, roblox most likely uses Raycasting to deduce the floor material

    • @lexicon_c
      @lexicon_c 9 місяців тому

      @@scripting ohh! okay

  • @duhthunder9423
    @duhthunder9423 10 місяців тому +1

    Underrated , keep it up

  • @susanaingles6576
    @susanaingles6576 2 місяці тому

    Gave up on this tutorial 6 minutes in. The added graphics got in the way of seeing the script. Script was added without it being noted in audio. Couldn’t get past an error when trying to get the mouse position in the Handle script.

    • @scripting
      @scripting  2 місяці тому

      Which error? If you watch the whole video, you should understand it

  • @AlexisAutotte
    @AlexisAutotte 3 місяці тому

    Man amazing work man 😂 😂 👏👏👏

  • @mortality
    @mortality 2 місяці тому

    thank you for teaching me about normals you are amazing

  • @edonpogi5
    @edonpogi5 5 місяців тому

    Am only at halfway but like DAMN THIS IS AWESOME TUTORIAL

  • @Plehlowla
    @Plehlowla 4 дні тому

    Awesome video

  • @artzistired
    @artzistired 14 днів тому

    so sorry if im bring stupid here--at 5:20, where exactly do you put the localscript? StarterPlayer, ReplicatedStorage, or whatever? I'm unsure where it's supposed to be

    • @scripting
      @scripting  14 днів тому +1

      Hi. You’re not being stupid, don’t worry. All questions are good questions! The local script can go in starter gui or starter pack.

  • @p3rf3ctionz
    @p3rf3ctionz 3 місяці тому

    I'm subscribing bro this content is fire. 6:23

  • @StevenMcCauley-o7q
    @StevenMcCauley-o7q 9 місяців тому +1

    21 yo cs major and this is good quality education i hope to educate people one day in the future

    • @scripting
      @scripting  9 місяців тому

      Thank you man. I’m 20 y/o cs major

  • @SAJOMENEZ
    @SAJOMENEZ 8 місяців тому

    REALLY WELL EXPLAINED!
    YOU ARE UNDER RATED

  • @darkbard7
    @darkbard7 9 місяців тому +2

    Your so underated

  • @oleNikolic
    @oleNikolic 4 місяці тому +1

    I have a question, how much did you Need to study(practice) scripting and other game aspecpts before being sure to make a big project like the ‘Battle Mania’. I am asking this because i currently have about 1year scripting knowledge, and i don’t really know to build on blender, make Vfxs and that stuff😅

    • @scripting
      @scripting  4 місяці тому

      I’ve been scripting for 8 years. So, by the time I began battle mania, I already knew how to script anything I wanted lol. Keep on scripting though, script whatever you want to script and whatever is interesting, and you’ll get there.

    • @oleNikolic
      @oleNikolic 4 місяці тому

      @@scriptingJust one more question, did you also build and did the vfx stuff for the Game or you Had someone(or a team) to build that stuff?

    • @scripting
      @scripting  4 місяці тому +1

      @oleNikolic I work with a 3d modeler / animator. Everything else was made by myself

  • @SHOIOTERB
    @SHOIOTERB 8 місяців тому

    Thank you, now I know how to make a Part go to the position where you clicked and make it look at the part

  • @rbu9_
    @rbu9_ 10 місяців тому +1

    if u continue like this, u will be the biggest roblox devolper youtuber.

    • @scripting
      @scripting  10 місяців тому

      Most definitely

  • @ben4990
    @ben4990 6 місяців тому

    The top of my left eye enjoyed the first half

  • @scount999
    @scount999 8 місяців тому

    Best Raycasting guide out rn

    • @scripting
      @scripting  8 місяців тому

      You know it 💯

  • @altas6067
    @altas6067 7 місяців тому +1

    followed the code and at the point around 5:30 instead of the raycast returning the values it returns nil

    • @scripting
      @scripting  7 місяців тому

      I believe it’s because for the Attachment.Position, it should have been Attachment.WorldPosition

  • @CoPilot4567
    @CoPilot4567 Місяць тому

    SO UNDERRATED

  • @Devthedev.
    @Devthedev. 8 місяців тому

    You are extremely underrated

  • @shexahi2823
    @shexahi2823 5 місяців тому

    6:38 when i ran it i got an error
    "Players:GetNameFromUserIdAsync() failed: HTTP 429 (Too Many Requests)"
    anyone know the issue? this is the code
    local laser = script.Parent
    local getMouseRemote = game.ReplicatedStorage.getMouseRemote
    laser.Activated:Connect(function()
    local player = game.Players:WaitForChild(laser.Parent.Name)
    local rayorigin = laser.Handle.Rayorigin.Position
    local mouseposition = getMouseRemote:InvokeClient(player)
    local raydirection = (mouseposition - rayorigin).Unit * 400
    local raycastresult = workspace:Raycast(rayorigin, raydirection)
    if raycastresult then
    print(raycastresult.Instance)
    raycastresult.Instance:Destroy()
    end
    end)

  • @goldenwolf5313
    @goldenwolf5313 Місяць тому

    also i tried to make a visulizer for the raycast(to help me do it easier) and then it was floating so idk whats that about

  • @Jamal.frl_13
    @Jamal.frl_13 7 місяців тому +1

    So how do you make a gun with projectiles with raycast?

    • @corbinwalton9996
      @corbinwalton9996 6 місяців тому

      check if what it hits is a player by checking if its parent has a humanoid and then lower the humanoids health if there is one

    • @Jamal.frl_13
      @Jamal.frl_13 5 місяців тому

      @@corbinwalton9996 I know how to do that, but I wanted to use raycast to make projectiles instead and if it would touch the character I would now lower the health.

  • @yarik_superpro
    @yarik_superpro 4 місяці тому

    5:26 bro didnt cooked with this idea

  • @juanbones
    @juanbones 4 місяці тому +2

    Why does it say “ray origin” is not a valid member of part?

  • @thecrazydudeman420
    @thecrazydudeman420 3 місяці тому

    okay what was that shortcut at 20:09
    I swear I'm always learning new studio shortcuts that save me hours

  • @Ibrahim-o3m7m
    @Ibrahim-o3m7m 10 місяців тому +1

    this video explained raycasting very well. although why did you give it to ur little brother again?

    • @scripting
      @scripting  10 місяців тому

      Thanks. The reason we gave it to the little brother is because it isn’t dangerous. It’s a toy! 😅

  • @starilu
    @starilu 8 місяців тому +1

    is there a way to make the raycast like into a visible object like a laser or a bullet

    • @scripting
      @scripting  8 місяців тому

      You can. You’d make a part and set the CFrame to look where you want it to and the size.Z (or size.X) to the raycastResult.Distance

  • @MagAgent006-qj5nm
    @MagAgent006-qj5nm 4 місяці тому +1

    finally a good explain video for idiots like me

    • @scripting
      @scripting  4 місяці тому +2

      I fully think that if you’re watching this video, you are not an idiot

  • @goldenwolf5313
    @goldenwolf5313 Місяць тому

    also while making a raycast i noticed it said that the ray cast params had to be included in the raycast result when i tried doing it how u did it, it failed to work but when i added the params above the result and into the result it worked, so uh just wanted to ask why it worked for u but not me? : edit nvm my brain farted

  • @JeLeff.
    @JeLeff. Місяць тому

    9:17 THE HARDEST CUBE EDIT I HAVE EVER SEEN🔥🔥🔥🔥🥶🥶

  • @Astrolightation
    @Astrolightation 8 місяців тому +2

    Is this inspired by Cary time traveler video.. 😱

    • @scripting
      @scripting  8 місяців тому

      Nope

    • @Astrolightation
      @Astrolightation 8 місяців тому

      @@scripting Oh, because I thought of the baby reference.. they used. 🤔

    • @scripting
      @scripting  8 місяців тому

      @PurpleLegoPieces the baby picture was one I found from unsplash, a free stock image site

  • @Official_SteamPUNKS
    @Official_SteamPUNKS 5 місяців тому

    if anyone has any idea if this works, is there a way to make it so that I can have the ray fire off when I press space bar as oppose to having a weapon active? thanks!
    I should also mention I want the ray to originate from the Player

  • @whoishype
    @whoishype 4 місяці тому

    time to take the script and redo it without learning anything-

  • @Fahej34214
    @Fahej34214 8 місяців тому

    Where do you create the mousepos script at 5:20?

    • @scripting
      @scripting  8 місяців тому

      I believe it’s a local script in starter gui

    • @Fahej34214
      @Fahej34214 8 місяців тому

      @@scripting when I put it there is says
      OnClickInvoke is not a valid member of RemoteFunction "ReplicatedStorage.GetMousePosition"

    • @Fahej34214
      @Fahej34214 8 місяців тому

      when I put it anywhere besides ServerScriptService it gives me an error but even when its there it doesnt work

    • @scripting
      @scripting  8 місяців тому

      So that’s because it shouldn’t be OnClickInvoke, it should be OnClientInvoke
      The reason it doesn’t give you an error when it’s in server script service is because local scripts cannot run there

    • @Fahej34214
      @Fahej34214 8 місяців тому

      @@scripting ohhh right im blind, sorry for wasting your time, thx for help

  • @imactualperson
    @imactualperson 6 місяців тому

    loading 414GB of information... (watching vid)
    ...
    successfully loaded 414GB of information (415724112 GB left)
    cool vid! i hope u will get 83275329856352735265+ subscribers

  • @JyrenTempest
    @JyrenTempest 5 місяців тому

    Amazing 😂

  • @goldenwolf5313
    @goldenwolf5313 Місяць тому

    How do u remove the indents if u end up removing an "if" statement, its always so annoying to have to remove them.

    • @scripting
      @scripting  Місяць тому

      Highlight the area of your script you want to de-indent. Then press control + [
      Doing that will de-indent those lines. Pressing control + [ will apply an indent to those lines.
      You’re welcome

    • @goldenwolf5313
      @goldenwolf5313 Місяць тому

      @ thank you my brain dies when it looks odd like that after so this is very helpful

  • @GeneralFrst
    @GeneralFrst 6 місяців тому

    Is it possible to make the raycast go through everything? Or i have to use somrthing else

    • @scripting
      @scripting  6 місяців тому +1

      Yes you can. The way it’s done is like this: fire a Raycast. From the Position of the Raycast Result, fire another one again in the same direction. And another. … and so on

    • @GeneralFrst
      @GeneralFrst 6 місяців тому

      ​@@scriptingthanks

  • @audrete6071
    @audrete6071 12 днів тому

    isn't the a humanoid property called floor material?

  • @Axoy2024
    @Axoy2024 2 місяці тому +1

    bro what did the monkeys do to you😭

  • @tdlordeader1
    @tdlordeader1 25 днів тому

    Uh, guys i think u guys got an error, and it isnt working now, to fix that, i did so the rayoriigin is the worldposition instead of position.

    • @scripting
      @scripting  25 днів тому

      Yes, that was fixed later in the video

  • @benjagameplays555
    @benjagameplays555 15 днів тому

    is it impossible to get all the things the ray is touching?

    • @scripting
      @scripting  15 днів тому

      Raycasts only give you the first thing. Imagine a really slim needle that only touches one spot. That’s kind of what the “laser”is. To get everything, you can use region3. Basically, you create a region around the thing the ray touches and get everything in that region.

    • @benjagameplays555
      @benjagameplays555 15 днів тому

      @@scripting tysm, btw this is the fastest answer i ever got

  • @trujer1931
    @trujer1931 2 місяці тому

    when i was clicking, it never gave me the distance or the instance.

    • @scripting
      @scripting  2 місяці тому

      Make sure your code is typed correctly and you are using the exact code from the video. You might be missing a line

    • @trujer1931
      @trujer1931 2 місяці тому

      @@scripting I figured out that it wont register the click, is there any way to fix that?

    • @scripting
      @scripting  2 місяці тому

      @trujer1931 it depends on your Raycasting code

    • @trujer1931
      @trujer1931 2 місяці тому

      @@scripting okay, thanks

    • @trujer1931
      @trujer1931 2 місяці тому

      @@scripting also, thats weird cause im using the same laser gun that you were

  • @dat_o1
    @dat_o1 Місяць тому

    Why didn't you explain where the local script is located?

  • @wume
    @wume 3 місяці тому

    incrível!

  • @DrFerdy
    @DrFerdy 4 місяці тому

    you forgot to code the bullet btw

    • @scripting
      @scripting  4 місяці тому

      The laser itself uses Raycasting

    • @scripting
      @scripting  4 місяці тому

      Bullet object wasn’t needed

    • @DrFerdy
      @DrFerdy 4 місяці тому

      @@scripting yeah i just realized it today,it was meant to represent where the ray start

  • @nilwashere
    @nilwashere 8 місяців тому +1

    ur a g

    • @scripting
      @scripting  8 місяців тому +1

      ur a g for watching

  • @SmileyGradient
    @SmileyGradient 3 місяці тому

    It's gone.

  • @firebloox
    @firebloox 6 місяців тому

    LocalPlayer is not a valid member of "Players" wth

    • @scripting
      @scripting  6 місяців тому

      Use a local script

  • @sadge6430
    @sadge6430 9 місяців тому

    =po

  • @sadge6430
    @sadge6430 9 місяців тому

    yit

  • @sadge6430
    @sadge6430 9 місяців тому

    nbv