Beam

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Ein Strahlen-Objekt verbindet zwei Attachments durch das Ziehen einer Textur zwischen ihnen.

Um angezeigt zu werden, muss ein Strahl ein Nachkommen des Workspace mit seinen Attachment0 und Attachment1 Eigenschaften auf 1> Class.Attachments|Attachments1> auch abstimmen.

Die Erscheinung des Strahls kann mit der Palette von Eigenschaften unten anpasset werden. Siehe auch die Strahlen-Anleitung für visuelle Beispiele.

Strahlenkrümmung

Strahlen sind so konfiguriert, dass sie eine kubische Bézier-Kurve verwenden, die aus vier Kontrollpunkten besteht. Dies bedeutet, dass sie nicht an geraden Linien gebunden sind und die Kurve der Bézier des Beams modifiziert werden kann, indem CurveSize0 , CurveSize1 und die

  • P0 — Der Anfang des Beams; Position von Attachment0 .
  • P1 — CurveSize0 Studs von Attachment0 entfernt in der positiven 0>X0> Richtung von 3> Class.Beam.Attach0|Attach0 3> .
  • P2 — CurveSize1 Studs von Attachment1 entfernt in der negativen 0>X0> Richtung von 3> Class.Beam.Attach1|Attach1 3> .
  • P3 — Das Ende des Beams; Position von Attachment1
Beam curvature diagram

Code-Beispiele

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

Zusammenfassung

Eigenschaften

Methoden

Eigenschaften

Attachment0

Parallel lesen

Dieses Zubehör erzeugt den Strahl aus. Dieser Zubehör ist der erste Kontrollpunkt auf der Bézier-Kurve des Beams; seine Ausrichtung neben der EigenschaftenCurveSize0 bestimmt die Position des zweiten Kontrollpunkts. Siehe Beams für weitere Details.

Für das Attachment , wo der Strahl endet, siehe Attachment1.

Attachment1

Parallel lesen

Das Attachment der Fachwerk endet hier. Dieser Anhang ist der vierte und letzte Kontrollpunkt auf der Bézier-Kurve des Fachwerks; seine Ausrichtung neben der EigenschaftenCurveSize1 bestimmt die Position des dritten Kontrollpunkts. Siehe Fachwerke für weitere Details.

Für das Attachment , wo der Strahl herkommt, siehe Attachment0 .

Brightness

Parallel lesen

Skaliert das von dem Strahl emittierte Licht, wenn LightInfluence weniger als 1 ist. Diese Eigenschaftenist standardmäßig auf 1 gesetzt und kann auf eine beliebige Zahl innerhalb der Reichweite von 0 zu 10000 erhöht werden. Die Erhöhung des Wertes von LightInfluence verringert den Effekt des Wertes

Parallel lesen

Bestimmt die Farbe des Beams über seine Segments. Wenn Texture festlegenist, wird diese Farbe auf die Textur des Beams angewendet. Wenn keine Texture festlegenist, wird die 1> Class.Beam1> als solide Linie mit der

Diese Eigenschaft ist eine ColorSequence, wodurch die Farbe konfiguriert werden kann, um sich über die Länge des Beams zu verteilen. Berücksichtige die folgende ColorSequence, die, wenn sie auf einen Beam angewendet wird, das ergebnis präsentiert, das in der bildung Ergebniswird.


local colorSequence = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- Rote
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- Zyan
ColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- Lila
}
)

Beachten Sie, dass die Färbung des Beams auch von der Anzahl der Segments , die der Beam hat, abhängt.

CurveSize0

Parallel lesen

Bestimmt, zusammen mit Attachment0 , die Position des zweiten Kontrollpunkts in der Bézier-Kurve des Beams. Siehe Strahlen für mehr Details.

Die Position dieses Punkts kann mit der folgenden Gleichung bestimmt werden:


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

CurveSize1

Parallel lesen

Bestimmt, zusammen mit Attachment1 , die Position des dritten Kontrollpunkts in der Bézier-Kurve des Beams. Siehe Strahlen für mehr Details.

Die Position dieses Punkts kann mit der folgenden Gleichung bestimmt werden:


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

Enabled

Parallel lesen

Bestimmt, ob der Strahl sichtbar ist oder nicht.

Wenn diese Eigenschaft auf falsch gesetzt ist, werden die Strahlen Segments nicht angezeigt.

FaceCamera

Parallel lesen

Ein Beam ist eine 2D-Projektion, die im Platzexistiert, was bedeutet, dass sie von jedem Blickwinkel nicht sichtbar sein kann. Die FaceCamera Eigenschaften, wenn sie auf true eingestellt ist, garantiert, dass der Strahl immer auf die 1> Class.Arbeitsbereich.CurrentCamera|CurrentCamera1> zielt, unabhängig von

LightEmission

Parallel lesen

Bestimmt in welchem Maße die Farben des Beams mit den Farben hinter ihm gemischt sind. Es sollte in der Reichweite von 0 zu 1 festgelegt sein. Ein Wert von 0 verwendet normale Mischmodi und ein Wert von 1 verwendet additive Mischmodi.

Dieses Eigenschaft sollte nicht mit LightInfluence verwechselt werden, die bestimmt, wie der Beam durch Umweltlicht beeinflusst wird.

Diese Eigenschaft nicht , dass der Strahl die Umgebung beleuchtet.

LightInfluence

Parallel lesen

Bestimmt, inwiefern der Strahl von der Beleuchtung des Umgebungbeeinflusst wird, zwischen 0 und 1 geklemmt. Wenn 0, wird der Strahl nicht von der Beleuchtung des Umgebungbeeinflusst. Wenn 1, wird der Strahl vollständig von der Beleuchtung als BasePart beeinflusst.

