Scene(param)

Scene场景对象,负责维护底层渲染场景、根节点、相机、灯光、环境贴图和渲染生命周期。

new Scene(param)

创建场景管理对象。
Parameters:
Name Type Description
param object 初始化参数
Properties
Name Type Attributes Default Description
app THING.App App 实例。
scene object 底层渲染场景对象。
initLights boolean <optional>
true 是否创建默认环境光和主方向光。
envMap string | Array.<string> | THING.CubeTexture | THING.ImageTexture <optional>
环境贴图。字符串可为全景图地址或立方体贴图目录,数组表示立方体贴图地址列表。
defaultSettings object 默认设置。

Members

ambientLight :THING.AmbientLight

获取/设置场景默认环境光。
Example
let app = THING.App.current;
	app.scene.ambientLight.color = 'blue';
	app.scene.ambientLight.intensity = 0.1;
 let ret1 = app.scene.ambientLight.color == 'blue';
 let ret2 = app.scene.ambientLight.intensity == 0.1;
// @expect(ret1 == true && ret2 == true);

camera :THING.Camera

获取/设置当前逻辑相机。设置后会同时将该相机设为主渲染相机。

cameras :Array.<THING.Camera>

获取场景渲染相机列表。数组第 0 项为主渲染相机。

envDiffuseIntensity :number

获取/设置环境漫反射强度,取值范围为0到1。
Example
app.scene.envDiffuseIntensity = 0.5;
	// @expect(app.scene.envDiffuseIntensity == 0.5);

envMap :THING.CubeTexture|THING.ImageTexture

获取/设置 环境贴图资源。

envMapLightIntensity :number

获取/设置环境光照强度,取值范围为0到1。
Example
app.scene.envMapLightIntensity = 0.5;
	// @expect(app.scene.envMapLightIntensity == 0.5);

envSpecularIntensity :number

获取/设置环境镜面反射强度,取值范围为0到1。
Example
app.scene.envSpecularIntensity = 0.5;
	// @expect(app.scene.envSpecularIntensity == 0.5);

instancedOffset :Array.<number>

获取/设置实例化绘制偏移量,会影响所有实例化绘制对象的相对位置。
Example
app.scene.instancedOffset = [10000, 10000, 10000];

mainLight :THING.DirectionalLight

获取/设置场景主平行光。

maxLightingGroupCount :number

outputEncodingType :TexelEncodingType

renderOptions :SceneRenderOptions

获取/设置渲染配置。

staticMode :boolean

获取/设置静态模式,用于开启或关闭变换矩阵缓存以优化矩阵计算。加载资源时通常关闭,预览渲染时再开启。

visible :boolean

获取/设置场景是否参与主渲染。