Beam
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Bir Işın nesnesi, aralarında bir doku çizerek iki Attachments bağlar.
Görüntülemek için, bir ışın Workspace ile birlikte Attachment0 ve Attachment1 özelliklerinin Attachments ayrıca Workspace düştüğü çizgiden aşağıya inmelidir.
Işının görünümü, aşağıda belirtilen özellik yelpazesi kullanılarak özelleştirilebilir. Ayrıca görsel örnekler için Işınlar rehberine de bakın.
Işın Falsozluğu
Işınlar, dört kontrol noktası tarafından oluşturulan kübik bir Bézier eğrisi kullanmak üzere yapılandırılır.Bu, düz çizgilere sınırlı olmadıkları ve ışının eğrisinin değiştirilerek değiştirilebildiği anlamına gelir , ve ışının yönünün değiştirilmesiyle.
- P0 — Işının başlangıcı; Attachment0 noktasının konumu.
- P3 — Işının sonu; Attachment1 konumu

Kod Örnekleri
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.
-- 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
Özet
Özellikler
Işının kaynağı. Attachment ışının kaynağı.
Işının Attachment sona erdiği yer.
LightInfluence 1'den az olduğunda, ışının yayıldığı ışığı ölçeklendirir.
Işının Segments boyunca rengini belirler.
Attachment0 ile birlikte, ışının Bézier eğrisindeki ikinci kontrol noktasının konumunu belirler.
Attachment1 ile birlikte, ışının Bézier eğrisindeki üçüncü kontrol noktasının konumunu belirler.
Işının görülebilir olup olmadığını belirler.
Işının Segments kısmının yönü bağımsız olarak her zaman kameraya bakıp bakmayacağını belirler, yönü ne olursa olsun.
Işının renklerinin arkasındaki renklerle ne ölçüde karıştırılacağını belirler.
Işının çevrenin aydınlatması tarafından etkilendiği dereceyi belirler.
Işının kaç düz segmentten oluştuğunu ayarlar.
Işın üzerinde görüntülenecek dokunun içeriği ID'si.
Işının dokusunun uzunluğunu ayarlar, TextureMode 'ye bağlı olarak.
Texture ölçeklerinin ve tekrarlarının nasıl belirleneceğini belirler.
Texture görüntünün ışın boyunca hareket ettiği hızı belirler.
Işının segmentleri arasındaki transparansını belirler.
Kökenindeki ışının genişliği ( Attachment0 ), milimetrede.
Sonunda ışının genişliği ( Attachment1 ), çiviler içinde.
Mesafe, çivilerle, ışın görüntüsü CurrentCamera 'ye göre ofset edilir.
Yöntemler
Işının dokuma döngüsünün mevcut ofisini ayarlar. Sets the current offset of the beam's texture cycle.
Özellikler
Attachment0
Işının kaynağı. Attachment ışının kaynağı.Bu ek, ışının kübik Bézier eğrisindeki ilk kontrol noktasıdır; yönü, CurveSize0 özelliğinin yanı sıra, ikinci kontrol noktasının konumunu belirler.Daha fazla ayrıntı için Işınlar bakın.
Işının sona erdiği yer için Attachment , görün Attachment1 .
Attachment1
Işının Attachment sona erdiği yer.Bu ek, ışının kübik Bézier eğrisindeki dördüncü ve son kontrol noktasıdır; yönü, CurveSize1 özelliğinin yanı sıra, üçüncü kontrol noktasının konumunu belirler.Daha fazla ayrıntı için Işınlar bakın.
Işının kaynağı olduğu Attachment için, bakınız Attachment0 .
Brightness
LightInfluence 1'den az olduğunda, ışının yayıldığı ışığı ölçeklendirir.Bu özellik varsayılan olarak 1'dir ve 0 ile 10000 arasındaki herhangi bir sayıya ayarlanabilir.LightInfluence değerini artırmak, bu özelliğin değerinin etkisini azaltır.
Color
Işının Segments boyunca rengini belirler.Eğer Texture ayarlandıysa, bu renk, ışının dokusuna uygulanacaktır.Eğer hiçbir Texture ayarı yapılmazsa, Beam bu özellikle uyumlu bir katı çizgi olarak görünecektir.
Bu özellik bir ColorSequence , renklerin ışın uzunluğu boyunca değiştirilebilmesine izin veren bir özelliktir.Bir ışına uygulandığında, resimde gösterilen sonuçverecek olan aşağıdaki ColorSequence düşünün.
local colorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- KırmızıColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- TurkuazColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- Sarı})

