Beam

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Un objet Beam connecte deux Attachments en dessinant une texture entre eux.

Pour afficher, un rayon doit être un descendant du Workspace avec ses Attachment0 et Attachment1 propriétés définies sur 1> Class.Workspace1> également descendant du 4> Class.Workspace4> .

L'apparence du faisceau peut être personnalisée en utilisant la gamme de propriétés ci-dessous. Voir également le Beams guide pour des exemples visuels.

courbure de faisceau

Les rayons sont configurés pour utiliser une courbe Bézier cubique formée par quatre points de contrôle. Cela signifie qu'ils ne sont pas limités à des lignes droites et que la courbe de la partie peut être modifiée en changeant CurveSize0, CurveSize1 et l'orientation de la partie Class.Arrow|Att

  • P0 — Début du faisceau ; position de Attachment0 .
  • P1 — CurveSize0 studs loin de Attachment0, dans la direction positive 0> X0> de 3> Class.Beam.Attribut0 3>.
  • P2 — CurveSize1 studs loin de Attachment1, dans la direction négative 0> X0> de 3> Class.Beam.Attribut1|Attribut1 ».
  • P3 — La fin du faisceau ; position de Attachment1
Beam curvature diagram

Échantillons de code

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

Résumé

Propriétés

Méthodes

Propriétés

Attachment0

Lecture parallèle

Le faisceau Attachment dont l'origine est. Cette pièce de commande est le premier point de contrôle sur la courbe cubique de Bézier du faisceau ; son orientation, aux côtés de la propriété CurveSize0, détermine la position du deuxième point de contrôle. Voir Beams pour plus de détails.

Pour le Attachment où le faisceau se termine, voir Attachment1.

Attachment1

Lecture parallèle

Le Attachment de ce faisceau se termine à. Ce faisceau est le quatrième et dernier point de contrôle sur la courbe cubique de Bézier ; son orientation, aux côtés de la propriété CurveSize1, détermine la position du troisième point de contrôle. Voir les rayons pour plus de détails.

Pour le Attachment où l'arc vient d'où, voir Attachment0 .

Brightness

Lecture parallèle

Échelle la lumière émise par le faisceau lorsque LightInfluence est inférieure à 1. Cette propriété est 1 par défaut et peut être réglée sur n'importe quel nombre dans la tranche de 0 à 10000. Augmenter la valeur de LightInfluence diminue l'effet de la valeur de cette

Lecture parallèle

Détermine la couleur du faisceau à travers son Segments . Si Texture est configurer, cette couleur sera appliquée à la texture du faisceau. Si aucune couleur Texture n'est configurer, la 1> Class.Beam</

Cette propriété est un ColorSequence, ce qui permet à la couleur d'être configurée pour varier dans la longueur du faisceau. Considérez le suivant ColorSequence, qui, lorsqu'il est appliqué à un faisceau, produirait le resultatsimage.


local colorSequence = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- Rouge
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- Cyan
ColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- Violet
}
)

Notez que la couleur du faisceau dépend également du nombre de Segments que le Beam a. Chaque segment du fais

CurveSize0

Lecture parallèle

Détermine, avec Attachment0, la position du deuxième point de contrôle dans la courbe de Bézier du rayon. Voir Beams pour plus de détails.

La position de ce point peut être déterminée par l'équation suivante :


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

CurveSize1

Lecture parallèle

Détermine, avec Attachment1, la position du troisième point de contrôle dans la courbe de Bézier du rayon. Voir Beams pour plus de détails.

La position de ce point peut être déterminée par l'équation suivante :


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

Enabled

Lecture parallèle

Détermine si le rayon est visible ou non.

Lorsque cette propriété est réglée sur false, le rayon Segments ne sera pas affiché.

FaceCamera

Lecture parallèle

Un Beam est une 2D projection existant dans l'espace 3D, ce qui signifie qu'il peut ne pas être visible de tous les angles. La propriété FaceCamera , lorsqu'elle est réglée sur true, garantit que le faisceau est toujours face à la 1> Class.Workspace.CurrentCamera|CurrentCamera1>, indépendamment de son orientation.

LightEmission

Lecture parallèle

Détermine à quel degré les couleurs du faisceau sont mélangées avec les couleurs derrière. Il doit être réglé dans la tranche de 0 à 1. Une valeur de 0 utilise les mélanges de couleurs normaux et une valeur de 1 utilise les mélanges de couleurs additives.

Cette propriété ne doit pas être confondue avec LightInfluence qui détermine comment le rayon est affecté par la lumière environnementale.

Cette propriété ne fait pas non pour que le faisceau éclaire l'environnement.

LightInfluence

Lecture parallèle

