bFilterLandscape

bFilterLandscape

#Overview

name: bFilterLandscape

The value of this variable can be defined or overridden in .ini config files. 1 .ini config file referencing this setting variable.

It is referenced in 6 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of bFilterLandscape is to control whether landscape objects should be included in the foliage painting process within the Unreal Engine 5 editor. This setting variable is part of the foliage editing system, specifically used in the Foliage Edit mode.

The Unreal Engine subsystem that relies on this setting variable is the Foliage Edit module, which is part of the editor’s landscaping and environment creation tools.

The value of this variable is set in multiple places:

  1. It is initialized to true in the FFoliageUISettings constructor.
  2. It can be loaded from the project’s configuration file using GConfig->GetBool() in the FFoliageUISettings::Load() function.
  3. It can be saved to the project’s configuration file using GConfig->SetBool() in the FFoliageUISettings::Save() function.
  4. It can be set programmatically using the SetFilterLandscape() function.

This variable interacts with other similar filtering variables such as bFilterStaticMesh, bFilterBSP, bFilterFoliage, and bFilterTranslucent. Together, these variables determine which types of objects in the scene can receive foliage during the painting process.

Developers must be aware that this variable affects the foliage painting behavior in the editor. When set to true, it allows foliage to be painted on landscape objects. When set to false, landscape objects will be excluded from foliage painting.

Best practices when using this variable include:

  1. Consider the performance implications of enabling or disabling landscape filtering, especially in large scenes.
  2. Use it in conjunction with other filtering options to achieve the desired foliage distribution.
  3. Remember to save the settings if you want the changes to persist between editor sessions.
  4. Be consistent in its usage across your project to maintain a coherent foliage painting workflow.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:768, section: [FoliageEdit]

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.cpp:4080

Scope (from outer to inner):

file
function     void FFoliageUISettings::Load

Source code excerpt:

	GConfig->GetFloat(TEXT("FoliageEdit"), TEXT("PaintDensity"), PaintDensity, GEditorPerProjectIni);
	GConfig->GetFloat(TEXT("FoliageEdit"), TEXT("UnpaintDensity"), UnpaintDensity, GEditorPerProjectIni);
	GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bFilterLandscape"), bFilterLandscape, GEditorPerProjectIni);
	GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bFilterStaticMesh"), bFilterStaticMesh, GEditorPerProjectIni);
	GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bFilterBSP"), bFilterBSP, GEditorPerProjectIni);
	GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bFilterFoliage"), bFilterFoliage, GEditorPerProjectIni);
	GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bFilterTranslucent"), bFilterTranslucent, GEditorPerProjectIni);

	GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bShowPaletteItemDetails"), bShowPaletteItemDetails, GEditorPerProjectIni);

#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.cpp:4112

Scope (from outer to inner):

file
function     void FFoliageUISettings::Save

Source code excerpt:

	GConfig->SetFloat(TEXT("FoliageEdit"), TEXT("PaintDensity"), PaintDensity, GEditorPerProjectIni);
	GConfig->SetFloat(TEXT("FoliageEdit"), TEXT("UnpaintDensity"), UnpaintDensity, GEditorPerProjectIni);
	GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bFilterLandscape"), bFilterLandscape, GEditorPerProjectIni);
	GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bFilterStaticMesh"), bFilterStaticMesh, GEditorPerProjectIni);
	GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bFilterBSP"), bFilterBSP, GEditorPerProjectIni);
	GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bFilterFoliage"), bFilterFoliage, GEditorPerProjectIni);
	GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bFilterTranslucent"), bFilterTranslucent, GEditorPerProjectIni);

	GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bShowPaletteItemDetails"), bShowPaletteItemDetails, GEditorPerProjectIni);

#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.h:102

Scope (from outer to inner):

file
function     bool GetFilterLandscape

Source code excerpt:

	float GetUnpaintDensity() const { return UnpaintDensity; }
	void SetUnpaintDensity(float InUnpaintDensity) { UnpaintDensity = InUnpaintDensity; }
	bool GetFilterLandscape() const { return bFilterLandscape ? true : false; }
	void SetFilterLandscape(bool InbFilterLandscape) { bFilterLandscape = InbFilterLandscape; }
	bool GetFilterStaticMesh() const { return bFilterStaticMesh ? true : false; }
	void SetFilterStaticMesh(bool InbFilterStaticMesh) { bFilterStaticMesh = InbFilterStaticMesh; }
	bool GetFilterBSP() const { return bFilterBSP ? true : false; }
	void SetFilterBSP(bool InbFilterBSP) { bFilterBSP = InbFilterBSP; }
	bool GetFilterFoliage() const { return bFilterFoliage; }
	void SetFilterFoliage(bool InbFilterFoliage) { bFilterFoliage = InbFilterFoliage; }

#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.h:168

Scope (from outer to inner):

file
function     FFoliageUISettings

Source code excerpt:

		, SingleInstantiationCycleThroughIndex(0)
		, IsInSpawnInCurrentLevelMode(false)
		, bFilterLandscape(true)
		, bFilterStaticMesh(true)
		, bFilterBSP(true)
		, bFilterFoliage(false)
		, bFilterTranslucent(false)
	{
	}

#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.h:211

Scope: file

Source code excerpt:


public:
	bool bFilterLandscape;
	bool bFilterStaticMesh;
	bool bFilterBSP;
	bool bFilterFoliage;
	bool bFilterTranslucent;
};

#Loc: <Workspace>/Engine/Source/Editor/FoliageEdit/Private/FoliageEdMode.h:284

Scope (from outer to inner):

file
function     FFoliagePaintingGeometryFilter

Source code excerpt:


	FFoliagePaintingGeometryFilter(const FFoliageUISettings& InUISettings)
		: bAllowLandscape(InUISettings.bFilterLandscape)
		, bAllowStaticMesh(InUISettings.bFilterStaticMesh)
		, bAllowBSP(InUISettings.bFilterBSP)
		, bAllowFoliage(InUISettings.bFilterFoliage)
		, bAllowTranslucent(InUISettings.bFilterTranslucent)
	{
	}