Beam
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
วัตถุ ลำแสง เชื่อมต่อสอง Attachments โดยวาดเท็กส์ตรีนั้นระหว่างพวกเขา
เพื่อแสดงผล, ลำแสงต้องเป็นลูกหลานของ Workspace ด้วยลำแสง Attachment0 และ Attachment1 โปรพิสัยตั้งอยู่ใน <
การปรากฏตัวของลำแสงสามารถปรับแต่งได้โดยใช้ช่วงของโปรไฟล์ที่ระบุด้านล่าง ดูการแนะนำ ลำแสง สำหรับตัวอย่างทางสายตา
ความโค้งของลำแสง
ลำแสงถูกกำหนดให้ใช้เค้าโครเตียร์ Bézier ทรงกำลังสี่จุดควบคุมสี่ ซึ่งหมายถึงพวกเขาไม่ได้จำกัดไว้ที่เส้นสตรีตและเค้าโครเตียร์ข
- P0 — จุดเริ่มต้นของลำแสง; ตําแหน่งของ Attachment0 .
- P3 — สิ้นสุดของลำแสง; ตำแหน่งของ Attachment1
ตัวอย่างโค้ด
-- 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
สรุป
คุณสมบัติ
Class.Rotation ลำแสงมาจาก
The Attachment ลำแสงสิ้นสุดที่
ปรับแต่งแสงที่ปล่อยจากลำแสงเมื่อ LightInfluence น้อยกว่า 1
กำหนดสีของลำแสงโดยใช้ Segments ของมัน
กำหนดตำแหน่งของจุดควบคุมตัวที่สองในเส้นสาย Bézier ของลำแสง
กำหนด, พร้อมกับ Attachment1 , ตำแหน่งของจุดควบคุมสามในเส้นสาย Bézier ของลำแสง.
กำหนดว่ามอดูเห็นหรือไม่
กำหนดว่า Segments ของลำแสงจะเผชิญกล้องเสมอ ไม่ว่ามันจะเป็นไปในทิศทางใด
กำหนดให้เป็นเรื่องของการผสานสีของลำแสงด้วยสีที่อยู่เบื้องหลัง
กำหนดความสัมพันธ์ระหว่างแสงสว่างของสภาพแวดล้อมกับลำแสงของลำแสง
ตั้งค่าจำนวนเส้นสายที่แสงสร้างขึ้น
รหัสเนื้อหาของเท็กซ์ที่จะแสดงบนลำแสง
ตั้งค่าความยาวของเทคสตรีมขึ้นอยู่กับ TextureMode
กำหนดวิธีการที่ Texture ปรับแต่งและทำซ้ำ
กำหนดความเร็วที่ Texture รูปภาพเคลื่อนที่ตามลำแสง
กำหนดความโปร่งใสของลำแสงในแต่ละส่วน
ความกว้างของลำแสงที่มีที่มุ่งหมาย (Attachment0), ใน studs
ความกว้างของลำแสงที่สิ้นสุดของมัน ( Attachment1 ) ใน studs
ระยะทาง, ใน studs, แสดงจุดโค้งของลำแสงเป็นค่าเฉลี่ยเมื่อเปรียบเทียบกับ CurrentCamera
วิธีการ
ตั้งค่าค่าเฉลี่ยของวัฏจักรเนื้อหาของลำแสง
คุณสมบัติ
Attachment0
Class.Attendance รัศมีต้นไม้มีต้นกำเนิดจาก ส่วนนี้เป็นจุดควบคุมตรวจแรกบนลำแสงของลำแสง ตำแหน่งนี้พร้อมกับสมบัติของคุณสมบัติ CurveSize0 จะ
สำหรับ Attachment ที่มีลังสะพานสิ้นสุดด้วยลำแสง, ดู Attachment1
Attachment1
ส่วนหนึ่ง Attachment ของลำแสงสิ้นที่ ส่วนนี้เป็นจุดควบคุมที่สี่และสุดท้ายในลำแสง ลำแสงนี้เป็นลำแสงที่มีขนาด CurveSize1 สี่ค่า โดยปร
สำหรับ Attachment ที่มีลำแสงมาจาก, ดู Attachment0 .
Brightness
ปรับแต่งความสว่างที่ปล่อยจากลำแสงเมื่อ LightInfluence น้อยกว่า 1 ระดับนี้ สถานที่นี้เป็นสถานที่เริ่มต้นของค่า 1 โดยปก
Color
กำหนดสีของลำแสงโดยใช้ลำแสง Segments ของมัน หาก Texture ถูกตั้งค่า สีนี้จะถูกใช้กับเท็กส์เจอร์ของล
สมบัตินี้คือ ColorSequence ซึ่งช่วยให้สีสามารถกำหนดได้ตามความยาวของลำแสง พิจารณาสิ่งต่อไปนี้ ColorSequence ผลการค้นหา
local colorSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- สีแดงColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- สีฟ้าColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- สีม่วง})
หมายเหตุสีของลำแสงขึ้นอยู่กับจำนวน Segments ที่
CurveSize0
กำหนดตำแหน่งของจุดควบคุมตัวที่สองในเส้นสาย Bézier ของลำแสง ดู <a href="https://www.Class.Beam.Attach0|Attach0">Class.Beam.Attach0\ เพื่อดูรายละเอียดเพิ่มเติม
ตำแหน่งของจุดนี้สามารถกำหนดได้โดยสมการต่อไปนี้:
local controlPoint2 = Beam.Attachment0.WorldPosition + (Beam.Attachment0.CFrame.RightVector * Beam.CurveSize0)
CurveSize1
กำหนดตำแหน่งของจุดควบคุมสามในเส้นสาย Bézier ของลำแสง ดู เลเซอร์ สําหรับรายละเอียดเพิ่มเติม
ตำแหน่งของจุดนี้สามารถกำหนดได้โดยสมการต่อไปนี้:
local controlPoint3 = Beam.Attachment1.WorldPosition - (Beam.Attachment1.CFrame.RightVector * Beam.CurveSize1)
FaceCamera
A Beam เป็นโปรเจคชัน 2D ที่มีอยู่ในพื้นที่ 3D หมายถึงว่ามันอาจไม่มองเห็นได้จากมุมมองทุกมุม สมบัติ FaceCamera เมื่อตั้งค่าไปยัง
LightEmission
กำหนดให้แสงสีของลำแสงผสานกับสีของสีเบื้องหลัง มันควรจะตั้งในช่วง 0 ถึง 1 มันควรจะตั้งในช่วง 0 ถึง 1 มันควรจะตั้งในช่วง 0 ถึง 1 มันควรจะตั้งในช่วง 0 ถึง 1 มันควรจะตั้งในช่วง 0
คุณสมบัตินี้ไม่ควรสับสนกับ LightInfluence ซึ่งกำหนดวิธีการที่ลำแสงได้รับผลกระทบจากแสงสภาพแวดล้อม
คุณสมบัตินี้ทำให้ ไม่ เพราะลำแสงนี้จะส่องแสงสภาพแวดล้อม
LightInfluence
กำหนดความสัมพันธ์ระหว่างลำแสงของสภาพแวดล้อมกับลำแสงของลำแสงที่ปรับแต่งเพื่อให้เกิดความสมบูรณ์แบบ เมื่อ 0 ลำแสงจะไม่ได้รับผลกระทบจากสภาพแวดล้อม เมื่อ 1 ลำแสง
ดูเพิ่มเติม LightEmission ซึ่งระบุว่าสีของลำแสงผสมกับสีที่อยู่เบื้องหลังมันในองศาใด
LocalTransparencyModifier
Segments
แทนที่จะเป็นเกลียวที่สมบูรณ์แบบ ลำแสงประกอบด้วยเหลี่ยมกระบอกที่เป็นเหลี่ยมกระบอก ยิ่งมีเหลี่ยมกระบอกมากเท่าไหร่ ก็จะยิ่งทำให้คุณภาพของลำแสงเพิ่มขึ้น ลำแสง Segments มีค่าคว
หมายเหตุว่า ลักษณะ Color และ Class.Beam.Transparency|Transparency</
Texture
รหัสเนื้อหาของเท็กซ์ที่จะแสดงบนลำแสง หากไม่ตั้งค่าคุณสมบัตินี้ ลำแสงจะแสดงเป็นเส้นสีขาว; สิ่งนี้เกิดขึ้นเมื่อเท็กซ์ถูกตั้งค่าเป็นรหัสเนื้อหาที่ไม่ถูกต้องหรือรูปภาพที่เกี่ยวข้อง
รูปลักษณ์ของเนื้อหาสามารถปรับแต่งได้เพิ่มเติมโดยคุณสมบัติของลำแสงอื่น ๆ รวมทั้ง Color และ Transparency
การเเก้ไขขนาดของเนื้อหาถูกกำหนดโดย TextureMode , TextureLength , Width0 และ 1> Class.Beam.Width1|Width11> โปรพี่ิตี้
TextureMode
สมบัตินี้พร้อมกับ TextureLength กำหนดวิธีที่ซ้ำซากของลำแสง Texture
เมื่อตั้งค่าเป็น Enum.TextureMode.Wrap หรือ Enum.TextureMode.Static จะมีการทำซ้ำของเท็กซ์เทอร์เรียลในลำแสง (ใน studs) ที่หารได้โดย TextureLength ของมัน
เมื่อตั้งค่าเป็น Enum.TextureMode.Stretch ให้ผลลัพธ์ของเนื้อผ้าจะทำซ้ำ TextureLength ครั้งทั่วทั้งความยาวของลำแสง
TextureSpeed
กำหนดความเร็วที่ Texture รูปภาพเคลื่อนที่ตามลำแสง เมื่อค่านี้เป็นค่าบวก เท็กส์เจอร์ของลำแสงจะเคลื่อนที่จาก Class.Beam.Attach0
Transparency
กำหนดความโปร่งใสของลำแสงในแต่ละส่วน สมบัตินี้เป็น NumberSequence ซึ่งช่วยให้ความโปร่งใสสามารถกำหนดได้เพื่อแตกต่างกันไปตามความยาวของลำแสง
พิจารณาตัวเลือกต่อไปนี้ NumberSequence ผลการค้นหา
local numberSequence = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), -- โอปอาคNumberSequenceKeypoint.new(0.5, 1), -- โปร่งใสNumberSequenceKeypoint.new(1, 0), -- โอปอาค})
โปรดทราบว่าความโปร่งใสของลำแสงนั้นขึ้นอยู่กับจำนวนของ Segments แต่ละรายการ รายการ
Width0
ความกว้างของลำแสงที่ต้นกำเนิด (Attachment0), ใน studs ความกว้างของลำแสงจะเปลี่ยนแบบเชิงเส้นเป็น Width1 สตัดที่ต้นสุด (
Width1
ความกว้างของลำแสงที่สิ้นสุด ( Attachment1 ) ใน studs ความกว้างของลำแสงจะเปลี่ยนแบบเส้นสุดจาก Width0 สตั๊ดส์ที่มีต้นกำเนิด ( Class.Beam.
ZOffset
ระยะทาง, ใน studs, การแสดงผลลำแสงจะเป็นออเซ็ตสัมพันธ์กับ CurrentCamera เมื่อ 0 จะแสดงในตำแหน่งปกติของมันระหว่าง Class.Beam.Attachment0|Arrow
สมบัตินี้มีประโยชน์เป็นพิเศษเพื่อหลีกเลี่ยง "Z-fighting" เมื่อใช้ Beams หลายรายการระหว่าง 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
วิธีการ
SetTextureOffset
ค่าเครื่องหมายการเรียงลำดับของเท็กส์ทูลแสดงความคืบหน้าของแท็กซ์ทูลเท็กซ์ทูลแสดงความคืบหน้าของแท็กซ์ทูลแสดงความคืบหน้าของแท็กซ์ทูลแสดงความคืบหน้าของแท็กซ์ทูลแสดงค
โน้ต
- ค่าตัว offset ที่ให้นั้นคาดว่าจะเป็นตัวเลขระหว่าง 0 และ 1 แต่ค่าตัวที่ใหญ่ขึ้นสามารถใช้ได้
- ตัวหมุนวงล้อขนาด 0 และ 1 หมายถึงว่าเนื้อหุ้มอยู่ในตำแหน่งเดียวกันเมื่อเป็นออเซ็ต 0 หรือ 1
- หากไม่ได้ติดตั้ง Texture ตั้งค่า
- การเพิ่มค่าเดียวกันจะทำในทิศทางกลับกันของคุณสมบัติ TextureSpeed โดยหมายถึงว่ามันจะย้ายเนื้อผ้าในทิศทางที่แตกต่างกันไปยังทิศทางที่เนื้อผ้าอนิเมชั่นเม
พารามิเตอร์
ค่าเฉลี่ยที่ต้องการของวัฏจักรเนื้อหา