代码示例
从零创建光束
-- 创建附件
local att0 = Instance.new("Attachment")
local att1 = Instance.new("Attachment")
-- 将其父级设置为地形(也可以是部件)
att0.Parent = workspace.Terrain
att1.Parent = workspace.Terrain
-- 定位附件
att0.Position = Vector3.new(0, 10, 0)
att1.Position = Vector3.new(0, 10, 10)
-- 创建光束
local beam = Instance.new("Beam")
beam.Attachment0 = att0
beam.Attachment1 = att1
-- 外观属性
beam.Color = ColorSequence.new({ -- 从白色到蓝色的颜色序列
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 255, 255)),
})
beam.LightEmission = 1 -- 使用加法混合
beam.LightInfluence = 0 -- 光束不受光线影响
beam.Texture = "rbxasset://textures/particles/sparkles_main.dds" -- 一个内置的闪光纹理
beam.TextureMode = Enum.TextureMode.Wrap -- 包裹,以便通过 TextureLength 设置长度
beam.TextureLength = 1 -- 重复纹理长度为 1 研究
beam.TextureSpeed = 1 -- 缓慢的纹理速度
beam.Transparency = NumberSequence.new({ -- 光束在末尾消失
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.8, 0),
NumberSequenceKeypoint.new(1, 1),
})
beam.ZOffset = 0 -- 在光束的位置渲染,无偏移
-- 形状属性
beam.CurveSize0 = 2 -- 创建一个弯曲的光束
beam.CurveSize1 = -2 -- 创建一个弯曲的光束
beam.FaceCamera = true -- 光束从各个角度都可见
beam.Segments = 10 -- 默认曲线分辨率
beam.Width0 = 0.2 -- 开始时较小
beam.Width1 = 2 -- 结束时较大
-- 将光束设置为父级
beam.Enabled = true
beam.Parent = att0API 参考
属性
Texture
Beam.Texture:ContentId
ZOffset
代码示例
图层光束
-- 创建光束
local beam1 = Instance.new("Beam")
beam1.Color = ColorSequence.new(Color3.new(1, 0, 0))
beam1.FaceCamera = true
beam1.Width0 = 3
beam1.Width1 = 3
local beam2 = Instance.new("Beam")
beam2.Color = ColorSequence.new(Color3.new(0, 1, 0))
beam2.FaceCamera = true
beam2.Width0 = 2
beam2.Width1 = 2
local beam3 = Instance.new("Beam")
beam3.Color = ColorSequence.new(Color3.new(0, 0, 1))
beam3.FaceCamera = true
beam3.Width0 = 1
beam3.Width1 = 1
-- 分层光束
beam1.ZOffset = 0
beam2.ZOffset = 0.01
beam3.ZOffset = 0.02
-- 创建附件
local attachment0 = Instance.new("Attachment")
attachment0.Position = Vector3.new(0, -10, 0)
attachment0.Parent = workspace.Terrain
local attachment1 = Instance.new("Attachment")
attachment1.Position = Vector3.new(0, 10, 0)
attachment1.Parent = workspace.Terrain
-- 连接光束
beam1.Attachment0 = attachment0
beam1.Attachment1 = attachment1
beam2.Attachment0 = attachment0
beam2.Attachment1 = attachment1
beam3.Attachment0 = attachment0
beam3.Attachment1 = attachment1
-- 父级光束
beam1.Parent = workspace
beam2.Parent = workspace
beam3.Parent = workspace方法