|
15 | 15 | #include "Materials/MaterialExpressionLandscapeGrassOutput.h" |
16 | 16 | #include "Materials/MaterialExpressionMultiply.h" |
17 | 17 | #include "Materials/MaterialExpressionQualitySwitch.h" |
| 18 | +#include "Materials/MaterialExpressionReflectionVectorWS.h" |
18 | 19 | #include "Materials/MaterialExpressionRuntimeVirtualTextureSampleParameter.h" |
19 | 20 | #include "Materials/MaterialExpressionScalarParameter.h" |
20 | 21 | #include "Materials/MaterialExpressionStaticSwitchParameter.h" |
@@ -297,6 +298,10 @@ UClass* GetTextureSampleParameterClassForTexture(UTexture* Texture) { |
297 | 298 | return NULL; |
298 | 299 | } |
299 | 300 |
|
| 301 | +FORCEINLINE static bool DoesTextureSamplerRequireUVW(UClass* ExpressionClass) { |
| 302 | + return ExpressionClass->IsChildOf<UMaterialExpressionTextureSampleParameterCube>() || ExpressionClass->IsChildOf<UMaterialExpressionTextureSampleParameter2DArray>(); |
| 303 | +} |
| 304 | + |
300 | 305 | void UMaterialGenerator::ApplyOtherLayoutChanges(UMaterial* Material, FMaterialLayoutChangeInfo& LayoutChangeInfo) { |
301 | 306 | //Add Parameter Collection parameter nodes |
302 | 307 | for (UMaterialParameterCollection* NewCollection : LayoutChangeInfo.NewReferencedParameterCollections) { |
@@ -464,6 +469,12 @@ void UMaterialGenerator::SpawnNewMaterialParameterNodes(UMaterial* Material, FMa |
464 | 469 | Expression->SetParameterName(NewTextureParameter.ParameterInfo.Name); |
465 | 470 | Expression->Texture = NewTextureParameter.ParameterValue.Get(); |
466 | 471 | Expression->AutoSetSampleType(); |
| 472 | + |
| 473 | + if (DoesTextureSamplerRequireUVW(ExpressionClass)) { |
| 474 | + const FVector2D NodePos = FVector2D(Expression->MaterialExpressionEditorX - 256, Expression->MaterialExpressionEditorY); |
| 475 | + UMaterialExpressionReflectionVectorWS* ReflectionVector = SpawnMaterialExpression<UMaterialExpressionReflectionVectorWS>(Material, NodePos); |
| 476 | + Expression->Coordinates.Connect(0, ReflectionVector); |
| 477 | + } |
467 | 478 | } |
468 | 479 | } |
469 | 480 |
|
|
0 commit comments