Terrain Surface Materials List Component

The Terrain Surface Materials List component defines mappings between surface types and render materials. You can use this to change the appearance of a surface type within different areas of your game. When you assign a material to a surface type, all the visible surfaces of that type, within the bounds of the required Axis Aligned Box Shape component, will adopt that material.

Usage

Select the surface type tag using the SurfaceTag drop-down menu, then assign a material by clicking and choosing a material, or by dragging a material from the AssetBrowser window.

Provider

Terrain Gem

Properties

Terrain Surface Materials List component properties

PropertyDescriptionValuesDefault
Gradient to Material MappingsAn array of surface tags and material assets to map together.
Surface TagSelects a surface tag to map to a material.Surface: Surface TagNone
Material AssetSelects a material asset to apply to the surface.Material AssetNone

TerrainAreaMaterialRequestBus

Use the following request functions with the TerrainAreaMaterialRequestBus EBus interface to communicate with Surface Material List components of your game.

Request NameDescriptionParameterReturnScriptable
GetSurfaceMaterialMappingsRetrieves all the assigned surface types, the materials that you have assigned to them, and the bounds that are set for this entity.NoneTerrain Surface Material Mapping: VectorNo.

TerrainAreaMaterialNotificationBus

Notification NameDescriptionParameterReturnScriptable
OnTerrainSurfaceMaterialMappingCreatedNotifies listeners when a new mapping between a Surface and a Material is set up.NoneEntityId; Surface Tag; MaterialNo
OnTerrainSurfaceMaterialMappingDestroyedNotifies listeners when a mapping between a Surface and a Material is removed.NoneEntityId; Surface TagNo
OnTerrainSurfaceMaterialMappingChangedNotifies listeners when a mapping between a Surface and a Material is changed.NoneEntityId; Surface Tag; MaterialNo
OnTerrainSurfaceMaterialMappingRegionChangedNotifies listeners when the bounds of the component are modified.NoneEntityId; Old Region: Aabb; New Region: AabbNo

Copyright © 2022 Open 3D Engine Contributors

Documentation Distributed under CC BY 4.0.
For our trademark, privacy and antitrust policies, code of conduct, and terms of use, please click the applicable link below or see https://www.lfprojects.org.


The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Policy page.