I dont get it they both move parts but i dont get why they are called different names
CFrames or Coordinate Frame and are technically 4 by 4 matrixes and has more properties, like changing rotation by look vector, Euler's' angles, quaternions; they are more suited for changing the values in the 3D environment.
CFrames can deal with the world and local space, (Vector3 - CFrame) isn't possible but (CFrame - Vector3) is.
Vector3 has functions for "vector calculation", like getting the magnitude, the cross product, dot scalar, can check if a vector3 is close to another. Moving parts with vector3 doesn't allow clipping, meaning that if you were to change the position/rotation of a part already being taken by another, it would move itself on top of that. Setting two parts' position to the same location guarantees that one part will be on top of each other
Vector3.new() is mostly for Positions, whereas CFrame is a part's orientation and position within a game space.
Think like, if you take a Part0's CFrame and set it to Part1's CFrame, Part0 will have the same Orientation and Position to Part1, but if you set Part0.Position to Part1.Position it will only account for Position and not orientation.
If you have anymore questions, post a comment.
Part0.Position = Part1.Position --accounts for Position and not orientation! Part0.CFrame = Part1.CFrame --Accounts for position AND orientation!
A Vector3 is the representation of a single 3D vector, composed by 3 coordinates (X, Y and Z); a CFrame is composed by 3 orthonormal (perpendicular and unit vectors) Vector3 for orientation (rightVector, upVector and lookVector) and 1 Vector3 for position.
When using Vector3 It is much more basic, and You can't teleport players around the map with Vector3. And with Vector3 you can't make parts "NoClip" through other parts.
With CFrame you can: Teleport Players, Make parts "NoClip" through things (Keep in mind Vector3, and CFrame can't be used in GUI'S), CFrame is more "Advanced", lastly keep in mind when Adding a "CFrame value" to another "CFrame Value", you use " * ", but when Adding a "Vector3 Value" times another "Vector3 Value" you use " + ".
Locked by User#24403
This question has been locked to preserve its current state and prevent spam and unwanted comments and answers.
Why was this question closed?