Beam

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

วัตถุ ลำแสง เชื่อมต่อสอง Attachments โดยวาดเท็กส์ตรีนั้นระหว่างพวกเขา

เพื่อแสดงผล, ลำแสงต้องเป็นลูกหลานของ Workspace ด้วยลำแสง Attachment0 และ Attachment1 โปรพิสัยตั้งอยู่ใน <

การปรากฏตัวของลำแสงสามารถปรับแต่งได้โดยใช้ช่วงของโปรไฟล์ที่ระบุด้านล่าง ดูการแนะนำ ลำแสง สำหรับตัวอย่างทางสายตา

ความโค้งของลำแสง

ลำแสงถูกกำหนดให้ใช้เค้าโครเตียร์ Bézier ทรงกำลังสี่จุดควบคุมสี่ ซึ่งหมายถึงพวกเขาไม่ได้จำกัดไว้ที่เส้นสตรีตและเค้าโครเตียร์ข

  • P0 — จุดเริ่มต้นของลำแสง; ตําแหน่งของ Attachment0 .
  • P1 — CurveSize0 สตัดส์ออกจาก Attachment0 ในทิศทางบวก 0> X0> ของ 3> Class.Beam.附件0|附件0 3>
  • P2 — CurveSize1 สตัดส์ออกจาก Attachment1 ในทิศทางเชิงบวก 0>X0> ของ 3>Class.Beam.Attach1|Attach1 3>
  • P3 — สิ้นสุดของลำแสง; ตำแหน่งของ Attachment1
Beam curvature diagram

ตัวอย่างโค้ด

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

สรุป

คุณสมบัติ

  • อ่านพร้อมๆ กัน

    Class.Rotation ลำแสงมาจาก

  • อ่านพร้อมๆ กัน

    The Attachment ลำแสงสิ้นสุดที่

  • อ่านพร้อมๆ กัน

    ปรับแต่งแสงที่ปล่อยจากลำแสงเมื่อ LightInfluence น้อยกว่า 1

  • อ่านพร้อมๆ กัน

    กำหนดสีของลำแสงโดยใช้ Segments ของมัน

  • อ่านพร้อมๆ กัน

    กำหนดตำแหน่งของจุดควบคุมตัวที่สองในเส้นสาย Bézier ของลำแสง

  • อ่านพร้อมๆ กัน

    กำหนด, พร้อมกับ Attachment1 , ตำแหน่งของจุดควบคุมสามในเส้นสาย Bézier ของลำแสง.

  • อ่านพร้อมๆ กัน

    กำหนดว่ามอดูเห็นหรือไม่

  • อ่านพร้อมๆ กัน

    กำหนดว่า Segments ของลำแสงจะเผชิญกล้องเสมอ ไม่ว่ามันจะเป็นไปในทิศทางใด

  • อ่านพร้อมๆ กัน

    กำหนดให้เป็นเรื่องของการผสานสีของลำแสงด้วยสีที่อยู่เบื้องหลัง

  • อ่านพร้อมๆ กัน

    กำหนดความสัมพันธ์ระหว่างแสงสว่างของสภาพแวดล้อมกับลำแสงของลำแสง

  • ซ่อนอยู่
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน
  • อ่านพร้อมๆ กัน

    ตั้งค่าจำนวนเส้นสายที่แสงสร้างขึ้น

  • Texture:ContentId
    อ่านพร้อมๆ กัน

    รหัสเนื้อหาของเท็กซ์ที่จะแสดงบนลำแสง

  • อ่านพร้อมๆ กัน

    ตั้งค่าความยาวของเทคสตรีมขึ้นอยู่กับ TextureMode

  • อ่านพร้อมๆ กัน

    กำหนดวิธีการที่ Texture ปรับแต่งและทำซ้ำ

  • อ่านพร้อมๆ กัน

    กำหนดความเร็วที่ Texture รูปภาพเคลื่อนที่ตามลำแสง

  • อ่านพร้อมๆ กัน

    กำหนดความโปร่งใสของลำแสงในแต่ละส่วน

  • อ่านพร้อมๆ กัน

    ความกว้างของลำแสงที่มีที่มุ่งหมาย (Attachment0), ใน studs

  • อ่านพร้อมๆ กัน

    ความกว้างของลำแสงที่สิ้นสุดของมัน ( Attachment1 ) ใน studs

  • อ่านพร้อมๆ กัน

    ระยะทาง, ใน studs, แสดงจุดโค้งของลำแสงเป็นค่าเฉลี่ยเมื่อเปรียบเทียบกับ CurrentCamera

วิธีการ

  • SetTextureOffset(offset : number):void

    ตั้งค่าค่าเฉลี่ยของวัฏจักรเนื้อหาของลำแสง

คุณสมบัติ

Attachment0

อ่านพร้อมๆ กัน

