Beam

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

ビームオブジェクトは、Class.Attachment|Attachments の間のテクスチャを描画して、2つのAttachmentsを接続します。

表示するには、ビームは WorkspaceAttachment0Attachment1 プロパティを設定している必要があります。また、1>Class.Workspace1> から 4>Class.Attachments4> まで、7>Class.Be

ビームの外観は、以下に示すプロパティの範囲を使用してカスタマイズできます。また、ビームの ビーム ガイドに参照して、ビジュアル例を参照してください。

ビームカーブ

ビームは、4つのコントロールポイントによって形成されるキュービック Bézier 曲線を使用するように設定されています。これは、ビームが直線でなく、曲線の形状を変更するために CurveSize0 、 Class.Beam.CurveSize1|Curve

  • P0 — ビームの開始; Attachment0 の位置。
  • P1 — CurveSize0 スタッドの距離から Attachment0 、ポジティブな 0>X0> 方向の 3>Class.Beam.Attach0|Attach0 3> に。
  • P2CurveSize1 スタッドの距離が Attachment1 から、0> Class.Beam.Attach1|Attach10> のネガティブな X 方向から。
  • P3 — ビームの終わり; Attachment1
Beam curvature diagram

コードサンプル

Creating a Beam From Scratch

-- 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 が常にカメラに向き合うかどうかを決定します。

  • 並列読み取り

    ビームの色と背後の色をどの程度混ぜるかを決定します。

  • 並列読み取り

    ビームの照明に影響を与える程度を決定します。

  • 非表示
    複製されていません
    並列読み取り
  • 並列読み取り

    ビームの構成する直線段数を設定します。

  • Texture:ContentId
    並列読み取り

    ビームに表示するテクスチャの ID のコンテンツ。

  • 並列読み取り

    Class.Beam.TextureMode|TextureMode により、ビームのテクスチャの長さが設定されます。

  • 並列読み取り

    Class.Beam.Texture|Texture のスケールと繰り返しの方法を決めます。

  • 並列読み取り

    Class.Beam.Texture|Texture 画像がビームに移動する速度を決定します。

  • 並列読み取り

    ビームの透明度をセグメントごとに決定します。

  • 並列読み取り

    スタッドでビームの幅 (Attachment0 ) 。

  • 並列読み取り

    スタッドでビームの幅 (Attachment1 ) 。

  • 並列読み取り

    距離、in studs、ビームディスプレイは、CurrentCamera に対する相対オフセットです。

方法

  • SetTextureOffset(offset : number):void

    ビームのテクスチャサイクルの現在のオフセットを設定します。

プロパティ

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 の値を上

並列読み取り

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)), -- 紫
}
)

ビームの色は、SegmentsBeam の数により、表示されます。ビームの各セ

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)

Enabled

並列読み取り

ビームが表示されるかどうかを決定します。

このプロパティを偽に設定すると、ビームの Segments は表示されません。

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

ContentId
並列読み取り

ビームに表示するテクスチャの ID のコンテンツ。このプロパティが設設定するされていない場合、ビームは円形のラインとして表示されます。これは、テクスチャが無効なコンテンツ ID に設定されている場合も、画像がテクスチャに関連付けられていない場合も、すべて同じです。

テクスチャの外観は、ColorTransparency などの他のビームプロパティによってさらに変更できます。

テクスチャのスケーリングは、TextureModeTextureLengthWidth0、2>Class.Beam.Width1|2>、5>Class.Beam.Width2|5>、8>Class.Beam.Width3|8>、TextureMode1>、

TextureLength

並列読み取り

Class.Beam.TextureMode|TextureMode により、ビームのテクスチャの長さが設定されます。

TextureMode

並列読み取り

このプロパティは、TextureLength と共に、ビームの Texture が重複する方法を決定します。

Class.Beam.TextureLength|TextureLength の Enum.TextureMode.Static または TextureLength に設定されると、テクスチャの重複は、ビームの全体の長さ (in studs) によって分割されたビームの 1>Class.Beam.TextureLength1> に等しくなります。

TextureMode diagram with Wrap mode

Class.Beam.TextureLength|TextureLength の全体の長さにわたって、テクスチャが TextureLength されると、テクスチャが Enumerate.TextureLength|TextureLength 回重複されます。

TextureMode diagram with Stretch mode

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 との相対的なビームオフセットにより、オフセット相対のビームを表示します。Attachment0Attachment1 の間の 11> ZOffset</

このプロパティは、同じ Beams の複数の Attachments を使用している場合、特に Z-fighting を避けるのに便利です。

コードサンプル

Layering Beams

-- 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

void

ビームのテクスチャサイクルのオフセットは、テクスチャアニメーションの進行状況を表します。このメソッドは、ビームのテクスチャサイクルの現在のオフセットを設定します。そのため、0offset パラメーターとして使用して、サイクルをリセットできます。

注意

  • 偏セット パラメーターは、0 から 1 の間の値を期待していますが、より大きな値を使用できます。
  • テクスチャサイクルは、0と1の両方で包まれ、オフセットが 0 または 1 のときにテクスチャが同じ位置にあることを意味します。
  • Class.Beam.Texture|Texture プロパティが設設定するされていない場合、このメソッドは何もしません。
  • オフセットを増加すると、TextureSpeed プロパティの反対方向にテクスチャを移動することになります。これは、TextureSpeed が 0 より大きいとき、テクスチャの動きが Class.Beam.TextureSpeed|TextureSpeed のアニメーション方向と反向方向になることを意味します。

パラメータ

offset: number

テクスチャサイクルのオフセットを指定します。

既定値: 0

戻り値

void

イベント