ビームオブジェクトは、Class.Attachment|Attachments の間のテクスチャを描画して、2つのAttachmentsを接続します。
表示するには、ビームは Workspace の Attachment0 と Attachment1 プロパティを設定している必要があります。また、1>Class.Workspace1> から 4>Class.Attachments4> まで、7>Class.Be
ビームの外観は、以下に示すプロパティの範囲を使用してカスタマイズできます。また、ビームの ビーム ガイドに参照して、ビジュアル例を参照してください。
ビームカーブ
ビームは、4つのコントロールポイントによって形成されるキュービック Bézier 曲線を使用するように設定されています。これは、ビームが直線でなく、曲線の形状を変更するために CurveSize0 、 Class.Beam.CurveSize1|Curve
- P0 — ビームの開始; Attachment0 の位置。
- P3 — ビームの終わり; Attachment1
コードサンプル
-- create attachments
local att0 = Instance.new("Attachment")
local att1 = Instance.new("Attachment")
-- parent to terrain (can be part instead)
att0.Parent = workspace.Terrain
att1.Parent = workspace.Terrain
-- position attachments
att0.Position = Vector3.new(0, 10, 0)
att1.Position = Vector3.new(0, 10, 10)
-- create beam
local beam = Instance.new("Beam")
beam.Attachment0 = att0
beam.Attachment1 = att1
-- appearance properties
beam.Color = ColorSequence.new({ -- a color sequence shifting from white to blue
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 255, 255)),
})
beam.LightEmission = 1 -- use additive blending
beam.LightInfluence = 0 -- beam not influenced by light
beam.Texture = "rbxasset://textures/particles/sparkles_main.dds" -- a built in sparkle texture
beam.TextureMode = Enum.TextureMode.Wrap -- wrap so length can be set by TextureLength
beam.TextureLength = 1 -- repeating texture is 1 stud long
beam.TextureSpeed = 1 -- slow texture speed
beam.Transparency = NumberSequence.new({ -- beam fades out at the end
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.8, 0),
NumberSequenceKeypoint.new(1, 1),
})
beam.ZOffset = 0 -- render at the position of the beam without offset
-- shape properties
beam.CurveSize0 = 2 -- create a curved beam
beam.CurveSize1 = -2 -- create a curved beam
beam.FaceCamera = true -- beam is visible from every angle
beam.Segments = 10 -- default curve resolution
beam.Width0 = 0.2 -- starts small
beam.Width1 = 2 -- ends big
-- parent beam
beam.Enabled = true
beam.Parent = att0
概要
プロパティ
ビームの起源は Attachment です。
ビームの終点は、Attachment です。
ビームの LightInfluence が 1 未満のとき、ビームから放出される光をスケールします。
ビームの色を Segments の全体におけるビームの色として決定します。
Class.Beam.Selection0|Selection0 と Class.Beam.attachment0|attachment0 の両方により、ビームの Bézier 曲線の位置を決定します。
Class.Beam.Selection1|Selection1 と Class.Beam.attachment1|attachment1 の両方により、ビームの Bézier 曲線の位置を決定します。
ビームが表示されるかどうかを決定します。
ビームの Segments が常にカメラに向き合うかどうかを決定します。
ビームの色と背後の色をどの程度混ぜるかを決定します。
ビームの照明に影響を与える程度を決定します。
ビームの構成する直線段数を設定します。
ビームに表示するテクスチャの ID のコンテンツ。
Class.Beam.TextureMode|TextureMode により、ビームのテクスチャの長さが設定されます。
Class.Beam.Texture|Texture のスケールと繰り返しの方法を決めます。
Class.Beam.Texture|Texture 画像がビームに移動する速度を決定します。
ビームの透明度をセグメントごとに決定します。
スタッドでビームの幅 (Attachment0 ) 。
スタッドでビームの幅 (Attachment1 ) 。
距離、in studs、ビームディスプレイは、CurrentCamera に対する相対オフセットです。
方法
ビームのテクスチャサイクルの現在のオフセットを設定します。
プロパティ
Attachment0
Class.Attendance ビームの起源。このアタッチメントは、ビームのキュービック Bézier 曲線のコントロールポイントの 1 つです。そのオリエンテーション、CurveSize0 プロパティと共に、2つ目のコントロールポイントの位置を決定します。「ビーム」を参
Class.Beam.Attachment1|附加1 でビームが終了する場合は、Attachment1 を参照してください。
Attachment1
Class.Attendance ビームの終点にある。このアタッチメントは、ビームのキュービック Bézier 曲線の 4つ目と最後のコントロールポイントです。その方向は、CurveSize1 プロパティと共に、第3コントロールポイントの位置を決定します。「ビーム」を参照
Class.Beam.Attachment0|附属品0 のビームの元の場合は、Attachment0 を参照してください。
Brightness
Class.Beam.LightInfluence が 1 未満のとき、ビームから発射される光のスケールがサイズを変更します。このプロパティはデフォルトで 1 です。範囲 0 から 10000 の間に値を設定できます。LightInfluence の値を上
Color
Class.Beam.Segments|Segments のビームの色を決定します。Texture が設定する定されている場合、この色はビームのテクスチャに適用されます。Texture が設定する定されていない場合、1>Class.Be
このプロパティは、ColorSequence で、色をビームの長さに応じて構成できます。次の ColorSequence をビームに適用すると、画像に示す結果を返します。
local colorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- 赤ColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- シアンColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- 紫})
CurveSize0
Class.Beam.Attendance0|Attendance0 と Class.Beam.Selection0|Selection0 の両方により、ビームの Bézier 曲線の位置の第 2 コントロールポイントが決まります。Class.Beam.Selection0|Selection0 の詳細は、1>Class.Beam.Beams1> を参照してください。
この点の位置は、次の式によって決まります:
local controlPoint2 = Beam.Attachment0.WorldPosition + (Beam.Attachment0.CFrame.RightVector * Beam.CurveSize0)
CurveSize1
Class.Beam.Attach1|Attach1 と ビームの Bézier カーブ の中で、ビームの 3つ目のコントロールポイントの位置を決定します。詳細は、ビーム を参照してください。
この点の位置は、次の式によって決まります:
local controlPoint3 = Beam.Attachment1.WorldPosition - (Beam.Attachment1.CFrame.RightVector * Beam.CurveSize1)
FaceCamera
Class.Beam は、3D 空間に存在する 2D プロジェクションで、 すべての角度から見えない ことを意味します。true プロパティ、1> true 1> に設定されると、ビームが常に 4>Class.Workspace.CurrentCamera|CurrentCamera4> を向き
LightEmission
ビームの色と背後の色のどの程度が混ざっているかを決定します。 0 から 1 の範囲で設定する必要があります。 0 の値は、通常のブレンドモードを使用し、1 の値は追加のブレンドモードを使用します。
このプロパティは、LightInfluence と混同してはなりません、これは、ビームが環境光にどのように影響されるかを決定します。
このプロパティは、ビームが環境を照明するために ない 原因です。
LightInfluence
ビームが環境の照明にどの程度影響されるかを決定します。 0 から 1 の間にクランプされた状態で、ビームは環境の照明に影響されません。 1 の場合、ビームは <Class.BasePart> として完全に影響されます。
また、LightEmission を参照して、ビームの色が背後の色とどの程度混ざっているかを指定します。
LocalTransparencyModifier
Segments
完璧なカーブではなく、ビームは直線のセグメントでできています。セグメントが多いほど、カーブの解像度が高くなります。 セグメント プロパティは、ビームが作成される直線のセグメントの数を設定します。デフォルトの値 10 で、ビームが作成される直線のセグメントの数を設定します。
Class.Beam.Color|Color および Transparency プロパティには、2つの色または
Texture
ビームに表示するテクスチャの ID のコンテンツ。このプロパティが設設定するされていない場合、ビームは円形のラインとして表示されます。これは、テクスチャが無効なコンテンツ ID に設定されている場合も、画像がテクスチャに関連付けられていない場合も、すべて同じです。
テクスチャの外観は、Color とTransparency などの他のビームプロパティによってさらに変更できます。
テクスチャのスケーリングは、TextureMode、TextureLength、Width0、2>Class.Beam.Width1|2>、5>Class.Beam.Width2|5>、8>Class.Beam.Width3|8>、TextureMode1>、
TextureMode
このプロパティは、TextureLength と共に、ビームの Texture が重複する方法を決定します。
Class.Beam.TextureLength|TextureLength の Enum.TextureMode.Static または TextureLength に設定されると、テクスチャの重複は、ビームの全体の長さ (in studs) によって分割されたビームの 1>Class.Beam.TextureLength1> に等しくなります。
Class.Beam.TextureLength|TextureLength の全体の長さにわたって、テクスチャが TextureLength されると、テクスチャが Enumerate.TextureLength|TextureLength 回重複されます。
TextureSpeed
Class.Beam.Texture|Texture 画像がビームに沿って移動する速度を決定します。このプロパティが正の値であると、ビームのテクスチャは Attachment0 から Attachment1 に移動します。この方向は、
Transparency
ビームの透明度をセグメントごとに決定します。このプロパティは、NumberSequenceで、ビームの長さに応じて透明度を構成できるようにします。
次の NumberSequence を考慮して、ビームに適用すると、画像に示す結果が得られます。
local numberSequence = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), -- オペークNumberSequenceKeypoint.new(0.5, 1), -- 透明NumberSequenceKeypoint.new(1, 0), -- オペーク})
ビームの透明度は、Segments の数にもよります。ビームの各セグメントは、n-1 の間のトランジョンを表示するだけです。それゆえ、ビームは正し
Width0
Class.Beam.Attach0|Attach0 のスタッドで、ビームの幅がスタッドごとに Width1 に増加します。ビームの幅は、スタッドの終わりに Attachment1 に変更されます。
Width1
Class.Beam.Attach1|Attach1 の端にあるビームの幅は、スタッドで Width0 から変更されます。ビームの幅は、オリジンの Attachment0 から 1>Class.Beam.Attach11> まで、まっすぐ変更されます。1>
ZOffset
距離、in studs、ビームディスプレイは、CurrentCamera との相対的なビームオフセットにより、オフセット相対のビームを表示します。Attachment0 とAttachment1 の間の 11> ZOffset</
このプロパティは、同じ Beams の複数の Attachments を使用している場合、特に Z-fighting を避けるのに便利です。
コードサンプル
-- Create beams
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
-- Layer beams
beam1.ZOffset = 0
beam2.ZOffset = 0.01
beam3.ZOffset = 0.02
-- Create attachments
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
-- Connect beams
beam1.Attachment0 = attachment0
beam1.Attachment1 = attachment1
beam2.Attachment0 = attachment0
beam2.Attachment1 = attachment1
beam3.Attachment0 = attachment0
beam3.Attachment1 = attachment1
-- Parent beams
beam1.Parent = workspace
beam2.Parent = workspace
beam3.Parent = workspace
方法
SetTextureOffset
ビームのテクスチャサイクルのオフセットは、テクスチャアニメーションの進行状況を表します。このメソッドは、ビームのテクスチャサイクルの現在のオフセットを設定します。そのため、0 をoffset パラメーターとして使用して、サイクルをリセットできます。
注意
- 偏セット パラメーターは、0 から 1 の間の値を期待していますが、より大きな値を使用できます。
- テクスチャサイクルは、0と1の両方で包まれ、オフセットが 0 または 1 のときにテクスチャが同じ位置にあることを意味します。
- Class.Beam.Texture|Texture プロパティが設設定するされていない場合、このメソッドは何もしません。
- オフセットを増加すると、TextureSpeed プロパティの反対方向にテクスチャを移動することになります。これは、TextureSpeed が 0 より大きいとき、テクスチャの動きが Class.Beam.TextureSpeed|TextureSpeed のアニメーション方向と反向方向になることを意味します。
パラメータ
テクスチャサイクルのオフセットを指定します。