Hộp trờ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 hộp trời là một khối gồm sáu hình ảnh riêng biệt tạo nên một nền trời chìm đắm trong một trải nghiệm.Khi các hình ảnh được thiết kế để hoàn toàn phù hợp với nhau, hộp trời dường như là toàn cảnh mà không có ấn tượng bị bên trong một khối.Điều này làm cho trải nghiệm cảm thấy lớn hơn so với thực tế, và nó thêm chiều sâu cho khí quyển của bạn, chẳng hạn như mô phỏng không gian sâu hay môi trường dưới nước.

Bên cạnh đó, đối tượng Sky bao gồm các thân thể thiên văn như mặt trời, mặt trăng và sao mà xuất hiện, tăng và đặt theo động tác dựa trên TimeOfDay hoặc ClockTime .

Cuối cùng, đối tượng Sky có thể được sử dụng như một bản đồ khối cho phản chiếu trong ViewportFrames . Đối với chi tiết, xem khung viewport .

Xây dựng Skybox

Nếu bạn đã tạo ra các hình ảnh skybox riêng của mình, bạn phải nhập chúng vào Roblox trước tiên trước khi bạn có thể sử dụng chúng trong một skybox.Mỗi hình ảnh phải liền mạch dọc theo tất cả các cạnh của hình ảnh lân cận khi "gấp" thành một khối.


Để tạo một hộp trời:

  1. Trong cửa sổ Explorer , hãy chèn một đối tượng Sky vào dịch vụ Lighting.

  2. Chọn đối tượng mới Sky , sau đó trong cửa sổ Tính năng , gán một kết cấu cho mỗi trong số các thuộc tính bầu trời sau:

    • SkyboxBk — Cạnh sau của skybox.
    • SkyboxDn — Cạnh xuống của skybox.
    • SkyboxFt — Cạnh trước của hộp trời.
    • SkyboxLf — Khu vực bên trái của skybox.
    • SkyboxRt — Khu vực phải vuông của skybox.
    • SkyboxUp — Kích thước lên vuông của skybox.

Các thân thể thiên thể

Mặc định, đối tượng Sky bao gồm các thân thể thiên văn như mặt trời, mặt trăng và sao.Các cơ thể này xuất hiện, tăng và đặt dựa trên các giá trị thuộc tính TimeOfDay hoặc ClockTime .

Bạn có thể tùy chỉnh các thân thể thiên văn thông qua các thuộc tính sau:

  • SunTextureId — Đặt kết cấu của mặt trời.
  • SunAngularSize — Đặt kích thước tương đối của mặt trời bằng độ.
  • MoonTextureId — Đặt kết cấu của mặt trăng.
  • MoonAngularSize — Đặt kích thước tương đối của mặt trăng bằng độ.
  • StarCount — Đặt số lượng sao trong skybox.

Hướng

Thuộc tính SkyboxOrientation thay đổi hướng của bề mặt skybox.Thuộc tính nhận giá trị độ trong lệnh bình thường XYZ , nhưng việc xoay được áp dụng trước tiên xung quanh trục Y , sau đó X , và sau đó Z để cho phép kiểm soát dễ dàng về các chuyển động phức tạp.

Một cách dễ dàng để viết một hoạt hình hướng là quay xung quanh trục Y (giữ mức độ mặt trời), sau đó nghiêng trục này bằng cách đặt XZ thành một giá trị cố định.Các kịch bản sau đây, ví dụ, hoạt hình trục Y để quay trong khi giữ một độ nghiêng 30° ổn định trên trục X .


local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 5 -- Bằng độ mỗi giây
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation = Vector3.new(
30,
(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
0
)
end)

Lưu ý rằng hướng skybox là một tính năng có chi phí thấp hoạt động mượt mà trên tất cả các nền tảng và cấp chất lượng hình ảnh.Kết quả là, một số ngoại lệ cố ý bao gồm:

  • Nếu bầu trời có thể nhìn thấy trong phản chiếu trong nhà như một bề mặt gương thông qua một cửa sổ mở, cái nhìn phản chiếu cụ thể đó sẽ không bị xoay.Đạt được điều này sẽ đòi hỏi phải làm mới đắt tiền và kết hợp lại các bản đồ khối mà sẽ ảnh hưởng đáng kể đến hiệu suất và sự có sẵn rộng rãi.
  • Chỉ bề mặt hộp trời quay; các thân thể thiên thể không bị ảnh hưởng bởi tính chất này.
  • Nếu bạn sử dụng một Sky trong một ViewportFrame , nó sẽ phản ánh các giá trị toàn cầu SkyboxOrientation . Bạn không thể điều chỉnh góc mỗi ViewportFrame .
  • Chức năng đám mây năng động dưới Terrain không bị ảnh hưởng.