Beam

非推奨を表示

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

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

表示するには、ビームは Workspace の子孫であり、Attachment0 および Attachment1 のプロパティが Attachments に下がり、Workspace からも下がっている必要があります。

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

ビームカーブ

ビームは、4つの制御ポイントによって形成される立方体のベジエ曲線を使用するように構成されています。これは、彼らが直線に制限されておらず、ビームのカーブは CurveSize0CurveSize1 、ビームの向きの Attachments を変更することで変更できることを意味します。

Beam curvature diagram

コードサンプル

This code sample demonstrates how a Beam effect can be created from scratch by creating a Beam, setting all of its properties and configuring it's Attachments.

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

概要

プロパティ

方法

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

プロパティ

Attachment0

並列読み取り

ビームの起源 Attachment 。この添付ファイルは、ビームの立方体のベジエ曲線の最初の制御ポイントであり、CurveSize0 プロパティとともに、2番目の制御ポイントの位置を決定します。詳細については、ビームを参照してください。

ビームが終わる場所の Attachment については、Attachment1 を参照してください。

Attachment1

並列読み取り

ビームが終わる Attachment 場所。この添付ファイルは、ビームの立方体のベジエ曲線の第四と最後の制御ポイントであり、CurveSize1 プロパティとともに、第三の制御ポイントの位置を決定します。詳細については、ビームを参照してください。

ビームが発生する場所の Attachment については、Attachment0 を参照してください。

Brightness

並列読み取り

LightInfluence が 1未満のとき、ビームから放出される光をスケールします。このプロパティはデフォルトで 1 であり、0から10000の範囲内の任意の数に設定できます。LightInfluence の値を増加すると、このプロパティの値の効果が減少します。

並列読み取り

ビームの色を決定し、その Segments 全体です。Texture が設設定するされている場合、この色はビームのテクスチャに適用されます。Texture が設設定するされていない場合、Beam は、このプロパティに従って色付きの厚い線として表示されます。

このプロパティは 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)), -- パープル
}
)

ビームの色付けも、 が持つ数に依存します。ビームの各セグメントは、2色間の移行を表示できるだけです。そのため、Beam では、色が正しく表示されるために、少なくとも n-1 セグメントが必要になり、n は、ColorSequence での ColorSequenceKeypoints 数です。

CurveSize0

並列読み取り

以下の Attachment0 とともに、ビームのベジア曲線の第二コントロールポイントの位置を決定します。詳細は、ビーム を参照してください。

このポイントの位置は、次の方程式で決定できます:


local controlPoint2 = Beam.Attachment0.WorldPosition + (Beam.Attachment0.CFrame.RightVector * Beam.CurveSize0)

CurveSize1

並列読み取り

Determines, along with Attachment1 , the position of the third control point in the beam's Bézier curve. 詳細は、ビーム を参照してください。

このポイントの位置は、次の方程式で決定できます:


local controlPoint3 = Beam.Attachment1.WorldPosition - (Beam.Attachment1.CFrame.RightVector * Beam.CurveSize1)

Enabled

並列読み取り

ビームが見えるかどうかを決定します。

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

FaceCamera

並列読み取り

A Beam は、3D 空間に存在する 2D プロジェクションで、すべての角度から見えない可能性があります。 フェイスカメラ プロパティが true に設定されると、ビームが常に CurrentCamera を向いていることを保証し、向きは関係なくなります。

LightEmission

並列読み取り

ビームの色がどの程度背後の色とブレンドされるかを決定します。0から1の範囲で設定する必要があります。値 0 は通常のブレンドモードを使用し、値 1 は追加ブレンドを使用します。

このプロパティは、環境光によってビームが影響を受ける方法を決定する LightInfluence と混同してはならない。

このプロパティは ビームが環境を照らすことを 引き起こさない。

LightInfluence

並列読み取り

