The ONLY Raycasting Tutorial You'll EVER NEED

Поделиться
HTML-код
  • Опубликовано: 26 дек 2024

Комментарии • 184

  • @scripting
    @scripting  3 месяца назад +2

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

    • @CoPilot4567
      @CoPilot4567 Месяц назад

      @@scripting I’ll check it out

    • @Its_Bielzinn
      @Its_Bielzinn 29 дней назад

      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!

  • @lucasbarker9075
    @lucasbarker9075 11 месяцев назад +37

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

  • @HeyShattered
    @HeyShattered 9 месяцев назад +4

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

    • @scripting
      @scripting  9 месяцев назад +2

      Happy birthday and thank you!🙏

    • @HeyShattered
      @HeyShattered 9 месяцев назад +1

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

    • @HeyShattered
      @HeyShattered 9 месяцев назад +1

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

    • @scripting
      @scripting  9 месяцев назад +1

      @HeyShattered Check the Barnes and noble one

    • @scripting
      @scripting  9 месяцев назад +1

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

  • @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.

  • @theCentauran
    @theCentauran Месяц назад +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!!

  • @Pabliski577
    @Pabliski577 10 месяцев назад +6

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

    • @scripting
      @scripting  10 месяцев назад

      It is. Thanks!

  • @anwyllaquilla4724
    @anwyllaquilla4724 7 месяцев назад +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

  • @weirdguylol
    @weirdguylol 11 месяцев назад +3

    This is easily one of the best tutorials ever made

  • @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 😅

  • @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

  • @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

  • @HullyDoesCoding
    @HullyDoesCoding 10 месяцев назад +1

    Ur teaching is so underrated ong. U deserve more subscribers

  • @KashTheKingYT
    @KashTheKingYT 10 месяцев назад +2

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

  • @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

  • @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.

  • @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!

  • @mrenots5489
    @mrenots5489 7 месяцев назад +1

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

  • @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

  • @Gyfou
    @Gyfou 2 месяца назад

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

  • @AmerKhanfarOPlus
    @AmerKhanfarOPlus 2 месяца назад

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

  • @jonnyponnyyy
    @jonnyponnyyy 11 месяцев назад +4

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

  • @ImTalkative
    @ImTalkative 11 месяцев назад +4

    Yet another useful video. Thankyou!

    • @scripting
      @scripting  11 месяцев назад +1

      Anytime for you guys

  • @p3rf3ctionz
    @p3rf3ctionz 3 месяца назад

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

  • @MonekDude
    @MonekDude 10 месяцев назад +1

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

  • @Sl33pySt3rdust
    @Sl33pySt3rdust 3 месяца назад

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

  • @1KosovoJeSrbija1
    @1KosovoJeSrbija1 7 месяцев назад +6

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

    • @scripting
      @scripting  7 месяцев назад +1

      Good thing there’s pause! 😂

  • @TheBananaDogeGod
    @TheBananaDogeGod 4 месяца назад

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

  • @Twistedd14
    @Twistedd14 2 месяца назад

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

  • @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 💖

  • @BlueTheCrew
    @BlueTheCrew 4 месяца назад

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

  • @HimJustHim.
    @HimJustHim. 10 месяцев назад +1

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

    • @scripting
      @scripting  10 месяцев назад

      Glad you enjoyed it!

  • @gunsizey
    @gunsizey 4 месяца назад

    real lifesaver, keep up the good stuff bro

  • @snakeanimations9025
    @snakeanimations9025 4 месяца назад

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

  • @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'

  • @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 :)

  • @Ergo288
    @Ergo288 4 месяца назад

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

  • @awioshguiosdhgihu
    @awioshguiosdhgihu 3 месяца назад

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

  • @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

  • @chizucoan835
    @chizucoan835 2 дня назад

    Thanks i think this would be a great help for my game

  • @lexicon_c
    @lexicon_c 10 месяцев назад +2

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

    • @scripting
      @scripting  10 месяцев назад +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 10 месяцев назад

      @@scripting ohh! okay

  • @mrva1k
    @mrva1k 8 месяцев назад +1

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

  • @Martin-ew3gy
    @Martin-ew3gy 10 месяцев назад +1

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

  • @AntiNuke_
    @AntiNuke_ 11 месяцев назад +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  11 месяцев назад

      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

  • @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

  • @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

  • @otterryy
    @otterryy 10 месяцев назад +1

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

  • @Plehlowla
    @Plehlowla 11 дней назад

    Awesome video

  • @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

  • @altas6067
    @altas6067 8 месяцев назад +1

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

    • @scripting
      @scripting  8 месяцев назад

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

  • @darkbard7
    @darkbard7 9 месяцев назад +2

    Your so underated

  • @scount999
    @scount999 8 месяцев назад

    Best Raycasting guide out rn

    • @scripting
      @scripting  8 месяцев назад

      You know it 💯

  • @mortality
    @mortality 3 месяца назад

    thank you for teaching me about normals you are amazing

  • @rbu9_
    @rbu9_ 10 месяцев назад +1

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

    • @scripting
      @scripting  10 месяцев назад

      Most definitely

  • @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

  • @juanbones
    @juanbones 4 месяца назад +2

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

  • @SAJOMENEZ
    @SAJOMENEZ 8 месяцев назад

    REALLY WELL EXPLAINED!
    YOU ARE UNDER RATED

  • @AlexisAutotte
    @AlexisAutotte 3 месяца назад

    Man amazing work man 😂 😂 👏👏👏

  • @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)

  • @artzistired
    @artzistired 21 день назад

    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  21 день назад +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.

  • @edonpogi5
    @edonpogi5 5 месяцев назад

    Am only at halfway but like DAMN THIS IS AWESOME TUTORIAL

  • @ben4990
    @ben4990 7 месяцев назад

    The top of my left eye enjoyed the first half

  • @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)

  • @JeLeff.
    @JeLeff. Месяц назад

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

  • @CoPilot4567
    @CoPilot4567 Месяц назад

    SO UNDERRATED

  • @thecrazydudeman420
    @thecrazydudeman420 3 месяца назад

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

  • @Jamal.frl_13
    @Jamal.frl_13 8 месяцев назад +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

  • @Devthedev.
    @Devthedev. 8 месяцев назад

    You are extremely underrated

  • @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 9 месяцев назад

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

  • @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

  • @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

  • @audrete6071
    @audrete6071 19 дней назад

    isn't the a humanoid property called floor material?

  • @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! 😅

  • @tdlordeader1
    @tdlordeader1 Месяц назад

    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  Месяц назад

      Yes, that was fixed later in the video

  • @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

  • @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

  • @starilu
    @starilu 9 месяцев назад +1

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

    • @scripting
      @scripting  9 месяцев назад

      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

  • @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

  • @fournumm
    @fournumm 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

    • @fournumm
      @fournumm 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

    • @fournumm
      @fournumm 2 месяца назад

      @@scripting okay, thanks

    • @fournumm
      @fournumm 2 месяца назад

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

  • @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

  • @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

  • @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

  • @whoishype
    @whoishype 4 месяца назад

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

  • @benjagameplays555
    @benjagameplays555 23 дня назад

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

    • @scripting
      @scripting  23 дня назад

      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 23 дня назад

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

  • @JyrenTempest
    @JyrenTempest 5 месяцев назад

    Amazing 😂

  • @dat_o1
    @dat_o1 Месяц назад

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

  • @Axoy2024
    @Axoy2024 3 месяца назад +1

    bro what did the monkeys do to you😭

  • @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

  • @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

  • @firebloox
    @firebloox 6 месяцев назад

    LocalPlayer is not a valid member of "Players" wth

    • @scripting
      @scripting  6 месяцев назад

      Use a local script

  • @SmileyGradient
    @SmileyGradient 4 месяца назад

    It's gone.

  • @wume
    @wume 4 месяца назад

    incrível!

  • @nilwashere
    @nilwashere 9 месяцев назад +1

    ur a g

    • @scripting
      @scripting  9 месяцев назад +1

      ur a g for watching

  • @sadge6430
    @sadge6430 9 месяцев назад

    =po

  • @sadge6430
    @sadge6430 9 месяцев назад

    yit

  • @sadge6430
    @sadge6430 9 месяцев назад

    nbv

  • @SmalBlock
    @SmalBlock 6 дней назад +1

    Thanks so much! This helped me with the Normal and understanding it. I needed to use normal for my game thingy majicg rippoff asefeaasdsf a