Skip to content

Commit 0620456

Browse files
committed
Fix incorrect vertical scales on landscape inputs.
1 parent c764e46 commit 0620456

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

Source/HoudiniEngine/Private/UnrealLandscapeTranslator.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ FUnrealLandscapeTranslator::CreateHeightfieldFromLandscape(
322322
HeightData,
323323
XSize, YSize,
324324
Min, Max,
325-
LandscapeTransform,
325+
LandscapeActorTransform.GetScale3D(),
326326
HeightfieldFloatValues,
327327
HeightfieldVolumeInfo))
328328
{
@@ -494,7 +494,7 @@ FUnrealLandscapeTranslator::CreateHeightfieldFromLandscape(
494494
//--------------------------------------------------------------------------------------------------
495495
TArray<float> LayerHeightFloatData;
496496
if (!ConvertLandscapeDataToHeightFieldData(
497-
LayerHeightData, XSize, YSize, Min, Max, LandscapeTransform,
497+
LayerHeightData, XSize, YSize, Min, Max, LandscapeActorTransform.GetScale3D(),
498498
LayerHeightFloatData, LayerVolumeInfo))
499499
return false;
500500

@@ -653,7 +653,7 @@ FUnrealLandscapeTranslator::CreateHeightfieldFromLandscapeComponent(
653653

654654
FVector CenterOffset = FVector::ZeroVector;
655655
if ( !ConvertLandscapeDataToHeightFieldData(
656-
HeightData, XSize, YSize, Min, Max, LandscapeComponentTransform,
656+
HeightData, XSize, YSize, Min, Max, LandscapeComponentTransform.GetScale3D(),
657657
HeightfieldFloatValues, HeightfieldVolumeInfo) )
658658
return false;
659659

@@ -790,7 +790,7 @@ FUnrealLandscapeTranslator::CreateInputNodeForLandscape(
790790
TArray<float> HeightfieldFloatValues;
791791

792792
if (!ConvertLandscapeDataToHeightFieldData(
793-
HeightData, XSize, YSize, Min, Max, LandscapeTransform,
793+
HeightData, XSize, YSize, Min, Max, LandscapeTransform.GetScale3D(),
794794
HeightfieldFloatValues, HeightfieldVolumeInfo))
795795
return false;
796796

@@ -1240,7 +1240,7 @@ FUnrealLandscapeTranslator::ConvertLandscapeDataToHeightFieldData(
12401240
int32 YSize,
12411241
FVector Min,
12421242
FVector Max,
1243-
const FTransform& LandscapeActorTransform,
1243+
const FVector3d & LandscapeActorScale,
12441244
TArray<float>& HeightfieldFloatValues,
12451245
HAPI_VolumeInfo& HeightfieldVolumeInfo)
12461246
{
@@ -1276,7 +1276,7 @@ FUnrealLandscapeTranslator::ConvertLandscapeDataToHeightFieldData(
12761276

12771277
// Spacing used to convert from uint16 to meters
12781278
double ZSpacing = 512.0 / ((double)UINT16_MAX);
1279-
ZSpacing *= ((double)LandscapeActorTransform.GetScale3D().Z);
1279+
ZSpacing *= LandscapeActorScale.Z / 100.0;
12801280

12811281
// Center value in meters (Landscape ranges from [-255:257] meters at default scale
12821282
double ZCenterOffset = 32767;
@@ -1316,12 +1316,11 @@ FUnrealLandscapeTranslator::ConvertLandscapeDataToHeightFieldData(
13161316
HapiTransform.position[0] = 0.0f;
13171317
HapiTransform.position[2] = 0.0f;
13181318

1319-
FVector Scale = LandscapeActorTransform.GetScale3D();
1320-
HapiTransform.scale[0] = Scale.Y * 0.5f * HoudiniXSize;
1321-
HapiTransform.scale[1] = Scale.X * 0.5f * HoudiniYSize;
1319+
HapiTransform.scale[0] = LandscapeActorScale.Y * 0.5f * HoudiniXSize / 100.0f;
1320+
HapiTransform.scale[1] = LandscapeActorScale.X * 0.5f * HoudiniYSize / 100.0f;
13221321
HapiTransform.scale[2] = 0.5f;
13231322
if (bUseDefaultUE4Scaling)
1324-
HapiTransform.scale[2] *= Scale.Z;
1323+
HapiTransform.scale[2] *= LandscapeActorScale.Z;
13251324

13261325
HapiTransform.shear[0] = 0.0f;
13271326
HapiTransform.shear[1] = 0.0f;

Source/HoudiniEngine/Private/UnrealLandscapeTranslator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ struct HOUDINIENGINE_API FUnrealLandscapeTranslator
134134
int32 YSize,
135135
FVector Min,
136136
FVector Max,
137-
const FTransform& LandscapeActorTransform,
137+
const FVector3d& LandscapeActorScale,
138138
TArray<float>& HeightfieldFloatValues,
139139
HAPI_VolumeInfo& HeightfieldVolumeInfo);
140140

0 commit comments

Comments
 (0)