Beam
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Một Beam đối tượng kết nối hai Attachments bằng cách vẽ một texture giữa họ.
Để hiển thị, một chiếc thanh phải là con của Class.Workspace với các thuộc tính Workspace và Attachment0 được cài đặt thành Attachment1 cũng như đang đi xuố
Cấu hình của thanh dẫn có thể được tùy chỉnh bằng cách sử dụng bộ nhận dạng phù hợp được mô tả bên dưới. Xem hướng dẫn Cấu hình của thanh dẫn cho ví dụ thị giác.
Sự lệch tấm
Các tia được cấu hình để sử dụng một hình Bézier hình họa họa hình thành bởi bốn điểu khiển. Điều này có nghĩa là chúng không bị giới hạn để làm theo dòng thẳng và hình dạng củ
- P0 — Bắt đầu của thanh; vị trí của Attachment0 .
- P1 — CurveSize0 được xa Attachment0 , trong hướng dương 0> X0> của 3> Class.Beam.Attach0|Attach0 3> .
- P2 — CurveSize1 được xa Attachment1 , trong hướng dương tính 0> X0> của 3> Class.Beam.Attach1|Attach1 3> .
- P3 — Kết thúc của thanh; vị trí của Attachment1
Mẫu mã
-- 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
Tóm Tắt
Thuộc Tính
Class.附() tia từ nơi xuất phát.
Cuối cùng, Attachment lưới kết thúc ở đây.
Tăng cường ánh sáng phát ra từ chùm khi LightInfluence nhỏ hơn 1.
Xác định màu của thanh xa trên của nó Segments .
Xác định, cùng với Attachment0 , vị trí của điểm điều khiển thứ hai trong hình Bézier của hàng.
Xác định, cùng với Attachment1 , vị trí của điểm điều khiển thứ ba trong hình Bézier của hàng.
Xác định có hay không có mắt cá chân.
Xác định liệu Segments của thanh sẽ luôn mặt vào máy ảnh, bất kể hướng của nó.
Xác định đến mức độ màu sắc của thanh ray được hỗn loạn với màu sắc đằng sau nó.
Xác định mức độ mà hàng gạch ảnh hưởng đến ánh sáng môi trường.
Đặt số lượng các mảnh dưới đường thẳng mà hình dạng tạo ra.
ID nội dung của vật liệu để được hiển thị trên thanh.
Điều chỉnh chiều dài của chuỗi bằng cách sử dụng TextureMode .
Xác định cách mà Texture mở rộng và lặp lại.
Xác định tốc độ mà hình ảnh Texture di chuyển trên các thanh trượt.
Xác định độ trong suốt của tia trên các phần của nó.
Chiều rộng của thanh ở vị trí xuất phát của nó ( Attachment0 ) được biểu thị bằng dấu chấm câu.
Chiều rộng của thanh ở cuối của nó ( Attachment1 )), ở dấu.
Khoảng cách, trong studs, hiển thị trục hiện đang được lệch so với CurrentCamera .
Phương Pháp
Điều chỉnh mức dịch chu kỳ cấu hình của hàng hiện tại.
Thuộc Tính
Attachment0
Các Attachment mà cây dây đến từ. Đây là điểm kiểm tra đầu tiên trên cây dây Bézier hình vuông; vị trí này, cùng với thuộc tính CurveSize0 của nó, xác định vị trí điểm kiểm tra th
Đối với Attachment ở đó chùm tia kết thúc, xem Attachment1 .
Attachment1
Cuộn dây này kết thúc tại. Đây là điểm kiểm tra cuối cùng trên các cấu hình Bézier hình chữ C của thanh; vị trí này, cùng với thuộc tính Attachment của một ngôi thứ ba, xác định vị trí của
Đối với Attachment , nơi mà trục từ xuất phát, xem Attachment0 .
Brightness
Điều chỉnh ánh sáng phát ra từ chùm khi LightInfluence được thấp hơn 1. Đây là thuộc tính mặc định và có thể được đặt bất kỳ số nào trong phạm vi 0 đến 10000. T
Color
Xác định màu của thanh dây qua các Segments của nó. Nếu Texture được cài đặt, màu này sẽ được ứng dụng cho textura của thanh dây. Nếu kh
Đây là một ColorSequence , cho phép màu được cấu hình để biến đổi qua toàn bộ chiều dài của thanh. Hãy xem điều này ColorSequence , mà khi được ứng dụng vào một thanh, sẽ tạo ra kết quả được minh họa.
local colorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- ĐỏColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- Xanh DươngColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- Màu Tím})
Lưu ý màu của hình ảnh cũng phụ thuộc vào số lượng của Class.Beam.Segments|Segments
CurveSize0
Xác định, cùng với Attachment0 , vị trí của điểm điều khiển thứ hai trong cấu hình Bézier của thanh. Xem Beams để biết thêm chi tiết.
Vị trí của điểm này có thể được xác định bằng công thức sau:
local controlPoint2 = Beam.Attachment0.WorldPosition + (Beam.Attachment0.CFrame.RightVector * Beam.CurveSize0)
CurveSize1
Xác định, cùng với Attachment1 , vị trí của điểm điều khiển thứ ba trong Bézier hồi hương của hình. Hãy xem Beams để biết thêm chi tiết.
Vị trí của điểm này có thể được xác định bằng công thức sau:
local controlPoint3 = Beam.Attachment1.WorldPosition - (Beam.Attachment1.CFrame.RightVector * Beam.CurveSize1)
Enabled
Xác định có hay không có mắt cá chân.
Khi thuộc tính này được cài đặt thành false, trụ cột của hình ảnh sẽ không được hiển thị.
FaceCamera
Một Beam là một bức tượng 2D tồn tại trong không gian 3D, có nghĩa là nó có thể không xuất hiện từ mọi góc độ. Thuộc tính CameraFace , khi được đặt để true, đảm bảo rằ
LightEmission
Xác định đến mức độ màu sắc của thanh ray được hỗn hợp với màu sắc đằng sau nó. Nó nên được đặt trong phạm vi từ 0 đến 1. Một giá trị 0 sử dụng các chế độ hỗn hợp thông thường và một giá trị 1 sử dụng các chế độ hỗn hợp thêm.
Đặ性 này không nên được nhầm lẫn với LightInfluence để xác định cách ảnh hưởng của chùm tia đến ánh sáng môi trường.
Điều này làm cho không vì các thanh dây chiếu sáng môi trường.
LightInfluence
Xác định mức độ mà các tia của chúng tôi bị ảnh hưởng bởi ánh sáng môi trường, kẹp giữa 0 và 1. Khi 0, các tia sẽ không bị ảnh hưởng bởi ánh sáng môi trường. Khi 1, nó sẽ bị ảnh hưởng hoàn toàn bởi ánh sáng như một
Xem thêm LightEmission qui định đến mức độ màu sắc của thanh ray được trộn với màu sắc ở phía sau nó.
LocalTransparencyModifier
Segments
Thay vì là một đường cong hoàn hảo, một chiếc thanh được tạo từ các segment thẳng. Bao nhiêu segment, thì càng cao giá độ phân giải của chiếc thanh. Thuộc tính Segments đặt số lượng các segment thẳng mà chiếc thanh đó được tạo từ, với giá trị mặc định là 10.
Lưu ý rằng các thuộc tính Color và Class.Beam.Transparency|Transparency</
Texture
ID nội dung của chất liệu để được hiển thị trên thanh. Nếu thuộc tính này không được cài đặt, thanh sẽ được hiển thị như một dòng chắc chắn; điều này cũng xảy ra khi thuộc tính này được cài đặt cho một ID nội dung không hợp lệ hoặc hình ảnh được liên kết với than
Những thay đổi trên bề mặt của chất liệu có thể được thiết lập tiếp theo bởi các thuộc tính ngôi sao khác bao gồm Color và Transparency .
Độ lớn của vật liệu được xác định bởi TextureMode, TextureLength, Width0 và 2>Class.Beam.Width1|Width12>属性.
TextureMode
Điều này, cùng với TextureLength, xác định cách mà một chiếc thanh Texture lặp lại.
Khi đặt vào Enum.TextureMode.Wrap hoặc Enum.TextureMode.Static, số lần lặp lại của texture sẽ bằng tổng chiều dài của trục (in studs) chia cho tổng chiều dài của nó TextureLength .
Khi đặt vào Enum.TextureMode.Stretch, kiến trúc sẽ lặp lại TextureLength lần thứ năm trên tổng chiều dài của hình dạng.
TextureSpeed
Xác định tốc độ mà hình ảnh Texture di chuyển trên thanh dẫn. Khi đó, textura thanh dẫn sẽ di chuyển từ Attachment0 đến Attachment1 . Hướng n
Transparency
Xác định độ trong suốt của thanh qua các phần của nó. Đây là một NumberSequence, cho phép bạn cấu hình độ trong suốt để có thể thay đổi trên toàn bộ chiều dài của thanh.
Hãy xem xét các NumberSequence sau đây, mà khi được ứng dụng vào một thanh, sẽ cho kết quả được vẽ.
local numberSequence = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), -- OpalNumberSequenceKeypoint.new(0.5, 1), -- Trong suốtNumberSequenceKeypoint.new(1, 0), -- Opal})
Lưu ý rằng độ trong suốt của thanh cũng phụ thuộc vào số lượng của Segments . Mỗi thanh trong thanh của thanh chỉ có thể hiển thị một
Width0
Chiều rộng của thanh tại nguồn gốc của nó ( Attachment0 )), được biểu tượng bằng dấu chấm. Chiều rộng của thanh sẽ thay đổi theo hành trình linearly lên Width1 để kết thúc ( Class.Beam.Arrow1|Arrow
Width1
Chiều rộng của thanh ở cuối của nó ( Attachment1), ở dòng. Chiều rộng của thanh sẽ thay đổi theo hàng từ Width0 đến nguồn gốc của nó ( Attachment0 ) .
ZOffset
Khoảng cách, trong studs, hiển thị trượt tuyến tính của hàng điều chỉnh CurrentCamera . Khi 0, hàng sẽ được hiển thị ở vị trí tiêu chuẩn giữa Attachment0 và
Đặc tính này rất hữu ích để tránh "Z-fighting" khi sử dụng nhiều Beams giữa cùng một Attachments .
Mẫu mã
-- 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
Phương Pháp
SetTextureOffset
Sự thiếu hụt của một chu kỳ chất béo của chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất béo chất b
Ghi chú
- Tham số được đưa offset được mong đợi là một giá trị từ 0 đến 1, nhưng các giá trị lớn hơn có thể được sử dụng.
- Vòng lặp chu kỳ vải xoay xung quanh 0 và 1, có nghĩa là chuỗi vải ở cùng một vị trí khi độ lùi ở 0 hoặc 1.
- Nếu thuộc tính Texture không được cài đặt, phương pháp này không làm gì.
- Tăng lệch sẽ hoạt động ngược hướng với TextureSpeed property, có nghĩa là nó sẽ di chuyển texture ở hướng ngược hướng đến hướng hoạt họa text khi TextureSpeed lớn hơn 0.
Tham Số
Độ xa dịch mong muốn của chu trình vải.