Guest User

Untitled

a guest
Jan 20th, 2021
698
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.26 KB | None | 0 0
  1. local module = {}
  2.  
  3. function module.Visualize(v3, origin, color, thickness, transparency)
  4.     local origin = origin or Vector3.new()
  5.     local part = Instance.new("Part")
  6.     part.Name = "Vector"
  7.     part.BrickColor = color or BrickColor.Random()
  8.     part.Transparency = transparency or 0
  9.     part.Anchored = true
  10.     part.Size = Vector3.new(thickness or 0.2, thickness or 0.2, v3.magnitude)
  11.     part.CFrame = CFrame.new((origin+v3/2), origin+v3)
  12.     part.Locked = true
  13.     part.Parent = workspace
  14.     return part
  15. end
  16.  
  17. function module.VisualizeCF(cf)
  18.     local x = module.Visualize(cf.p, nil, BrickColor.White(), 0.1, 0.5)
  19.     local y = module.Visualize(cf.lookVector, cf.p, BrickColor.Green())
  20.     local z = module.Visualize(cf.upVector, cf.p, BrickColor.Blue())
  21.     local w = module.Visualize(cf.rightVector, cf.p, BrickColor.Red())
  22.  
  23.     local model = Instance.new("Model", workspace)
  24.     model.Name = "CFrame"
  25.     x.Parent = model
  26.     x.Name = "Position"
  27.     y.Parent = model
  28.     y.Name = "lookVector"
  29.     z.Parent = model
  30.     z.Name = "upVector"
  31.     w.Parent = model
  32.     w.Name = "rightVector"
  33. end
  34.  
  35. function module.ShowOrigin()
  36.     local cf = CFrame.new()
  37.     local billboard = Instance.new("BillboardGui")
  38.     billboard.Size = UDim2.fromScale(1, 1)
  39.     local label = Instance.new("TextLabel", billboard)
  40.     label.Size = UDim2.fromScale(0.5, 0.5)
  41.     label.AnchorPoint = Vector2.new(0.5, 0.5)
  42.     label.BackgroundTransparency = 1
  43.     label.TextColor3 = Color3.fromRGB(255, 255, 255)
  44.     label.TextStrokeTransparency = 0
  45.     label.TextScaled = true
  46.     local constraint = Instance.new("UITextSizeConstraint", label)
  47.     constraint.MaxTextSize = 100
  48.     constraint.MinTextSize = 100
  49.  
  50.     module.Visualize(cf.p, nil, BrickColor.White(), 0.1, 0.5)
  51.     local z = module.Visualize(-cf.lookVector, cf.p, BrickColor.Green())
  52.     local y = module.Visualize(cf.upVector, cf.p, BrickColor.Blue())
  53.     local x = module.Visualize(cf.rightVector, cf.p, BrickColor.Red())
  54.     billboard:Clone().Parent = z
  55.     z.BillboardGui.TextLabel.Text = "+Z"
  56.     z.BillboardGui.TextLabel.Position = UDim2.fromScale(0.3, 0.05)
  57.     billboard:Clone().Parent = y
  58.     y.BillboardGui.TextLabel.Text = "+Y"
  59.     y.BillboardGui.TextLabel.Position = UDim2.fromScale(0.5, -0.2)
  60.     billboard:Clone().Parent = x
  61.     x.BillboardGui.TextLabel.Text = "+X"
  62.     x.BillboardGui.TextLabel.Position = UDim2.fromScale(0.6, 0.05)
  63. end
  64.  
  65. return module
Advertisement
Add Comment
Please, Sign In to add comment