Refine foliage mask logic and add support for foliage blocker masks
This commit is contained in:
@@ -6541,15 +6541,20 @@ export class ViewportHost {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private getTerrainFoliageMaskPreviewLayerId(terrainId: string): string | null {
|
private getTerrainFoliageMaskPreviewLayerId(terrainId: string): string | null {
|
||||||
|
const brushState = this.currentTerrainBrushState;
|
||||||
|
|
||||||
|
if (brushState === null || brushState.terrainId !== terrainId) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
this.currentTerrainBrushState === null ||
|
brushState.tool !== "foliagePaint" &&
|
||||||
this.currentTerrainBrushState.terrainId !== terrainId ||
|
brushState.tool !== "foliageErase"
|
||||||
!isTerrainFoliageLayerMaskTool(this.currentTerrainBrushState.tool)
|
|
||||||
) {
|
) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.currentTerrainBrushState.foliageLayerId;
|
return brushState.foliageLayerId;
|
||||||
}
|
}
|
||||||
|
|
||||||
private isTerrainFoliageBlockerMaskPreviewActive(
|
private isTerrainFoliageBlockerMaskPreviewActive(
|
||||||
@@ -9699,7 +9704,8 @@ export class ViewportHost {
|
|||||||
tool: toolState.tool,
|
tool: toolState.tool,
|
||||||
referenceHeight,
|
referenceHeight,
|
||||||
layerIndex: toolState.tool === "paint" ? toolState.layerIndex : null,
|
layerIndex: toolState.tool === "paint" ? toolState.layerIndex : null,
|
||||||
foliageLayerId: isTerrainFoliageLayerMaskTool(toolState.tool)
|
foliageLayerId:
|
||||||
|
toolState.tool === "foliagePaint" || toolState.tool === "foliageErase"
|
||||||
? toolState.foliageLayerId
|
? toolState.foliageLayerId
|
||||||
: null
|
: null
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -177,7 +177,8 @@ describe("terrain commands", () => {
|
|||||||
terrainId: terrain.id,
|
terrainId: terrain.id,
|
||||||
heightSamples: [{ index: 4, before: 0, after: 2 }],
|
heightSamples: [{ index: 4, before: 0, after: 2 }],
|
||||||
paintWeights: [{ index: 1, before: 0, after: 0.5 }],
|
paintWeights: [{ index: 1, before: 0, after: 0.5 }],
|
||||||
foliageMaskValues: []
|
foliageMaskValues: [],
|
||||||
|
foliageBlockerMaskValues: []
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
@@ -263,7 +264,8 @@ describe("terrain commands", () => {
|
|||||||
before: 0,
|
before: 0,
|
||||||
after: 0.75
|
after: 0.75
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
foliageBlockerMaskValues: []
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user