Why You Should Use CFrames
ฝัง
- เผยแพร่เมื่อ 7 ก.พ. 2025
- get my full Roblox Studio course here (50% OFF):
linktr.ee/Byte...
photos of my pet pigeons: / subnautica_man
discord: / discord
wondered how to make a main menu in roblox studio? or how to create a shop which has working GUI? ive made lots of 2024 roblox scripting tutorials about all the different bits of roblox to give you some up-to-date information about all of its properties and events.
my goal is to simply give some insight on how to use the various features and instances roblox studio, and show you some fun stuff you can do with them. thanks for checking out this roblox scripting tutorial :)
Get all of my knowledge in one package: linktr.ee/ByteBlox
nga is this inflation why are you rising it to $84.99???
@@wonsole i didnt change the price, udemy is having issues right now lmao
@@byteblox100 what is the normal price
Like 40 bucks I think
@@byteblox100 bet
Big props to the people who made CFrames a thing. Single-handedly saved my life
Without cframes I would have quit a long time ago
lmao me too@@PranavHuman
CFrames are x, y, z, and three xyz unit vectors to be specific about orientation in 3D space. They are pretty much a matrix calculator. You can probably learn the fundamentals in Linear Algebra (usually after Calculus 2 or 3 in college).
@@TULEYDIGITAL cframes are coordinate frames not euler angles. they move along the euler angles, but they are not the eulers themselves.
i love these videos, they help me focus while im coding/scripting ❤
Setting position still has its uses though, of course. If you don’t want to make the part’s rotation change, you can set Position instead of CFrame.
Absolutely. But most of the time it’s just better to use CFrame as it accounts for literally every aspect of location
@@byteblox100 also how about sending cframes trough remote event? especially unreliable ones which have 900 byte limit i think, so do you just not send it at all? or send only 1 value of a cframe and construct it on the receiver's end?
You’re able to just send a CFrame over, it’s just another value like a string or a number
@@byteblox100 I know i was talking about how UnreliableRemoteEvents would pass a cframe over the network, considering it's 900 limit which i assume a single cframe exceeds that
@@chibisayori20a cframe is pretty much just a matrix containing 9 numbers. Pretty sure they use double-precision floating point format which is 64 bit. 64*9 is 576, so a single cframe should pass under the data limit.
Dude, u just appeared in my life so late, I finally understand CFrame after 2 years.
Seriously great tutorials, the only person I've ever seen explain things in the exact way I need them explained lol
If it's not too much trouble a Raycast tutorial would be awesome :D
(Nah but seriously tho you're one of the only people I've subscribed to recently and the only person who's videos I watch religiously, keep up the great work!)
Thanks bro, I did a raycast tutorial a while back lol
in short:
when you using vectors you making a lot of useless calculations to engine,while cframe straight up execute it into matrix
what
@@rexuph7242 hes saying that when you individually set each vector to match the goal part youre wasting computation while setting the cframe equal to the goals cframe doesnt waste any calculations and automatically makes the position and orientation properties equal
Dude thank you so much I finally understand what CFrame is!
hi! I think you should talk about run context for scripts! you can turn scripts in the workspace to local scripts and that's very useful! love ur vids!
Even 2x speed isn't enough for this dude
This is unrelated to the video's purpose itself, but I do want to state that it might be better to teach using modern methods, such as using `task.wait(3)` instead of using `wait(3)` as wait() is deprecated, for good reason.
I will hate on task.wait() until I die
@@byteblox100 we cant be friends ever
@@byteblox100
how about global overwrite? like
wait = task.wait
wait(2) -- will use task library instead of built-in wait but you can still write it as if it's wait()
@@byteblox100 Why is this? How could you possibly even call yourself a teacher if you are using a depreacted method? Wait() is deprecated for a reason.
Wait() will literally throttle your script until the elapsed time has passed, and wait() is not even accurate when frames matter (as it updates on 30 fps interval vs task.wait which uses 60 fps)
@@twomaddev yeah but thats nerd stuff
Cframe = CoordinateFrame
Extra info:
The position has some use as well, for example when you need to teleport a part to some position but don't need it to rotate.
The CFrame can also bring character with his rootPart.
CFrame stands for "Coordinate Frame".
CFrame can have more types in .new function, more in documentation of roblox.
woohooo! byteblox!!! cframe!!!! 😁😁😁
pro tip: use transcript to quickly get info and get to parts
Hey ByteBlox, I know you've already made a video on ModuleScripts explaining how they work, but I still don't get when I'm supposed to use them over regular server scripts. Can you make a video on organizing/optimizing your games?
normally I use modules just for organization, or even add modular functions, as the name suggest, so i dont fill up my main script and instead have multiple "work spaces" that each module script have, each one with their own function, having better organization and more efficient
@@techderv3031 I wish there were videos on optimizing your games out there so I could learn the do's and dont's
Use them when you need functions stored in one spot. Let’s say you have a fighting game, and you have functions for abilities. Making a module for those functions would be smart because now you can access these functions from any script
@byteblox100 I still don't understand why I'd need to access such functions from other scripts, or what having a function stored in one spot could do for me.
@@sympleton7439 lets say you have 10 scripts which all need to access 5 of the same functions. instead of copy and pasting the same functions into the scripts, you can just get them from one module script. its just to prevent clogging up scripts
help the relationship video didnt tell me how to break up and now im stuck with someone named Rigette
He's gonna get to it just wait
I remember when i first started learning and hating on cframe lol, now its the only thing i use and cant even remember the last time i used position/orientation
i love cframes but oh my god the motor6d cframe for the R6 rig is disastrous, what the hell were they thinking when they made the R6 rig????
i always use cframes already because i'm traumatized of using positions on characters...
ur vids are just next lvl
I love ur videos im learning so much
you should do a tutorial about aerodynamics
oooh, this maybe explain why my try of door didnt worked, thx bro
The thumbnail broke me 💀
Can you make explanation/tutorial on copylocking, pls?
Maybe make the goto position invisible
How is it that always when i say to myself i need to learn this the next day you upload a video about that thing.
why not to use position and orientation? Simply because setting cframes is quicker than position or/and orientation
And also it doesn't have to make a bunch of calculations when you are using vector3
Pls make a vid on how to animate acs 2.0.1
Hey I dont think your emails are working. Last one I got was Jan 23.
very kewl!
CFrame stands for Coordinates Frame
Forgot to say "Fun fact:"
@@marilena-q9g schblugbalud this is not a fun fact
@@AzureSpike tho it is a fact
@@marilena-q9g idk why you just randomly assumed, i literally just answered byteblox bc he didnt know what it stands for
@@AzureSpike it sounded like a fun fact tho, but if you're denying it i can't do nun
5:25 Interesting, I thought that to account for orientation you're supposed to do CFrame.new(X,Y,Z) * CFrame.Angles(X,Y,Z)? This is the first time I've seen this approach
He used the deprecated constructor, you are supposed to use Angles.
this video is why i use cframes
double upload? gamer
CFrame is literally just Position and Rotation combined.
It has nice uses like offset and pivotto
and also setting cframe will also move constraints, welds, etc with it
CFrame is a Coordinate-frame
If use Cframe for moving object like moving plateform do player fall off plateform?
Player not move with plateform like issue when stand on plateform
you need to use platformstand or some property like that on the player character
roblox should add quaternions
Bro Tween with Frames are much easier
brother make the ui look better👍🏼 will def help
2nd day of asking how to access the starter player's humanoid using a serverscript
plr.Character.Humanoid
try
The CFrame Class's LookVector Property
local part = workspace.Part
local endPart = workspace.endPart
part.CFrame = CFrame.new(part.CFrame.p, endPart.CFrame.p) -- Point part towards endPart
while part.CFrame ~= endPart.CFrame do
part.CFrame = part.CFrame * endPart.CFrame.LookVector -- Move part forwards based on where it is facing
wait(0.06)
end
wait for child in server scripts? 😂
Fianlly... byteblox cframe tutoriall
c fraune 2 haurd i want yuse positin isead
hot
What is that thumbnail😭
Poor no cframe
ye
One of the most powerful abilities of CFrames is ability to offset CFrames from Other CFrames.