กล่องท้องฟ้า

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

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

นอกจากนี้ วัตถุ Sky รวมถึงร่างกายทางจักรวาลเช่นดวงอาทิตย์ ดวงจันทร์ และดาวซึ่งปรากฏได้อย่างไดนามิก เพิ่มขึ้น และตั้งตาม TimeOfDay หรือ ClockTime .

ในที่สุดวัตถุ Sky สามารถใช้เป็นแผนที่ลูกบาศก์สำหรับการสะท้อนใน ViewportFrames สำหรับรายละเอียด ดูที่ กรอบมุมมอง

การสร้าง Skybox

หากคุณสร้างภาพกล่องฟ้าของคุณเองคุณต้องนำมา นำเข้า พวกเขาไปยัง Roblox ก่อนที่คุณจะสามารถใช้งานในกล่องฟ้าได้แต่ละภาพต้องไร้รอยต่อตาม ทุกขอบ ของภาพข้างเคียงเมื่อ "พับ" เป็นลูกบาศก์


เพื่อสร้างกล่องฟ้า:

  1. ในหน้าต่าง สํารวจ ใส่วัตถุ Sky ลงในบริการ Lighting

  2. เลือกวัตถุใหม่ Sky จากนั้นในหน้าต่าง คุณสมบัติ ให้กำหนดเทกเจอร์ให้แต่ละคุณสมบัติท้องฟ้าต่อไปนี้:

    • SkyboxBk — สี่เหลี่ยมด้านหลังของ skybox
    • SkyboxDn — สกายบ็อกซ์ดาวน์ของสกายบ็อกซ์ สแควร์ * SkyboxFt — สกายบ็อกซ์ด้านหน้าของสกายบ็อกซ์ ที่สี่ * SkyboxLf — สี่เหลี่ยมด้านซ้ายของ skybox
    • SkyboxRt — สี่เหลี่ยมด้านขวาของสกายบ็อกซ์
    • SkyboxUp — พื้นที่สี่เหลี่ยมของสกายบ็อกซ์ที่สูงขึ้น

ร่างกายท้องฟ้า

โดยค่าเริ่มต้น วัตถุ Sky รวมถึงวัตถุท้องฟ้าเช่นดวงอาทิตย์ ดวงจันทร์ และดาวร่างกายเหล่านี้ปรากฏและเพิ่มขึ้นอย่างไดนามิกตามค่าคุณสมบัติ TimeOfDay หรือ ClockTime

คุณสามารถปรับแต่งร่างกายท้องฟ้าผ่านคุณสมบัติต่อไปนี้:

  • SunTextureId — ตั้งเทกเจอร์ของดวงอาทิตย์
  • SunAngularSize — ตั้งขนาดสัมพันธ์ของดวงอาทิตย์ในองศา
  • MoonTextureId — ตั้งเทกเจอร์ของดวงจันทร์
  • MoonAngularSize — ตั้งขนาดสัมพันธ์ของดวงจันทร์ในองศา
  • StarCount — ตั้งจํานวนดาวในกล่องท้องฟ้า

การจัดทิศทาง

คุณสมบัติ SkyboxOrientation เปลี่ยนทิศทางของพื้นผิวสกายบ็อกซ์คุณสมบัติใช้ Vector3 ของค่าองศาในคำสั่ง XYZ ทั่วไป แต่การหมุนจะ ใช้ ก่อนรอบแกน Y จากนั้น X และจากนั้น Z เพื่ออนุญาตการควบคุมที่คาดการณ์ได้สำหรับการเคลื่อนไหวที่ซับซ้อน

วิธีที่ง่ายในการสคริปต์แอนิเมชั่นการจัดตำแหน่งคือการหมุนรอบแกน Y (รักษาระดับขอบฟ้า) จากนั้นเอียงแกนนี้โดยการตั้ง X และ Z เป็นค่าคงที่สคริปต์ต่อไปนี้ ตัวอย่างเช่น แอนิเมชั่นแกน Y สำหรับการหมุนในขณะที่รักษาการเอียงสม่ำเสมอ 30° บนแกน X


local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 5 -- ในองศาต่อวินาที
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation = Vector3.new(
30,
(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
0
)
end)

โปรดทราบว่าการจัดเรียงกล่องท้องฟ้าเป็นคุณลักษณะราคาถูกที่ทำงานได้อย่างราบรื่นในทุกแพลตฟอร์มและระดับคุณภาพภาพผลที่ตามมาคือบางข้อยกเว้นตั้งใจรวมถึง:

  • หากท้องฟ้าสามารถมองเห็นได้ในการสะท้อนภายในเช่นพื้นผิวกระจกผ่านหน้าต่างที่เปิดอยู่การมุมมองที่สะท้อนเฉพาะนั้นจะไม่หมุนการบรรลุนี้จะต้องใช้การเรนเดอร์รูปลักษณ์ที่แพงและซับซ้อนของแผนที่ลูกบาศก์ซึ่งจะมีผลกระทบต่อประสิทธิภาพและความพร้อมใช้งานอย่างมาก
  • เฉพาะพื้นผิวกล่องท้องฟ้าหมุนเท่านั้น; ร่างกายท้องฟ้า ไม่ได้รับผลกระทบจากคุณสมบัตินี้
  • หากคุณใช้ Sky ภายใน ViewportFrame จะสะท้อนมูลค่า SkyboxOrientation ระดับโลก คุณไม่สามารถปรับแต่งมุมต่อ ViewportFrame ได้
  • คุณสมบัติ เมฆไดนามิก ภายใต้ Terrain ไม่ได้รับผลกระทบ