Işının renklenmesinin sayısına da bağlı olduğunu unutmayın Segments ın Beam sayısına sahip olması.Işının her bir bölümü yalnızca iki renk arasında bir geçiş gösterebilir.Bu nedenle bir Beam rengin doğru görüntülenmesi için en azından n-1 bölümlerinin olması gerekecek, n nerede ColorSequenceKeypoints sayısı ColorSequence .
CurveSize0
Attachment0 ile birlikte, ışının Bézier eğrisindeki ikinci kontrol noktasının konumunu belirler. Daha fazla ayrıntı için Işınlar bakın.
Bu noktanın konumu şu denklemle belirlenebilir:
local controlPoint2 = Beam.Attachment0.WorldPosition + (Beam.Attachment0.CFrame.RightVector * Beam.CurveSize0)
CurveSize1
Attachment1 ile birlikte, ışının Bézier eğrisindeki üçüncü kontrol noktasının konumunu belirler. Daha fazla ayrıntı için Işınlar bakın.
Bu noktanın konumu şu denklemle belirlenebilir:
local controlPoint3 = Beam.Attachment1.WorldPosition - (Beam.Attachment1.CFrame.RightVector * Beam.CurveSize1)
Enabled
Işının görülebilir olup olmadığını belirler.
Bu özellik false olarak ayarlanırsa, ışının Segments 'si görüntülenmez.
FaceCamera
Bir Beam 3B uzayda mevcut 2B bir projeksiyondur, yani her açıdan görülemeyebilir. Yüz Kamerası özelliği, true olarak ayarlanırken, ışın daima CurrentCamera yönünde olduğundan emin olur, yönü ne olursa olsun.
LightEmission
Işının renklerinin arkasındaki renklerle ne ölçüde karıştırılacağını belirler.0 ile 1 arasında ayarlanmalıdır.0 değeri normal karışım modlarını ve 1 değeri ekleyici karışımı kullanır.
Bu özellik, çubuğun çevresel ışıktan nasıl etkilendiğini belirleyen LightInfluence ile karıştırılmamalıdır.
Bu özellik ışını çevreyi aydınlatmasına neden olmaz .
LightInfluence
Işının çevrenin aydınlatması tarafından etkilendiği dereceyi belirler, 0 ile 1 arasında sıkıştırılır.0 olduğunda, ışın çevrenin aydınlatmasından etkilenmeyecektir.1 olduğunda, aydınlatma tarafından tamamen etkilenecek ve bir BasePart gibi olacaktır.
Ayrıca bakın LightEmission , ışının renklerinin arkasındaki renklerle ne ölçüde birleştirileceğini belirleyen.
LocalTransparencyModifier
Segments
Mükemmel bir eğrisi olmak yerine, bir ışın düz segmentlerden oluşur.Daha fazla segment, eğrinin çözünürlüğünün daha yüksek olması. Segmentler özelliği, ışının kaç tane düz segmentten oluştuğunu, varsayılan değeri 10 ile, belirler.
Color ve Transparency özelliklerinin doğru görüntülenmesi için belirli bir sayıda segment gerektirdiğini unutmayın.Bunun nedeni, her bir segmentin sadece iki renk veya saydamlık arasında bir geçiş gösterebilmesidir.Bu nedenle bir Beam en azından n-1 segmentleri doğru görüntülemek için gerektirir, nerede n ışının Color ve Transparency ile bağlantılı anahtar noktası sayısıdır.
Texture
Işın üzerinde görüntülenecek dokunun içeriği ID'si.Bu özellik ayarlanmazsa, ışın katı bir çizgi olarak görüntülenir; bu ayrıca, dokunun geçerli bir içerik kimliğine ayarlanması veya dokunun ilişkili görüntünün henüz yüklenmemesi durumunda da gerçekleşir.
Doku görünümü, Color ve Transparency dahil diğer ışın özellikleriyle daha da değiştirilebilir.
Doku ölçeklenmesi TextureMode , TextureLength , Width0 ve Width1 özellikleri tarafından belirlenir.
TextureMode
Bu özellik, yanında TextureLength , bir ışının Texture tekrarlanmasını nasıl belirler.
veya olarak ayarlanırsa, dokulu tekrarlar, ışının genel uzunluğuna eşit olacaktır (in studs) bölünerek.

