Files
UnrealEngineUWP/Engine/Plugins/Runtime/SmartObjects/Source/SmartObjectsModule/Public/SmartObjectSettings.h
mikko mononen 1ca6e4407c Smart Objects: Added way to project navigation locations on ground and to check collisions between nav location and slot.
- Changed entry annotation to navigation annotation
- Added option for nav annotations to project location on ground
- Added option and settings for nav annotations to check simple trajectory collisions towards slot location
- Added logic in entry location query to project on ground and check trajectory collisions
- Added physics settings struct that handles common query combinations
- Added USmartObjectSlotValidationFilter to define shareable settings for validation (kinda similar to nav query filter)
- Fixed double rendering of preview actor/mesh in SO editor
- added debug draw for the new features

#jira UE-174418
#preflight 641036e470639dfc943ed981

[CL 24632583 by mikko mononen in ue5-main branch]
2023-03-14 06:26:29 -04:00

39 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "SmartObjectTypes.h"
#include "Engine/DeveloperSettings.h"
#include "Templates/SubclassOf.h"
#include "WorldConditions/SmartObjectWorldConditionSchema.h"
#include "SmartObjectSettings.generated.h"
UCLASS(config = SmartObjects, defaultconfig, DisplayName = "SmartObject", AutoExpandCategories = "SmartObject")
class SMARTOBJECTSMODULE_API USmartObjectSettings : public UDeveloperSettings
{
GENERATED_BODY()
public:
/**
* Default filtering policy to use for TagQueries applied on User Tags in newly created SmartObjectDefinitions.
* Indicates how TagQueries from slots and parent object will be processed against User Tags from a find request.
*/
UPROPERTY(EditAnywhere, config, Category = "SmartObject")
ESmartObjectTagFilteringPolicy DefaultUserTagsFilteringPolicy = ESmartObjectTagFilteringPolicy::Override;
/**
* Default merging policy to use for Activity Tags in newly created SmartObjectDefinitions.
* Indicates how Activity Tags from slots and parent object are combined to be evaluated by an Activity TagQuery from a find request.
*/
UPROPERTY(EditAnywhere, config, Category = "SmartObject")
ESmartObjectTagMergingPolicy DefaultActivityTagsMergingPolicy = ESmartObjectTagMergingPolicy::Override;
/** Base world condition class for all new Smart Object definitions. */
UPROPERTY(EditAnywhere, config, Category = "SmartObject")
TSubclassOf<USmartObjectWorldConditionSchema> DefaultWorldConditionSchemaClass = USmartObjectWorldConditionSchema::StaticClass();
/** Validation filter used for previewing collisions in editors. */
UPROPERTY(EditAnywhere, config, Category = "SmartObject")
TSubclassOf<USmartObjectSlotValidationFilter> PreviewValidationFilter;
};