Détermine à quel degré le faisceau est affecté par l'éclairage de l'environnement, scotché entre 0 et 1. Lorsque 0, le faisceau ne sera pas affecté par l'éclairage de l'environnement. Lorsque 1, il sera entièrement affecté par l'éclairage comme un BasePart serait.

Voir également LightEmission qui spécifie dans quelle mesure les couleurs du faisceau sont mélangées avec les couleurs derrière.

LocalTransparencyModifier

Caché
Non répliqué
Lecture parallèle

Segments

Lecture parallèle

Au lieu d'être une courbe parfaite, un rayon est composé de segments droits. Plus il y a de segments, plus la résolution de la courbe est élevée. La propriété Segments définit le nombre de segments droits dans lesquels le rayon est composé, avec une valeur par défaut de 10.

Remarquez que les propriétés Color et Transparency nécessitent un certain nombre de segments pour s'

Texture

ContentId
Lecture parallèle

L'ID de contenu de la texture à afficher sur le faisceau. Si cette propriété n'est pas configurer, le faisceau sera affiché comme une ligne solide ; cela se produit également lorsque la texture est définie à un ID de contenu invalide ou que l'image associée à la texture n'a pas encore été chargée.

L'apparence de la texture peut être modifiée par d'autres propriétés de faisceau, y compris Color et Transparency.

L'échelle de la texture est déterminée par le TextureMode, TextureLength, Width0, et 2>Class.Beam.Width1|Width12> propriétés.

TextureLength

Lecture parallèle

Définit la longueur de la texture du rayon, en fonction de TextureMode .

TextureMode

Lecture parallèle

Cette propriété, ainsi que TextureLength, détermine la façon dont se répète le Texture d'un rayon.

Lorsqu'il est défini sur Enum.TextureMode.Wrap ou Enum.TextureMode.Static, les répétitions de texture correspondent à la longueur globale du faisceau (en studs) divisée par sa TextureLength.

TextureMode diagram with Wrap mode

Lorsqu'il est réglé sur Enum.TextureMode.Stretch, la texture se répétera TextureLength fois sur la longueur totale du faisceau.

TextureMode diagram with Stretch mode

TextureSpeed

Lecture parallèle

Détermine la vitesse à laquelle l'image Texture déplace le long du faisceau. Lorsque cette propriété est une valeur positive, la texture du faisceau se déplace de Attachment0 à Attachment1. Cette direction peut être inversée en définissant cette propriété à un nombre négatif.

Transparency

Lecture parallèle

Détermine la transparence du faisceau à travers ses segments. Cette propriété est un NumberSequence, ce qui permet de configurer la transparence pour varier dans la longueur du faisceau.

Considérez le suivant NumberSequence qui, lorsqu'il est appliqué à un faisceau, produirait le resultatsimage.


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

Remarquez que la transparence du faisceau dépend également du nombre de Segments. Chaque segment du faisceau ne peut montrer qu'une transition entre deux transparences. Ainsi, un faisceau aura besoin d'au moins n-1 segments pour s'aff

Width0

Lecture parallèle

La largeur du faisceau à son origine ( Attachment0), en studs. La largeur du faisceau changera linéairement à Width1 studs à son extrémité ( Attachment1).

Width1

Lecture parallèle

La largeur du faisceau à sa fin ( Attachment1), en studs. La largeur du faisceau changera linéairement à partir de Width0 studs à son origine ( Attachment0).

ZOffset

Lecture parallèle

La distance, en studs, l'affichage du faisceau est décalé par rapport à la CurrentCamera . Lorsque 0, le faisceau sera affiché dans sa position standard entre Attachment0 et Attachment1 . 1> ZOffset1> peut être positif ou négatif.

Cette propriété est particulièrement utile pour éviter le « Z - Fighting » lors de l'utilisation de plusieurs Beams entre les mêmes Attachments.

Échantillons de code

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

Méthodes

SetTextureOffset

void

L'Offset d'un cycle de texture représente la progression de son animationsde texture. Ce méthode défini l'Offset actuel du cycle de texture ; ainsi, il peut être utilisé pour réinitialiser le cycle en passant 0 en tant que paramètre offset.

Notes

  • Le paramètre donné offset est attendu être une valeur entre 0 et 1, mais des valeurs plus grandes peuvent être utilisées.
  • Le cycle de texte se termine par 0 et 1, ce qui signifie que le texte est dans la même position lorsque l'Offset est à 0 ou 1.
  • Si la propriété Texture n'est pas configurer, cette méthode ne fait rien.
  • Augmenter le décalage agira dans la direction inverse de la propriété TextureSpeed, ce qui signifie qu'il déplacera la texture dans la direction opposée à la direction dans laquelle l'animation de la texture se déplace lorsque TextureSpeed est supérieur à 0.

Paramètres

offset: number

L'écart souhaité du cycle de texte.

Valeur par défaut : 0

Retours

void

Évènements