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şınlayıcı nesnesi, aralarındaki bir Attachments ile bir Işınlayıcıyı bağlar.
Görüntülemek için, bir ışın Workspace ile onun Attachment0 ve Attachment1 özellikleriyle iletken olmalıdır. Ayrıca 2> Class.Workspace2> ile aşağıdan gelirken 5>
Işının görünümü aşağıdaki özelliklerin menzili kullanılarak özelleştirilebilir. Ayrıca, görsel örnekler için Işınlar rehberini de gözden geçirin.
Işın Kıvrımı
Işınlar dört kontrol nokası tarafından oluşturulan kübik Bézier kısmını kullanmak için yapılandırılmıştır. Bu, onları doğrudan çizgilere bağlı olmadan değiştirebilir ve CurveSize0 , Class
- P0 — Işının başlangıcı; Attachment0 ile.
- P2 — CurveSize1 çizgileri Attachment1 ile çarpık olarak 100'den az uzaktadır, negatif 0> X0> yönünde.
- P3 — Işının sonu; Attachment1 için konum
Kod Örnekleri
-- 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 dir.
Işının ucunda Attachment vardır.
Işınlanma etkisi alanında LightInfluence değeri daha düşük olduğunda ışığı ölçekler.
Işının rengini Segments ile belirler.
Class.Beam.Selection0|Selection0> ile birlikte, çizgiyi oluşturan ikinci kontrol noktasının Bézier kısmındaki konumunu belirler.
Class.Beam.Selection1|Selection1> ile birlikte, çizgiyi oluşturan üçüncü kontrol noktasının Bézier kısmındaki konumunu belirler.
Işının görünür olup olmadığını belirler.
Işının Segments kısmının her zaman kameranın yönüyle ilgili olarak yüzleşeceğini belirler.
Işığın renginin arkasındaki renklerle ne derece karıştığını belirler.
Işınlanmanın çevresel ışıklandırmaya olan derecesini belirler.
Işının oluştuğu doğru bölüm sayısını ayarlar.
Işınlanmak için görüntülenen malzeme kimliği.
Işınlanma moduna bağlı olarak ışınlanma modunun uzunluğunu ayarlar. TextureMode .
Class.Beam.Texture|Texture 'in boyutlandırılması ve tekrarlanmasının yöntemini belirler.
Texture görüntüsünün çubukta hareket ettiği hızı belirler.
Işının bölümleri arasındaki görünürlüğünü belirler.
Işının kökenindeki çapa genişliği (Attachment0).
Işının sonundaki bezirğin genişliği (Attachment1), in studs'da.
Menzil, inç olarak, ışınlanma göstergesinin Class.Workspace.CurrentCamera|CurrentCamera ile ilgili kaymasıdır.
Yöntemler
Işın dokununun görünüm döngüsünün mevcut ofsetini ayarlar.
Özellikler
Attachment0
Işının kaynağından olan Attachment bu ışının kübik Bézier kısmındaki ilk kontrol noktasıdır. Orientasyonu, CurveSize0 özelliğinin yanındaki, ikinci kontrol noktasının konumunu belirlemek için görüyor. Ayrıca, Işı
Işının ucunda Attachment olmayan bir Attachment1 için, bakın Class.Beam.Selection1|Selection1.
Attachment1
Işının küpik Bézier kısmındaki son kontrol noktasına kadar uzanır. Bu bağlantı, işaretleyicinin küpik Bézier kısmındaki dördüncü ve son kontrol noktasıdır; yönu, Attachment özelliği ile birlikte, üçüncü kontrol noktasının konumun
Işınlanan ışınlanma noktasından olan Attachment için, Attachment0 ı görün.
Brightness
Işığın Class.Beam.LightInfluence|LightInfluence değerinden önce 1'den daha az olduğunda, ışığın yayılanını artırır. Bu özellik varsayılan olarak 1'dir ve Class.Beam.LightInfluence|LightInfluence değerinin aralığını 0 ila 10000 arasında ayarl
Color
Işının rengini belirler. Işının rengi Segments aracılığıyla belirlenir. Eğer Texture belirlenmiş ise, bu renk ışının dokusuna uygulanır. Eğer Class.Beam.
Bu özellik bir ColorSequence , boyunca dalga boyunca rengin yapılandırılmasını sağlayan bir renk oluşturur. İşte, uygulandığında bir dalga boyunca boyunca, görüntülenen sonuçveren ColorSequence dır.
local colorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- KırmızıColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- CamColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- Mor})
Ayrıca, şu anda Segments ın sahip olduğu Beam sayısına bağlı ol
CurveSize0
Class.Beam.Attach0|Attach0> ile birlikte, çizgi şekillendirme曲線中的 ikinci kontrol noktasının pozisyonunu belirler. Ayrıntılar için Attachment0 bakın.
Bu noktanın konumu şu denklemle belirlenebilir:
local controlPoint2 = Beam.Attachment0.WorldPosition + (Beam.Attachment0.CFrame.RightVector * Beam.CurveSize0)
CurveSize1
Class.Beam.Attach1|Attach1> ile birlikte, çizgi şekillendirme曲線中的 üçüncü kontrol noktasının pozisyonunu belirler. Ayrıntılar için Işınlar bakın.
Bu noktanın konumu şu denklemle belirlenebilir:
local controlPoint3 = Beam.Attachment1.WorldPosition - (Beam.Attachment1.CFrame.RightVector * Beam.CurveSize1)
FaceCamera
Bir Beam , 3D alanında mevcut olan bir 2D projektörü ifade eder ve her açıdan görünmeyebilir. Yüz Kamerası özelliği, setlenmiş olarak true , çizgisel yön olarak her zaman 2> Class.Workspace.CurrentCamera|CurrentCamera2> 'yı gösterir.
LightEmission
Işının rengiyle kaynağın rengi arasındaki oranı belirler. 0 ila 1 arasında ayarlanmalıdır. 0 değeri normal bir karışım modunu kullanır ve 1 değeri ekstra bir karışım modunu kullanır.
Bu özellik LightInfluence ile karıştırılmamalıdır, bu da ışının çevresel ışığa nasıl etkilendiğini belirler.
Bu özellik, ışını çevreleyen çıkıntıyı etkilemez.
LightInfluence
Işınlanmanın çevresindeki ışıklandırmaya olan derecesini belirler, 0 ile 1 arasında kıvrımlıdır. 0, çevresindeki ışıklandırmaya etkisi olmayan bir BasePart olacaktır.
Ayrıca, LightEmission bakınız, bu da ışının arkasındaki renklerle karıştığı derece renklerin karışımını belirtir.
LocalTransparencyModifier
Segments
Mükemmel bir kıvama sahip olmak yerine, bir dalga kıvamının tüm katmanlarına yapılmıştır. Katmanların sayısı, kıvamanın çözünürlüğünü artırır. Segmentler özelliği, dalga kıvamının kaç tane katmanını oluşturduğunu, varsayılan değer ile 10 olarak ayarlar.
Açıklama Notu, Color ve Transparency özelliklerinin doğru g
Texture
Işınlanmak için görüntülenen tekstürün ID'si. Bu özellik ayarlanmazsa, tekstür solida bir satır olarak görüntülenir; bu ayrıca, tekstürün ilişkili olarak hala yüklenmediği görüntülenen bir satır olarak görüntülenir.
Metinin görünümü, Color ve Transparency dahil olmak üzere diğer ışın özellikleri tarafından daha da değiştirilebilir.
Metin büyüklüğü TextureMode, TextureLength, Width0 ve 2>Class.Beam.Width1|Width12> özellikleriyle belirlenir.
TextureMode
Bu özellik, TextureLength ile birlikte, bir ışının Texture'ının tekrarlanmasını belirler.
Class.Beam.TextureLength|TextureLength ile birleştirildiğinde, dokunma sayısıyla birleştirildiğinde veya Enum.TextureMode.Static ile birleştirildiğinde, dokunma sayısıyla birleştirildiğinde veya TextureLength ile birleştirildiğinde, dokunma sayısıyla birleştirildiğinde veya 1>Class
Class.Beam.TextureLength|TextureLength ile birleştirildiğinde, dokunun boyunca çizgi uzunluğu boyunca TextureLength tekrar edilir.
TextureSpeed
Class.Beam.Texture|Texture görüntüsünün ışın üzerinde hareket ettiği hızı belirler. Bu özellik olumlu bir değer olduğunda, ışının dokusu Attachment0 ile Attachment1 arasında hareket eder. Bu yön,
Transparency
Işının bölümleri arasındaki görünürlüğünü belirler. Bu özellik bir NumberSequence olarak, görünürlüğü uzunluğu boyunca değiştirilebilir şekilde yapılandırır.
Bir ızına uygulandığında görüntülenen sonuçu veren şu NumberSequence düşünün.
local numberSequence = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), -- opakNumberSequenceKeypoint.new(0.5, 1), -- ŞeffafNumberSequenceKeypoint.new(1, 0), -- opak})
Not, ışığın transparansının ayrıca Segments sayısına da bağlı olduğunu unutmayın. Her bir ışığın transparansı sadece iki transparans arasında bir geçi
Width0
Işının kaynağındaki bemin genişliği (Attachment0), in studs. Işının genişliği lineer olarak Width1 ile sona ulaşır (Attachment1).
Width1
Işının ucunda (Attachment1), çizgilerde, ışının genişliği lineer olarak değişir. ışının genişliği, kökenindeki Width0 çizgilerinden lineer olarak değişir.
ZOffset
Menzil, milimetre olarak, ışın göstergesinin Class.Workspace.CurrentCamera|CurrentCamera ile ilgili kaymasıdır. 0 olduğunda, ışın göstergesi standart pozisyonları arasında CurrentCamera ve Attachment0 arasında gösterilecektir
Bu özellik, aynı Beams arasındaki çok sayıda Attachments kullanırken "Z-fighting" ile kaçınmak için özellikle yararlıdır.
Kod Örnekleri
-- 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 ızının tekstür döngüsünün ofseti, onun tekstür animasyonunun ilerlemesini temsil eder. Bu yöntem, ızının tekstür döngüsünün mevcut ofsetini ayarlar; bu nedenle, 0'i offset değerine atarak döngüyü sıfırlayabilirsiniz.
Notlar
- Verilen offset parametresi 0 ile 1 arasında bir değer olmalıdır, ancak daha büyük değerler kullanılabilir.
- Dokunun döngüsü 0 ve 1 arasında yuvarlanır, yani ofset 0 veya 1'deyken dokunun aynı pozisyonda olması gerekir.
- Class.Beam.Texture|Texture özelliği ayarlanmazsa, bu yöntem hiçbir şey yapmaz.
- Ofseti artırmak, TextureSpeed özelliğine ters yönlü hareket edeceğini ifade ediyor, yani tekstürü yan yönlü hareket ettirirken TextureSpeed daha büyük olduğunda, tekstür animasyonunu yönlendirir.
Parametreler
Metin döngüsünün istediğiniz ofseti.