Beam

Hiển Thị Bản Đã Lỗi Thời

*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 WorkspaceAttachment0 đượ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
Beam curvature diagram

Mẫu mã

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

Tóm Tắt

Thuộc Tính

Phương Pháp

  • SetTextureOffset(offset : number):void

    Đ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 Song Song

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

Đọc Song Song

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

Đọc Song Song

Đ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

Đọc Song Song

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ương
ColorSequenceKeypoint.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

Đọc Song Song

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

Đọc Song Song

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

Đọc Song Song

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

Đọc Song Song

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

Đọc Song Song

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

Đọc Song Song

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

Ẩn
Không Sao Chép
Đọc Song Song

Segments

Đọc Song Song

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

ContentId
Đọc Song Song

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 ColorTransparency .

Độ lớn của vật liệu được xác định bởi TextureMode, TextureLength, Width0 và 2>Class.Beam.Width1|Width12>属性.

TextureLength

Đọc Song Song

Điều chỉnh chiều dài của chuỗi bằng cách sử dụng TextureMode .

TextureMode

Đọc Song Song

Đ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 .

TextureMode diagram with Wrap mode

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.

TextureMode diagram with Stretch mode

TextureSpeed

Đọc Song Song

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

Đọc Song Song

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), -- Opal
NumberSequenceKeypoint.new(0.5, 1), -- Trong suốt
NumberSequenceKeypoint.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

Đọc Song Song

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

Đọc Song Song

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

Đọc Song Song

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

Đặ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ã

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

Phương Pháp

SetTextureOffset

void

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ố

offset: number

Độ xa dịch mong muốn của chu trình vải.

Giá Trị Mặc Định: 0

Lợi Nhuận

void

Sự Kiện