目录:第九艺术-目录
基础逻辑都和前面类似,这里就不再细说了,分享一些可能会有帮助的工具,需要的话尽管拿去~
反向LandscapeLayer检查:
InvertLandscapeLayerCheck
FoliageType.h 里添加属性
UPROPERTY(EditAnywhere, AdvancedDisplay, Category = Placement, meta = (ReapplyCondition = "ReapplyLandscapeLayers"))
uint32 bExcluedeLandscapeLayers : 1;
然后修改原本的LandscapeLayer逻辑,这里的这种写法主要是为了尽量少改原本的逻辑,之后好升版本,另外就是注意一下 OutHitWeight 也需要反向一下,这样之后才能正确的分到对应的 Bucket里
bool LandscapeLayerCheck(const FHitResult& Hit, const UFoliageType* Settings, FEdModeFoliage::LandscapeLayerCacheData& LandscapeLayersCache, float& OutHitWeight)
{
//MODIFICATION START
if (Settings->bExcluedeLandscapeLayers)
{
OutHitWeight = 1.f;
if (LandscapeLayersValid(Settings) && GetMaxHitWeight(Hit.I