@@ -156,6 +156,16 @@ export interface SceneOptions {
156156
157157 /** Defines if the creation of the scene should impact the engine (Eg. UtilityLayer's scene) */
158158 virtual ?: boolean ;
159+
160+ /**
161+ * Defines the default layerMask used when creating cameras in the scene (default: 0x0fffffff)
162+ */
163+ defaultCameraLayerMask ?: number ;
164+
165+ /**
166+ * Defines the default layerMask used when creating renderable objects in the scene (default: 0x0fffffff)
167+ */
168+ defaultRenderableLayerMask ?: number ;
159169}
160170
161171/**
@@ -1810,6 +1820,18 @@ export class Scene implements IAnimatable, IClipPlanesHolder, IAssetContainer {
18101820 private _externalData : StringDictionary < object > ;
18111821 private _uid : Nullable < string > ;
18121822
1823+ /**
1824+ * @internal
1825+ * Gets or sets the default layerMask used for cameras created in this scene.
1826+ */
1827+ public defaultCameraLayerMask : number ;
1828+
1829+ /**
1830+ * @internal
1831+ * Gets or sets the default layerMask used for renderable objects created in this scene.
1832+ */
1833+ public defaultRenderableLayerMask : number ;
1834+
18131835 /**
18141836 * @internal
18151837 * Backing store of defined scene components.
@@ -2021,9 +2043,15 @@ export class Scene implements IAnimatable, IClipPlanesHolder, IAssetContainer {
20212043 useMaterialMeshMap : true ,
20222044 useClonedMeshMap : true ,
20232045 virtual : false ,
2046+ defaultCameraLayerMask : 0x0fffffff ,
2047+ defaultRenderableLayerMask : 0x0fffffff ,
20242048 ...options ,
20252049 } ;
20262050
2051+ // Scene Default Layer Masks
2052+ this . defaultCameraLayerMask = fullOptions . defaultCameraLayerMask ;
2053+ this . defaultRenderableLayerMask = fullOptions . defaultRenderableLayerMask ;
2054+
20272055 engine = this . _engine = engine || EngineStore . LastCreatedEngine ;
20282056 if ( fullOptions . virtual ) {
20292057 engine . _virtualScenes . push ( this ) ;
0 commit comments