ビームが環境の照明に影響を受ける程度を 0 から 1 の間で決定します。0のとき、ビームは環境の照明に影響を受けません。1のとき、照明に完全に影響を受けることになります。BasePart としてです。

また、LightEmission によって、ビームの色が背後の色とどの程度ブレンドされるかが指定されます。

LocalTransparencyModifier

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

Segments

並列読み取り

完全なカーブではなく、ビームは直線のセグメントで構成されています。セグメントが多いほど、カーブの解像度が高くなります。 セグメント プロパティは、ビームが構成される直線セグメントの数と、デフォルト値 10 を指定します。

Color および Transparency プロパティは、正しく表示するには、特定の数のセグメントが必要であることに注意してください。これは、それぞれのセグメントが 2つの色や透明度の間の移行を表示できるだけであるためです。そのため、Beam では、ビームのn-1n に関連するキーポイントの数であるColorTransparency が正しく表示されるには、少なくとも セグメントが必要です。

Texture

ContentId
並列読み取り

ビームに表示されるテクスチャのコンテンツ ID。このプロパティが設設定するされていない場合、ビームは厚い線として表示されます;これは、テクスチャが無効なコンテンツIDに設定されたり、テクスチャに関連する画像がまだロードされていない場合も同様です。

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

テクスチャのスケーリングは、TextureModeTextureLengthWidth0、および Width1 プロパティによって決まります。

TextureLength

並列読み取り

ビームのテクスチャの長さを設定し、TextureMode に依存します。

TextureMode

並列読み取り

このプロパティは、TextureLength とともに、ビームの Texture が繰り返される方法を決定します。

When set to または 、テクスチャの繰り返しは、ビームの全長 (スタッドで) に等しくなります。

TextureMode diagram with Wrap mode

Enum.TextureMode.Stretch に設定すると、テクスチャはビーム全体の長さにわたって TextureLength 回繰り返されます。

TextureMode diagram with Stretch mode

TextureSpeed

並列読み取り

ビーム沿いで移動する Texture 画像の速度を決定します。このプロパティが正の値の場合、ビームのテクスチャは Attachment0 から Attachment1 に移動します。この方向は、このプロパティをマイナス数に設定することで逆向きにできます。

Transparency

並列読み取り

ビームのセグメント間の透明度を決定します。このプロパティは NumberSequence で、透明度をビームの長さに応じて変更できるように構成できます。

ビームに適用すると、画像化された結果が得られる次の NumberSequence を考えてください。


local numberSequence = NumberSequence.new({
NumberSequenceKeypoint.new(0, 0), -- オペーク
NumberSequenceKeypoint.new(0.5, 1), -- 透明
NumberSequenceKeypoint.new(1, 0), -- オペーク
}
)

ビームの透明度は、Segments の数にも依存します。ビームの各セグメントは、2つの透明性の間の移行を表示できるだけです。そのため、ビームは正しく表示するために少なくとも セグメントが必要であり、 は の数です。

Width0

並列読み取り

起源のビームの幅 ( Attachment0 )、スタッドで。ビームの幅は、終わりに線形で Width1 スタッドに変更されます ( Attachment1 )。

Width1

並列読み取り

端にビームの幅 ( Attachment1 )、スタッドです。ビームの幅は、起源から Width0 スタッドで線形に変化します ( Attachment0 )。

ZOffset

並列読み取り

ビームディスプレイの距離、スタッドで、CurrentCamera に対してオフセットされます。0のとき、ビームは Attachment0Attachment1 の間の標準位置で表示されます。 ZOffset は、正または負であることができます。

このプロパティは、同じ Attachments の間で複数の Beams を使用するときに「Z‑fighting」を避けるのに特に役立ちます。

コードサンプル

This code sample uses the Beam.ZOffset property to layer multiple beams between the same attachments.

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

()

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

ノート

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

パラメータ

offset: number

テクスチャサイクルの望ましいオフセット。

既定値: 0

戻り値

()

イベント