Enum.TextureMode.Stretch olarak ayarlanırsa, dokunma tekniği, ışının genel uzunluğu boyunca TextureLength kez tekrarlanacaktır.

TextureSpeed
Texture görüntünün ışın boyunca hareket ettiği hızı belirler.Bu özellik pozitif bir değer olduğunda, ışının dokusu Attachment0 'dan Attachment1 'a taşınacaktır.Bu yön, bu özelliği negatif bir sayıya ayarlayarak tersine çevrilebilir.
Transparency
Işının segmentleri arasındaki transparansını belirler.Bu özellik bir NumberSequence , ışının uzunluğu boyunca değişen transparansın yapılandırılmasına izin veriyor.
Bir ışına uygulandığında, resmedilen sonuçverecek olan aşağıdaki NumberSequence düşünün.
local numberSequence = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), -- KoyuNumberSequenceKeypoint.new(0.5, 1), -- ŞeffafNumberSequenceKeypoint.new(1, 0), -- Koyu})

Işının transparansının da Segments sayısına bağlı olduğunu unutmayın.Işının her bir bölümü yalnızca iki saydamlık arasında bir geçiş gösterebilir.Bu nedenle, bir ışının doğru görüntülenmesi için en azından n-1 segmentlere sahip olması gerekecektir, n nerede NumberSequenceKeypoints , NumberSequence 'in sayısıdır.
Width0
Kökenindeki ışının genişliği ( Attachment0 ), milimetre cinsinden. Işının genişliği sonunda Width1 milimetreye lineer olarak değişecektir ( Attachment1 ).
Width1
Sonunda ışının genişliği ( Attachment1 ), çiviler içinde. Işının genişliği, kaynağındaki Width0 çivilerden lineer olarak değişecek ( Attachment0 ).
ZOffset
Mesafe, çivilerle, ışın görüntüsü CurrentCamera 'ye göre ofset edilir.0 olduğunda, ışın Attachment0 ve Attachment1 arasındaki standart konumunda görüntülenecektir. ZOffset pozitif veya negatif olabilir.
Bu özellik, aynı Attachments arasında çok sayıda Beams kullanırken "Z‑savaş"tan kaçınmak için özellikle yararlıdır.
Kod Örnekleri
This code sample uses the Beam.ZOffset property to layer multiple beams between the same attachments.
-- 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
Yöntemler
SetTextureOffset
Bir ışının dokuma döngüsünün ofseti, dokuma animasyonunun ilerlemesini temsil eder.Bu yöntem, ışının dokuma döngüsünün mevcut ofisini ayarlar; bu nedenle, döngüyü sıfırlamak için 0 ı geçerek offset parametresini yeniden tanımlayabilirsiniz.
Notlar
- Verdiğiniz offset parametresinin 0 ile 1 arasında bir değer olması beklenir, ancak daha yüksek değerler kullanılabilir.
- Doku döngüsü 0 ve 1'de sarılır, yani ofset 0 veya 1 olduğunda doku aynı konumdadır.
- Texture özelliği ayarlanmazsa, bu yöntem hiçbir şey yapmaz.
- Kaydırmanın artırılması, TextureSpeed özelliğinin ters yönünde hareket edecek ve dokuyu, TextureSpeed daha büyük olduğunda dokunun animasyon yönüne doğru hareket edecek, yani dokunun animasyon yönü 0'dan büyük olduğunda dokuyu hareket ettirecek.
Parametreler
Doku döngüsünün istediği ofset.