Siehe auch LightEmission, die bestimmt, in welchem Ausmaß die Farben des Beams mit den Farben hinter ihm gemischt sind.

LocalTransparencyModifier

Verborgen
Nicht repliziert
Parallel lesen

Segments

Parallel lesen

Statt eine perfekte Kurve zu sein, besteht ein Strahl aus geraden Segmenten. Je mehr Segmente, desto höher die Auflösung der Kurve. Die Segmente -Eigenschaft setzt, wie viele gerade Segmente der Strahl besteht, mit einem Standardwert von 10.

Beachten Sie, dass die Color und Transparency-Eigenschaften eine bestimmte Anzahl von Segment

Texture

ContentId
Parallel lesen

Die Text-ID der Textur, die auf dem Beam angezeigt werden soll. Wenn diese Eigenschaft nicht festlegenist, wird die Beam als solide Linie angezeigt; dies geschieht auch, wenn die Textur auf eine ungültige Inhalts-ID festgelegt ist oder das Bild, das mit der Textur verbunden ist, noch nicht geladen wurde.

Der Aussehen der Textur kann durch andere Beam-Eigenschaften, einschließlich Color und Transparency weiter modifiziert werden.

Die Skalierung der Textur wird durch die TextureMode, TextureLength, Width0 und 2>Class.Beam.Width1|Width12> Eigenschaften bestimmt.

TextureLength

Parallel lesen

Setzt die Länge der Textur des Beams, abhängig von TextureMode .

TextureMode

Parallel lesen

Dieses Eigenschaftenneben TextureLength bestimmt, wie sich das Texture eines Beams wiederholt.

Wenn auf Enum.TextureMode.Wrap festgelegt, dass die Textur wiederholungen das gesamte länge desstrahls (in studs) multipliziert durch seine Enum.TextureMode.Static oder TextureLength .

TextureMode diagram with Wrap mode

Wenn auf Enum.TextureMode.Stretch eingestellt, wiederholt sich die Textur TextureLength Mal über die gesamte Länge des Balkens.

TextureMode diagram with Stretch mode

TextureSpeed

Parallel lesen

Bestimmt die Geschwindigkeit, mit der das Bild Texture über den Balken bewegt wird. Wenn diese Eigenschaft ein positives Wert ist, bewegt sich die Textur des Balkens von Attachment0 zu Attachment1. Diese Richtung kann umgekehrt werden, indem Sie diese Eigenschaft auf einen negativen Wert setzen.

Transparency

Parallel lesen

Bestimmt die Transparenz des Strahls in seinen Segmenten. Diese Eigenschaft ist ein NumberSequence, so dass die Transparenz konfiguriert werden kann, um die Länge des Strahls zu ändern.

Betrachte die folgende NumberSequence , die, wenn sie auf einen Strahl angewendet wird, das dargestellte Ergebnis erzeugt.


local numberSequence = NumberSequence.new({
NumberSequenceKeypoint.new(0, 0), -- Opake
NumberSequenceKeypoint.new(0.5, 1), -- Transparent
NumberSequenceKeypoint.new(1, 0), -- Opake
}
)

Beachten Sie, dass die Transparenz des Beams auch von der Anzahl der Segmente abhängt, in denen sich die beiden Transparenzen überlappen. Jeder Segment des Beams kann nur eine Transition zwischen zwei Transparenzen anzeigen. Daher muss ein Beam mindestens Segments Segmente in der Datatype.Number

Width0

Parallel lesen

Die Breite des Beams an seinem Ursprung ( Attachment0 ) in Studs. Die Breite des Beams ändert sich lineär zu Width1 Studs an seinem Ende ( Attachment1 ).

Width1

Parallel lesen

Die Breite des Beams am Ende ( Attachment1 ) in Studs. Die Breite des Beams ändert sich lineär von Width0 Studs an seinem Ursprung ( Attachment0 ).

ZOffset

Parallel lesen

Die Entfernung, in Studs, ist das Beam-Anzeigeparameter relativ zu CurrentCamera . Wenn 0, wird das Beam in seiner Standardposition zwischen Attachment0 und Attachment1 angezeigt. 2> ZOffset2> kann entweder positiv oder negativ sein.

Dieses Eigenschaft ist besonders nützlich, um "Z-Kampf" zu vermeiden, wenn Sie mehrere Beams zwischen demselben Attachments verwenden.

Code-Beispiele

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

Methoden

SetTextureOffset

void

Der Versatz einer Texturzyklus-Textur repräsentiert den Fortschritt seiner Animationen. Dieser Method setzt den aktuellen Versatz der Texturzyklus-Textur; daher kann er verwendet werden, um den Zyklus durch das Überschreiten von 0 als offset-Parameter zurückzusetzen.

Notizen

  • Der angegebene offset -Wert erwartet, dass er ein Wert zwischen 0 und 1 ist, aber größere Werte können verwendet werden.
  • Der Texturzyklus wraps bei 0 und 1, was bedeutet, dass die Textur in der selben Position ist, wenn der Offset bei 0 oder 1 ist.
  • Wenn die Texture Eigenschaft nicht festlegenist, tut dieses Methode nichts.
  • Das Erhöhen des Offsets wird in der umgekehrten Richtung auf die TextureSpeed Eigenschaftenhandeln, was bedeutet, dass es die Textur in die andere Richtung bewegt, in die die Textur animiert, wenn Class.Beam.TextureSpeed|TextureSpeed größer als 0 ist.

Parameter

offset: number

Der gewünschte Offset des Textilzyklus.

Standardwert: 0

Rückgaben

void

Ereignisse