Class.Attendance รัศมีต้นไม้มีต้นกำเนิดจาก ส่วนนี้เป็นจุดควบคุมตรวจแรกบนลำแสงของลำแสง ตำแหน่งนี้พร้อมกับสมบัติของคุณสมบัติ CurveSize0 จะ

สำหรับ Attachment ที่มีลังสะพานสิ้นสุดด้วยลำแสง, ดู Attachment1

Attachment1

อ่านพร้อมๆ กัน

ส่วนหนึ่ง Attachment ของลำแสงสิ้นที่ ส่วนนี้เป็นจุดควบคุมที่สี่และสุดท้ายในลำแสง ลำแสงนี้เป็นลำแสงที่มีขนาด CurveSize1 สี่ค่า โดยปร

สำหรับ Attachment ที่มีลำแสงมาจาก, ดู Attachment0 .

Brightness

อ่านพร้อมๆ กัน

ปรับแต่งความสว่างที่ปล่อยจากลำแสงเมื่อ LightInfluence น้อยกว่า 1 ระดับนี้ สถานที่นี้เป็นสถานที่เริ่มต้นของค่า 1 โดยปก

อ่านพร้อมๆ กัน

กำหนดสีของลำแสงโดยใช้ลำแสง 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)

Enabled

อ่านพร้อมๆ กัน

กำหนดว่ามอดูเห็นหรือไม่

เมื่อค่านี้กำหนดเป็น false จะไม่มีการแสดงผลของลำแสง Segments

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

ContentId
อ่านพร้อมๆ กัน

รหัสเนื้อหาของเท็กซ์ที่จะแสดงบนลำแสง หากไม่ตั้งค่าคุณสมบัตินี้ ลำแสงจะแสดงเป็นเส้นสีขาว; สิ่งนี้เกิดขึ้นเมื่อเท็กซ์ถูกตั้งค่าเป็นรหัสเนื้อหาที่ไม่ถูกต้องหรือรูปภาพที่เกี่ยวข้อง

รูปลักษณ์ของเนื้อหาสามารถปรับแต่งได้เพิ่มเติมโดยคุณสมบัติของลำแสงอื่น ๆ รวมทั้ง Color และ Transparency

การเเก้ไขขนาดของเนื้อหาถูกกำหนดโดย TextureMode , TextureLength , Width0 และ 1> Class.Beam.Width1|Width11> โปรพี่ิตี้

TextureLength

อ่านพร้อมๆ กัน

ตั้งค่าความยาวของเทคสตรีมขึ้นอยู่กับ TextureMode

TextureMode

อ่านพร้อมๆ กัน

สมบัตินี้พร้อมกับ TextureLength กำหนดวิธีที่ซ้ำซากของลำแสง Texture

เมื่อตั้งค่าเป็น Enum.TextureMode.Wrap หรือ Enum.TextureMode.Static จะมีการทำซ้ำของเท็กซ์เทอร์เรียลในลำแสง (ใน studs) ที่หารได้โดย TextureLength ของมัน

TextureMode diagram with Wrap mode

เมื่อตั้งค่าเป็น Enum.TextureMode.Stretch ให้ผลลัพธ์ของเนื้อผ้าจะทำซ้ำ TextureLength ครั้งทั่วทั้งความยาวของลำแสง

TextureMode diagram with Stretch mode

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 เดียวกัน

ตัวอย่างโค้ด

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

วิธีการ

SetTextureOffset

void

ค่าเครื่องหมายการเรียงลำดับของเท็กส์ทูลแสดงความคืบหน้าของแท็กซ์ทูลเท็กซ์ทูลแสดงความคืบหน้าของแท็กซ์ทูลแสดงความคืบหน้าของแท็กซ์ทูลแสดงความคืบหน้าของแท็กซ์ทูลแสดงค

โน้ต

  • ค่าตัว offset ที่ให้นั้นคาดว่าจะเป็นตัวเลขระหว่าง 0 และ 1 แต่ค่าตัวที่ใหญ่ขึ้นสามารถใช้ได้
  • ตัวหมุนวงล้อขนาด 0 และ 1 หมายถึงว่าเนื้อหุ้มอยู่ในตำแหน่งเดียวกันเมื่อเป็นออเซ็ต 0 หรือ 1
  • หากไม่ได้ติดตั้ง Texture ตั้งค่า
  • การเพิ่มค่าเดียวกันจะทำในทิศทางกลับกันของคุณสมบัติ TextureSpeed โดยหมายถึงว่ามันจะย้ายเนื้อผ้าในทิศทางที่แตกต่างกันไปยังทิศทางที่เนื้อผ้าอนิเมชั่นเม

พารามิเตอร์

offset: number

ค่าเฉลี่ยที่ต้องการของวัฏจักรเนื้อหา

ค่าเริ่มต้น: 0

ส่งค่ากลับ

void

อีเวนต์