Skip to content

Environment

继承自:

描述

环境节点,管理游戏世界的基础环境设置,包括天气系统、重力效果、时间控制、天空盒设置和图形质量配置等核心环境参数

属性

WeatherWeather
设置游戏世界的天气类型,支持晴天、雨天、打雷和自动天气模式,影响游戏世界的视觉效果和氛围。默认值为SUNNY(晴天)
floatGravity
设置游戏世界的重力强度,影响所有物理对象的下降速度和物理行为,数值越大重力越强。默认值为0
boolLockTimeHour
是否锁定游戏时间,当设置为true时,时间将停止自动流逝,保持在当前设置的时间点。默认值为true,锁定时间
floatTimeHour
设置游戏世界的时间(24小时制),单位为小时。游戏时间基于24000个tick为一天,每20分钟游戏时间对应现实1分钟,影响光照和昼夜效果。默认值为14.0(下午2点)

成员函数

获取当前设备的图形渲染器类型,用于判断使用的图形API(如OpenGL、DirectX等)
获取当前设备的操作系统平台类型,用于判断运行环境(如Android、iOS、Windows等)
判断当前设备是否为移动设备(手机或平板),用于移动端特定的功能控制

事件

当游戏天气发生变化时触发的通知事件,用于响应天气系统的状态改变
当游戏重力设置发生变化时触发的通知事件,用于响应重力参数的调整
当游戏时间发生变化时触发的通知事件,用于响应时间系统的状态改变

代码示例

lua
local Workspace = game:GetService("WorkSpace")
local environment = Workspace:WaitForChild("Environment")

-- 监听环境事件
environment.WeatherChanged:connect(function(weather)
    print("WeatherChanged:", weather)
end)
environment.GravityChanged:connect(function(g)
    print("GravityChanged:", g)
end)
environment.TimeChanged:connect(function(t)
    print("TimeChanged:", t)
end)

-- 设置天气为雷雨天
environment.Weather = Enum.Weather.Thunder

-- 设置重力
environment.Gravity = 1.0

-- 锁定时间并设置为傍晚 18:30
environment.LockTimeHour = true
environment.TimeHour = 18.5

-- 查询设备信息
local isMobile = environment:IsMobile()
local deviceType = environment:GetDeviceType()
local renderer = environment:GetDeviceRenderType()
print("IsMobile:", isMobile, "DeviceType:", deviceType, "Renderer:", renderer)