bFilterTranslucent

bFilterTranslucent

#Overview

name: bFilterTranslucent

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 7 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of bFilterTranslucent is to control whether translucent objects should be included or excluded during foliage painting operations in Unreal Engine’s Foliage Editor mode.

This setting variable is primarily used in the Foliage Edit module of Unreal Engine. It is part of the FFoliageUISettings struct, which manages various user interface settings for the Foliage Editor.

The value of this variable is set in multiple places:

  1. It is initialized to false in the FFoliageUISettings constructor.
  2. It can be loaded from the editor’s project-specific configuration file using GConfig->GetBool().
  3. It can be saved to the same configuration file using GConfig->SetBool().
  4. It can be set programmatically using the SetFilterTranslucent() function.

This variable interacts with other filtering variables like bFilterBSP and bFilterFoliage, which together determine what types of objects are considered for foliage painting.

Developers should be aware that this variable affects the behavior of foliage painting operations. When set to true, it will exclude translucent objects from foliage painting, which can be useful for performance optimization or achieving specific visual effects.

Best practices when using this variable include:

  1. Consider the performance implications of including or excluding translucent objects in foliage painting.
  2. Use it in conjunction with other filtering options to fine-tune the foliage painting behavior.
  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 uniform foliage painting behavior.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:771, 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:2845

Scope (from outer to inner):

file
function     void FEdModeFoliage::ApplyPaintBucket_Add

Source code excerpt:


		if (UISettings.bFilterStaticMesh && StaticMeshComponent->GetStaticMesh() && StaticMeshComponent->GetStaticMesh()->GetRenderData() &&
			(UISettings.bFilterTranslucent || !Material || !IsTranslucentBlendMode(*Material)))
		{
			UStaticMesh* StaticMesh = StaticMeshComponent->GetStaticMesh();
			FStaticMeshLODResources& LODModel = StaticMesh->GetRenderData()->LODResources[0];
			TArray<FFoliagePaintBucketTriangle>& PotentialTriangles = ComponentPotentialTriangles.Add(StaticMeshComponent, TArray<FFoliagePaintBucketTriangle>());

			bool bHasInstancedColorData = false;

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

Scope (from outer to inner):

file
function     void FFoliageUISettings::Load

Source code excerpt:

	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);
	GConfig->GetBool(TEXT("FoliageEdit"), TEXT("bShowPaletteItemTooltips"), bShowPaletteItemTooltips, GEditorPerProjectIni);

	int32 ActivePaletteViewModeAsInt = 0;
	GConfig->GetInt(TEXT("FoliageEdit"), TEXT("ActivePaletteViewMode"), ActivePaletteViewModeAsInt, GEditorPerProjectIni);

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

Scope (from outer to inner):

file
function     void FFoliageUISettings::Save

Source code excerpt:

	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);
	GConfig->SetBool(TEXT("FoliageEdit"), TEXT("bShowPaletteItemTooltips"), bShowPaletteItemTooltips, GEditorPerProjectIni);
	GConfig->SetInt(TEXT("FoliageEdit"), TEXT("ActivePaletteViewMode"), ActivePaletteViewMode, GEditorPerProjectIni);
	GConfig->SetFloat(TEXT("FoliageEdit"), TEXT("PaletteThumbnailScale"), PaletteThumbnailScale, GEditorPerProjectIni);

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

Scope (from outer to inner):

file
function     bool GetFilterTranslucent

Source code excerpt:

	bool GetFilterFoliage() const { return bFilterFoliage; }
	void SetFilterFoliage(bool InbFilterFoliage) { bFilterFoliage = InbFilterFoliage; }
	bool GetFilterTranslucent() const { return bFilterTranslucent; }
	void SetFilterTranslucent(bool InbFilterTranslucent) { bFilterTranslucent = InbFilterTranslucent; }

	bool IsInAnySingleInstantiationMode() const { return GetIsInSingleInstantiationMode() || GetIsInQuickSingleInstantiationMode(); }

	bool GetIsInSingleInstantiationMode() const { return IsInSingleInstantiationMode; }
	void SetIsInSingleInstantiationMode(bool InIsInSingleInstantiationMode) { IsInSingleInstantiationMode = InIsInSingleInstantiationMode; }

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

Scope (from outer to inner):

file
function     FFoliageUISettings

Source code excerpt:

		, bFilterBSP(true)
		, bFilterFoliage(false)
		, bFilterTranslucent(false)
	{
	}

	~FFoliageUISettings()
	{
	}

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

Scope: file

Source code excerpt:

	bool bFilterBSP;
	bool bFilterFoliage;
	bool bFilterTranslucent;
};


struct FFoliageMeshUIInfo
{
	TObjectPtr<UFoliageType>	Settings;

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

Scope (from outer to inner):

file
function     FFoliagePaintingGeometryFilter

Source code excerpt:

		, bAllowBSP(InUISettings.bFilterBSP)
		, bAllowFoliage(InUISettings.bFilterFoliage)
		, bAllowTranslucent(InUISettings.bFilterTranslucent)
	{
	}

	FFoliagePaintingGeometryFilter()
		: bAllowLandscape(false)
		, bAllowStaticMesh(false)