在各式各样的游戏中环境系统的设置也是尤为重要的,那环境系统都有那些呢?比如:季节、天气、时间、光照、重力、滤镜等等,迷你世界Studio也为我们提供了专业的相关设置,那就让我们一起来学习一下为小伙伴的游戏增添一份色彩吧~
游戏内的环境系统调节
小伙伴们可以在【节点列表】【WorkSpace】内找到【Environment】环境系统设置,选择需要设置的环境系统,可以在右侧的属性面板进行预先设置调节初始化等操作,非常简单方便,如需动态设置可在脚本中进行编写处理
【Environment】环境系统
【SkyLight】天空光源
【Atmosphere】雾气
【SkyDome】天空
【SunLight】阳光
【PostProcessing】渲染处理
【Environment】环境系统
描述:环境节点,可以设置天气,星球、重力和时间
应用场景:跳狙飞人、解密地图等等游戏类型
继承:SandboxNode
属性:
类型 |
名称 |
描述 |
Weather |
设置天气类型:晴天、雨天、打雷和自定义 |
|
Gravity |
环境重力效果设置 |
|
TimeHour |
时间设置 |
|
LockTimeHour |
是否锁定时间 |
函数:
返回值类型 |
名称 |
描述 |
获取设备渲染类型 |
||
获取设备类型 |
||
IsMobile () |
是否手机端 |
|
播放动画(兼容旧版,应该废弃) |
事件:
事件名称 |
含义 |
WeatherChanged (int weather) |
当天气改变时,会触发一个WeatherChanged通知 |
GravityChanged (float gravity) |
当重力改变时,会触发一个GravityChanged通知 |
SkyPlanetChanged (int skyplanet) |
当天空盒改变时,会触发一个SkyPlanetChanged通知 |
TimeChanged (int timehour) |
当时间改变时,会触发一个TimeChanged通知 |
示例代码:
local workspace = game:GetService("WorkSpace")
local environment = workspace.Environment
--设置天气为下雨
environment.Weather = Enum.Weather.Rain
--设置天空为火山
environment.SkyPlanet = Enum.SkyPlanet.Volcano
--设置时间为22
environment.TimeHour = 22
【SkyLight】天空光源
描述:天空光源节点,可以使游戏更加明亮,主要调节世界亮度
应用场景:调节世界亮度如游戏需要夜晚,但是世界亮度不能太低不能太暗则可使用此设置
继承:Transform
属性:
类型 |
名称 |
描述 |
BlendAmount |
混合物数量 |
|
Color |
光源颜色 |
|
CubeAssetID |
天空盒资源ID |
|
Intensity |
光源强度 |
函数:
无
事件:
无
示例代码:
local workspace = game:GetService("WorkSpace")
local skyLight= workspace.Environment.SkyLight
--混合物数量
skyLight.BlendAmount= 5
--光源颜色
skyLight.Color = ColorQuad.New(100,100,100,255)
--天空盒资源ID
skyLight.CubeAssetID= “RainbowId&filetype=5://188987641847353344”
--光源强度
skyLight.Intensity= 10
【Atmosphere】雾气
描述:雾效节点:Atmosphere对象将MiniWorldStudio推向现实环境,在现实环境中,阳光根据密度和其他空气粒子特性以不同的方式散射。它模拟真实世界中的“空中透视”,并允许您通过光传输控制背景天空。此外,它还可以控制雾霾和眩光条件,让您调节完美的日落、雾蒙蒙的下午等等
应用场景:战争迷雾、寻宝等等游戏类型
继承:SandboxNode
属性:
类型 |
名称 |
描述 |
FogType |
雾效类型 |
|
FogColor |
雾效颜色 |
|
FogStart |
最小能见度 |
|
FogEnd |
最大能见度 |
|
FogOffset |
雾效偏移度 |
函数:
无
事件:
无
示例代码:
local workspace = game:GetService("WorkSpace")
local atmosphere= workspace.Environment.Atmosphere
--设置雾效类型
Atmosphere.FogType= FogType.Disable
--设置雾效颜色
Atmosphere.FogColor = ColorQuad.New(100,100,100,255)
--最小能见度
Atmosphere.FogStart= 1
--最大能见度
Atmosphere.FogEnd= 10
--雾效偏移度
Atmosphere.FogOffset= 0
【SkyDome】天空
描述:天空节点:SkyDome对象可以将天空实现定制化需求,如云层、光强度、星星、天空背景等等
应用场景:可以使得游戏代入感更佳游戏风格更加鲜明
继承:SandboxNode
属性:
类型 |
名称 |
描述 |
HazeColor |
雾效类型 |
|
HorizonColor |
水平颜色 |
|
ZenithColor |
天顶颜色 |
|
SkyBoxType |
天空盒类型 |
|
CloudsEnable |
是否启用云层 |
|
ShadowColor |
阴影颜色 |
|
ShadowDarkColor |
阴影深色 |
|
CloudsCoverage |
云层覆盖率 |
|
LightIntensity |
光强度 |
|
CloudsSpeed |
云的移动速度 |
|
CloudsAlpha |
云的透明度 |
|
StarsAmount |
星星数量 |
|
CubeAssetID |
天空盒资源ID |
函数:
无
事件:
无
示例代码:
local workspace = game:GetService("WorkSpace")
local skyDome= workspace.Environment.SkyDome
--设置薄雾
skyDome.HazeColor= ColorQuad.New(100,100,100,255)
--天空盒类型
skyDome.SkyBoxType= SkyBoxType.Game
--是否启用云层
skyDome.CloudsEnable= true
--云层覆盖率
skyDome.CloudsCoverage=10
--云的移动速度
skyDome.CloudsSpeed=10
--天空盒资源ID
skyDome.CubeAssetID= “RainbowId&filetype=5://188987641847353344”
【SunLight】阳光
描述:这是一个太阳、月亮光源节点
应用场景:可以使得游戏更明亮体验感更佳
继承:SandboxNode
属性:
类型 |
名称 |
描述 |
Intensity |
光源强度 |
|
Color |
光源颜色 |
|
LockTimeDir |
是否锁定时间 |
|
Euler |
光源欧拉角 |
|
ShadowBias |
阴影偏移 |
|
ShadowSlopeBias |
阴影倾斜光栅 |
|
ShadowDistance |
阴影长度 |
|
SunRaysActive |
太阳光线是否激活 |
|
SunRaysScale |
太阳光线比例 |
|
SunRaysThreahold |
太阳光线阈值 |
|
SunRaysColor |
太阳光线颜色 |
|
UseCustomSunAndMoonTex |
是否使用自定义太阳和月亮纹理资源 |
|
SunTex |
太阳资源纹理 |
|
SunScale |
太阳比例 |
|
MoonTex |
月亮资源纹理 |
|
MoonScale |
月亮比例 |
|
ShadowCascadeCount |
阴影层叠数 |
函数:
无
事件:
无
示例代码:
local workspace = game:GetService("WorkSpace")
local sunLight = workspace.Environment.SunLight
--是否锁定时间
sunLight .LockTimeDir=false
--太阳光线是否激活
sunLight .SunRaysActive= true
--太阳资源ID
skyDome.SunTex= “RainbowId&filetype=5://188987641847353344”
--太阳比例
skyDome.SunTex=Vector2.New(50,50)
--月亮资源ID
skyDome.MoonTex= “RainbowId&filetype=5://188987641847353344”
--月亮比例
skyDome.MoonScale=Vector2.New(50,50)
【PostProcessing】渲染处理
描述:这是画质渲染节点可以修改相机的各个参数达到修改游戏滤镜画质等目的
应用场景:可以使得游戏视觉效果更棒代入感更好
继承:SandboxNode
属性:
类型 |
名称 |
描述 |
BloomActive |
全屏泛光是否激活 |
|
BloomIntensity |
全屏泛光强度 |
|
BloomThreshold |
全屏泛光阈值 |
|
DofActive |
自由度是否激活 |
|
DofFocalRegion |
字段焦点区域深度 |
|
DofNearTransitionRegion |
字段最近转换区域的深度 |
|
DofFarTransitionRegion |
字段深度转换区域 |
|
DofFocalDistance |
景深焦距深度 |
|
DofScale |
字段比例深度 |
|
AntialiasingEnable |
抗锯齿开启 |
|
AntialiasingMethod |
抗锯齿方法 |
|
AntialiasingQuality |
抗锯齿质量 |
|
LUTsActive |
LUTs开启 |
|
LUTsTemperatureType |
LUTs温度类型 |
|
LUTsWhiteTemp |
LUTs白色温度 |
|
LUTsWhiteTint |
LUTs白色色调 |
|
LUTsColorCorrectionShadowsMax |
LUTs最大色彩校正阴影 |
|
LUTsColorCorrectionHighlightsMin |
LUTs最小色彩校正高亮 |
|
LUTsBlueCorrection |
LUTs蓝光校正 |
|
LUTsExpandGamut |
LUTs扩展色域 |
|
LUTsToneCurveAmout |
LUTs色调曲线数量 |
|
LUTsFilmicToneMapSlope |
LUTs电影色调映射斜率 |
|
LUTsFilmicToneMapToe |
LUTs电影色调映射阴影 |
|
LUTsFilmicToneMapShoulder |
LUTs电影色调映射高光 |
|
LUTsFilmicToneMapBlackClip |
LUTs电影色调映射黑色调 |
|
LUTsFilmicToneMapWhiteClip |
LUTs电影色调映射白色调 |
|
LUTsBaseSaturation |
LUTs基础饱和颜色 |
|
LUTsBaseContrast |
LUTs基础对比颜色 |
|
LUTsBaseGamma |
LUTs基础γ颜色 |
|
LUTsBaseGain |
LUTs基础增益颜色 |
|
LUTsBaseOffset |
LUTs基础偏移颜色 |
|
LUTsShadowSaturation |
LUTs阴影饱和颜色 |
|
LUTsShadowContrast |
LUTs阴影对比颜色 |
|
LUTsShadowGamma |
LUTs阴影γ颜色 |
|
LUTsShadowGain |
LUTs阴影增益颜色 |
|
LUTsShadowOffset |
LUTs阴影偏移颜色 |
|
LUTsMidtoneSaturation |
LUTs中间色调饱和颜色 |
|
LUTsMidtoneContrast |
LUTs中间色调对比颜色 |
|
LUTsMidtoneGamma |
LUTs中间色调γ颜色 |
|
LUTsMidtoneGain |
LUTs中间色调增益颜色 |
|
LUTsMidtoneOffset |
LUTs中间色调偏移颜色 |
|
LUTsHighlightSaturation |
LUTs高光饱和颜色 |
|
LUTsHighlightContrast |
LUTs高光对比颜色 |
|
LUTsHighlightGamma |
LUTs高光γ颜色 |
|
LUTsHighlightGain |
LUTs高光增益颜色 |
|
LUTsHighlightOffset |
LUTs高光偏移颜色 |
|
LUTsColorGradingLUTPath |
LUTs颜色分级表路径 |
函数:
无
事件:
无
示例代码:
local workspace = game:GetService("WorkSpace")
local postProcessing= workspace.Environment.PostProcessing
--全屏泛光强度
postProcessing.BloomIntensity=0.5
--全屏泛光阈值
postProcessing.BloomIntensity=0.5
--抗锯齿开启
postProcessing.AntialiasingEnable=true
--抗锯齿方法
postProcessing.LockTimeDir=AntialiasingMethodDesc.kAntialiasingMethodFXAA
--抗锯齿质量
postProcessing.LockTimeDir=AntialiasingQualityDesc.kAntialiasingQualityLow