ArrowBeams is an open-source Module I’ve created which simplifies the process of creating Beams that point the players to their objectives.
This Module utilizes Roblox’s Beams.
Use example:
local ArrowBeams = require(script:WaitForChild("ArrowBeams"))
local Beam = ArrowBeams.new(Character.HumanoidRootPart) -- You can provide a second argument ArrowBeams.new(Character.HumanoidRootPart, {Segments = 15}) to set your own properties.
Beam:setTarget(Vector3.new(50,10,0))
Beam:Enable()
Video example:
Place File with the example:
ExampleFile.rbxl (55.5 KB)
GitHub repro:
Documentation:
--[[
local Beam = arrowBeams.new(parent, properties)
This function creates a beam with the given arguments, if no parent is given the beam is parented to Terrain, if no properties are sent the beam gets the default properties.
Beam:setTarget(target)
The target argument can be a BasePart or a Vector3, if it is a Vector3 the Attachment will be parented to Terrain and given the right position in the world.
Beam:setAttachment0(target)
Sets the Attachment0 position to the target, it can be a Vector3 or a BasePart.
Beam:setAttachment1(target)
Sets the Attachment1 position to the target, it can be a Vector3 or a BasePart.
Beam:setTexture(textureID)
Sets the texture of the beam to the provided ID.
Beam:setParent(newParent)
Parents the beam to the instance provided.
Beam:Enable()
Enables the beam.
Beam:Disable()
Disables the beam.
Beam:resetDefault()
Resets the beam properties to the default values.
Beam:Destroy()
Destroys the beam completely.
]]
The documentation of the Module is also written inside the ModuleScript.