
Description
Interior Window Mapping
A paste-in node group that fakes a real 3D room behind a flat window pane — the trick city-builder facades use to give thousands of windows depth for basically free. Drop it into any window material and wire three outputs.
It ray-marches the view direction into a little interior box and hands you back a Room UVW to sample a room cubemap or atlas with. As you move the camera, the room parallaxes correctly — no per-pixel step loop like parallax occlusion, no refraction, just one box intersection. The window tiles into a grid so one material covers a whole building front, and each cell gets its own Cell ID seed (randomise the room behind every window) plus a Wall Face index (0 back, 1 left, 2 right, 3 floor, 4 ceiling) so you can light or texture faces differently.
This is the reusable engine on its own. If you want a finished, ready-to-drop material that uses it with a fully procedural room (no textures needed), grab Fake Interior Window instead.
What you get
- One clean Custom HLSL Interior Mapping Engine block doing the ray-box math
- 3 outputs: Room UVW (Float3), Wall Face (Float1), Cell ID (Float2)
- 4 params: RoomDepth, TilingX, TilingY, RoomUVScale
- Reads UVs and the tangent-space camera vector internally — you don't feed it either
- No animated noise, so it's stable under TSR
How to use it
- Paste into the graph of the window material you're building (Ctrl+V).
- Wire Result (Room UVW) into a room lookup (a TextureCube, or split
.xyfor a flat atlas). - Wire Wall Face for per-face tint/texture, Cell ID into a hash for per-window variation.
- The mesh needs valid tangents and UV0 spanning 0–1 per window cell — a plain plane works.
Notes
This is a node group, not a complete material — there's no Material node to wire, you connect its outputs into your own graph. It assumes square-ish window cells (match TilingX:TilingY to the mesh aspect). Built and exported clean against UE 5.6+; in-engine look is pending a paste-test, so treat it as a starting point you can tune.
Preview only · open in editor for full material editing
Want this graph on your blog or forum?
View T3D source (41 KB)expandcollapse
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_0"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C0"
End Object
Begin Object Name="MaterialExpressionComment_C0"
SizeX=560
SizeY=760
Text="01 Interior Room"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
MaterialExpressionEditorX=-2160
MaterialExpressionEditorY=-200
MaterialExpressionGuid=B009085FA2C708933ED7BB277A71D9DA
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C0'"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
NodePosX=-2160
NodePosY=-200
NodeWidth=560
NodeHeight=760
NodeComment="01 Interior Room"
NodeGuid=08145401C09CE2AC6EBD7EC009357ED4
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_1"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_1"
End Object
Begin Object Name="MaterialExpressionScalarParameter_1"
ParameterName="RoomDepth"
DefaultValue=1
SliderMin=0.1
SliderMax=4
Group="01 Interior Room"
SortPriority=0
Desc="Apparent depth of the room behind the glass, in window-widths. 1.0 = a room as deep as the window is wide; higher = a deeper room (more parallax travel). This is the headline depth dial."
MaterialExpressionEditorX=-2120
MaterialExpressionEditorY=-100
MaterialExpressionGuid=B2D848644B27960C1993DC717CEDE5ED
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_1'"
NodePosX=-2120
NodePosY=-100
NodeGuid=CE2B489A5BF929B005589EB1C3229BD5
CustomProperties Pin (PinId=8C64C454858F583FCCC4B3B2716C1150,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_9 E0603A526CB3449EB075DF1E126B5D0F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_2"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_2"
End Object
Begin Object Name="MaterialExpressionScalarParameter_2"
ParameterName="TilingX"
DefaultValue=4
SliderMin=1
SliderMax=32
Group="01 Interior Room"
SortPriority=1
Desc="How many window cells across the mesh horizontally. The mesh UV0 is multiplied by this, so one material tiles a whole facade; each cell is an independent little room with its own Cell ID seed."
MaterialExpressionEditorX=-2120
MaterialExpressionEditorY=60
MaterialExpressionGuid=D88A0D6EA47AF9C840AD04828DF5C645
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_2'"
NodePosX=-2120
NodePosY=60
NodeGuid=A103E49F21578626299E174D39410F4D
CustomProperties Pin (PinId=B87C622E7D7D0FEB419C060AA629E9C8,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_8 D548641B053D27EAD172241A4B0D33B2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_3"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_3"
End Object
Begin Object Name="MaterialExpressionScalarParameter_3"
ParameterName="TilingY"
DefaultValue=4
SliderMin=1
SliderMax=32
Group="01 Interior Room"
SortPriority=2
Desc="How many window cells across the mesh vertically. Pair with TilingX to match the building's window grid."
MaterialExpressionEditorX=-2120
MaterialExpressionEditorY=220
MaterialExpressionGuid=9F057D94C35D2652501BBC50DD705C6D
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_3'"
NodePosX=-2120
NodePosY=220
NodeGuid=7E0FA3246E6C5A6B9D429AB6CD269BAC
CustomProperties Pin (PinId=A5C3CE24C677FC87D4FE5EC806BC0BEA,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_8 FF7985A0BE2DF15F48330ED747D5F945,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_4"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_4"
End Object
Begin Object Name="MaterialExpressionScalarParameter_4"
ParameterName="RoomUVScale"
DefaultValue=1
SliderMin=0.25
SliderMax=4
Group="01 Interior Room"
SortPriority=3
Desc="Zoom on the room contents within each cell. 1.0 = the room fills the window; higher packs the contents tighter (a smaller-looking room), lower zooms out. Scales the box-projected Room UVW."
MaterialExpressionEditorX=-2120
MaterialExpressionEditorY=380
MaterialExpressionGuid=7C06CAF901E10B7710D4B6409D675552
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_4'"
NodePosX=-2120
NodePosY=380
NodeGuid=741CE0FCACEF5CBBA39A4E3C441FFE57
CustomProperties Pin (PinId=DAC3785DD8D5F1AB0BC099CF6E22CDC4,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_9 BDA5BEB17B4BEACEE45D0EF4D31B0EC1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_5"
Begin Object Class=/Script/Engine.MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_5"
End Object
Begin Object Name="MaterialExpressionTextureCoordinate_5"
CoordinateIndex=0
UTiling=1
VTiling=1
MaterialExpressionEditorX=-2120
MaterialExpressionEditorY=560
MaterialExpressionGuid=79ABB3FF8D944528C844DE5CF815AD6F
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_5'"
NodePosX=-2120
NodePosY=560
NodeGuid=B791A8B38FFD55123C8FB22C3B673CC5
CustomProperties Pin (PinId=91E0914FA6BB2D9915325A87C0092C13,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_9 5EBD6EC9B7E1794BEB9BB3A894EBBD49,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_6"
Begin Object Class=/Script/Engine.MaterialExpressionCameraVectorWS Name="MaterialExpressionCameraVectorWS_6"
End Object
Begin Object Name="MaterialExpressionCameraVectorWS_6"
MaterialExpressionEditorX=-1700
MaterialExpressionEditorY=620
MaterialExpressionGuid=5C690DAE0449891ABA4841F9788B5CE4
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionCameraVectorWS'MaterialExpressionCameraVectorWS_6'"
NodePosX=-1700
NodePosY=620
NodeGuid=82CC06780CC3A22B58598C9A755CDAE1
CustomProperties Pin (PinId=290202A0298C551CBE22C099E89FA0C9,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 9B59921BC622FAC2120104A63C15AA33,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_7"
Begin Object Class=/Script/Engine.MaterialExpressionTransform Name="MaterialExpressionTransform_7"
End Object
Begin Object Name="MaterialExpressionTransform_7"
TransformSourceType=TRANSFORMSOURCE_World
TransformType=TRANSFORM_Tangent
Input=(Expression="/Script/Engine.MaterialExpressionCameraVectorWS'MaterialGraphNode_6.MaterialExpressionCameraVectorWS_6'")
MaterialExpressionEditorX=-1480
MaterialExpressionEditorY=620
MaterialExpressionGuid=1652BDA70C50F2D792C3ED8B33D7355D
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionTransform'MaterialExpressionTransform_7'"
NodePosX=-1480
NodePosY=620
NodeGuid=BF45C1A2ABB6D7C0DBCCA50B45F81A1E
CustomProperties Pin (PinId=9B59921BC622FAC2120104A63C15AA33,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_6 290202A0298C551CBE22C099E89FA0C9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=56EEF02D3FBC8F6E77FF75F9773DF2F6,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_9 39B36C390A24CCD1440C0A03F1ECE82D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_8"
Begin Object Class=/Script/Engine.MaterialExpressionAppendVector Name="MaterialExpressionAppendVector_8"
End Object
Begin Object Name="MaterialExpressionAppendVector_8"
A=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_2.MaterialExpressionScalarParameter_2'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_3.MaterialExpressionScalarParameter_3'")
MaterialExpressionEditorX=-1700
MaterialExpressionEditorY=120
MaterialExpressionGuid=60A3E44B5BD4D7A9071AF081BB0A361E
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionAppendVector'MaterialExpressionAppendVector_8'"
NodePosX=-1700
NodePosY=120
NodeGuid=0D8925EC40482447AFE1023176CCBF1D
CustomProperties Pin (PinId=D548641B053D27EAD172241A4B0D33B2,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_2 B87C622E7D7D0FEB419C060AA629E9C8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=FF7985A0BE2DF15F48330ED747D5F945,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_3 A5C3CE24C677FC87D4FE5EC806BC0BEA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=922937C6B8EDE29CE96F6F7B4F656E63,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_9 A81424AC0E2403BD43ABA61AD3BB7EBF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Custom Name="MaterialGraphNode_Custom_9"
Begin Object Class=/Script/Engine.MaterialExpressionCustom Name="MaterialExpressionCustom_9"
End Object
Begin Object Name="MaterialExpressionCustom_9"
Code="// Interior box-projection: ray-march the tangent-space view dir into a unit room\r\n// box of depth RoomDepth, return a box-projected room UVW + which wall was hit +\r\n// the window cell id. No step loop, no refraction. No Time -> TSR-safe.\r\nfloat2 tiled = UV * Tiling;\r\nCellID = floor(tiled);\r\nfloat2 cellUV = frac(tiled); // 0..1 inside one window cell\r\n\r\n// Ray starts at the glass plane (z=0), centred so the box spans -0.5..0.5 in xy\r\n// and 0..RoomDepth in z (into the wall). dir = -view (surface -> into room).\r\nfloat3 ro = float3(cellUV - 0.5, 0.0);\r\nfloat3 dir = -normalize(ViewTS);\r\ndir.z = (dir.z < 0.0) ? min(dir.z, -1e-3) : max(dir.z, 1e-3); // keep marching inward\r\n\r\n// Slab intersection: distance to each candidate plane, take the nearest positive.\r\nfloat3 invd = 1.0 / dir;\r\nfloat tx = (sign(dir.x) * 0.5 - ro.x) * invd.x; // left/right wall\r\nfloat ty = (sign(dir.y) * 0.5 - ro.y) * invd.y; // floor/ceiling\r\nfloat tz = (RoomDepth - ro.z) * invd.z; // back wall\r\nfloat t = min(min(abs(tx), abs(ty)), abs(tz));\r\n\r\nfloat3 hit = ro + dir * t; // position on the hit plane\r\n\r\n// Box-project to a 0..1 room UVW (z normalised by depth so atlases sit right).\r\nfloat3 uvw = float3(hit.xy + 0.5, saturate(hit.z / max(RoomDepth, 1e-3)));\r\nuvw.xy = (uvw.xy - 0.5) / max(RoomUVScale, 1e-3) + 0.5;\r\n\r\n// Which plane did we hit? back / left / right / floor / ceiling.\r\nfloat face = 0.0; // 0 = back wall\r\nif (abs(tx) <= abs(ty) && abs(tx) <= abs(tz)) face = (dir.x > 0.0) ? 2.0 : 1.0; // right / left\r\nelse if (abs(ty) <= abs(tz)) face = (dir.y > 0.0) ? 4.0 : 3.0; // ceiling / floor\r\nWallFace = face;\r\n\r\nreturn uvw;\r\n"
OutputType=CMOT_Float3
Description="Interior Mapping Engine"
ShowCode=True
bShowOutputNameOnPin=True
Inputs(0)=(InputName="UV",Input=(Expression="/Script/Engine.MaterialExpressionTextureCoordinate'MaterialGraphNode_5.MaterialExpressionTextureCoordinate_5'"))
Inputs(1)=(InputName="ViewTS",Input=(Expression="/Script/Engine.MaterialExpressionTransform'MaterialGraphNode_7.MaterialExpressionTransform_7'"))
Inputs(2)=(InputName="Tiling",Input=(Expression="/Script/Engine.MaterialExpressionAppendVector'MaterialGraphNode_8.MaterialExpressionAppendVector_8'"))
Inputs(3)=(InputName="RoomDepth",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_1.MaterialExpressionScalarParameter_1'"))
Inputs(4)=(InputName="RoomUVScale",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_4.MaterialExpressionScalarParameter_4'"))
AdditionalOutputs(0)=(OutputName="WallFace",OutputType=CMOT_Float1)
AdditionalOutputs(1)=(OutputName="CellID",OutputType=CMOT_Float2)
Desc="Ray-box interior mapping: reciprocal of the tangent-space view dir, three slab-plane distances, nearest positive t, pos += t*dir, box-projected to a 0-1 room UVW. Outputs the room UVW, the hit wall face index, and the per-cell window id. No Time - TSR-safe."
MaterialExpressionEditorX=-1240
MaterialExpressionEditorY=200
MaterialExpressionGuid=7261D06325DF27FDFB16A41B9364E350
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionCustom'MaterialExpressionCustom_9'"
NodePosX=-1240
NodePosY=200
NodeGuid=2E2CA2527CE42CD3CA733B30068A4EFC
CustomProperties Pin (PinId=5EBD6EC9B7E1794BEB9BB3A894EBBD49,PinName="UV",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_5 91E0914FA6BB2D9915325A87C0092C13,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=39B36C390A24CCD1440C0A03F1ECE82D,PinName="ViewTS",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 56EEF02D3FBC8F6E77FF75F9773DF2F6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=A81424AC0E2403BD43ABA61AD3BB7EBF,PinName="Tiling",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_8 922937C6B8EDE29CE96F6F7B4F656E63,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=E0603A526CB3449EB075DF1E126B5D0F,PinName="RoomDepth",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_1 8C64C454858F583FCCC4B3B2716C1150,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=BDA5BEB17B4BEACEE45D0EF4D31B0EC1,PinName="RoomUVScale",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_4 DAC3785DD8D5F1AB0BC099CF6E22CDC4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=06FD3FDD11F8203CBD59994EE6ECBF29,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_11 0D055F1D7E2A6FF0570D8F9B8E39BAF0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=50A99530AA3E0354F36165C82071E7FA,PinName="WallFace",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_14 13825B076144C68F66EDDB5B958527E8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=22D92D9224B08AE13F2FA0CD1A07A928,PinName="CellID",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_17 7C984CF34AD29DBF930E79D12614271C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_10"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C10"
End Object
Begin Object Name="MaterialExpressionComment_C10"
SizeX=520
SizeY=240
Text="Room UVW → a room cubemap / atlas sampler's UVW"
CommentColor=(R=0.162029,G=0.417885,B=0.063010,A=1.000000)
MaterialExpressionEditorX=-820
MaterialExpressionEditorY=-160
MaterialExpressionGuid=18E89EFBA950B6ADECD12FDD6A153C05
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C10'"
CommentColor=(R=0.162029,G=0.417885,B=0.063010,A=1.000000)
NodePosX=-820
NodePosY=-160
NodeWidth=520
NodeHeight=240
NodeComment="Room UVW → a room cubemap / atlas sampler's UVW"
NodeGuid=0D0697A08CAAC5A1E9133A29481141E8
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_11"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_11"
End Object
Begin Object Name="MaterialExpressionMultiply_11"
A=(Expression="/Script/Engine.MaterialExpressionCustom'MaterialGraphNode_Custom_9.MaterialExpressionCustom_9'")
B=(Expression="/Script/Engine.MaterialExpressionConstant'MaterialGraphNode_12.MaterialExpressionConstant_12'")
MaterialExpressionEditorX=-700
MaterialExpressionEditorY=-60
MaterialExpressionGuid=74D2823C99883085CCFAD26C613EF03F
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_11'"
NodePosX=-700
NodePosY=-60
NodeGuid=3B822D2ACC7494A53EEEFC943263EFB1
CustomProperties Pin (PinId=0D055F1D7E2A6FF0570D8F9B8E39BAF0,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_9 06FD3FDD11F8203CBD59994EE6ECBF29,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=C177BEB9DB219FE603439A9852FA8C65,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_12 629C756CF0CF953FA60DF9075886DEEF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=79B4E36C58150F4774321E747830C747,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_12"
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name="MaterialExpressionConstant_12"
End Object
Begin Object Name="MaterialExpressionConstant_12"
R=1
MaterialExpressionEditorX=-700
MaterialExpressionEditorY=80
MaterialExpressionGuid=48397D7713D758E0FD8C8BB6CA1E9867
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionConstant'MaterialExpressionConstant_12'"
NodePosX=-700
NodePosY=80
NodeGuid=545F6CDD230484FD22923FCC22603466
CustomProperties Pin (PinId=629C756CF0CF953FA60DF9075886DEEF,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_11 C177BEB9DB219FE603439A9852FA8C65,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_13"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C13"
End Object
Begin Object Name="MaterialExpressionComment_C13"
SizeX=520
SizeY=220
Text="Wall Face → per-face tint / texture select (0 back 1 L 2 R 3 floor 4 ceil)"
CommentColor=(R=0.162029,G=0.417885,B=0.063010,A=1.000000)
MaterialExpressionEditorX=-820
MaterialExpressionEditorY=160
MaterialExpressionGuid=486CC8518679AE30D8AA34E4D7040D4F
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C13'"
CommentColor=(R=0.162029,G=0.417885,B=0.063010,A=1.000000)
NodePosX=-820
NodePosY=160
NodeWidth=520
NodeHeight=220
NodeComment="Wall Face → per-face tint / texture select (0 back 1 L 2 R 3 floor 4 ceil)"
NodeGuid=80F4C38A6EB74EC80DF8B6DF19695505
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_14"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_14"
End Object
Begin Object Name="MaterialExpressionMultiply_14"
A=(Expression="/Script/Engine.MaterialExpressionCustom'MaterialGraphNode_Custom_9.MaterialExpressionCustom_9'",OutputIndex=1)
B=(Expression="/Script/Engine.MaterialExpressionConstant'MaterialGraphNode_15.MaterialExpressionConstant_15'")
MaterialExpressionEditorX=-700
MaterialExpressionEditorY=260
MaterialExpressionGuid=FDC9816F570495907AB8B67FAF99FB4D
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_14'"
NodePosX=-700
NodePosY=260
NodeGuid=548B139C736B98C72968A27A80AA30B3
CustomProperties Pin (PinId=13825B076144C68F66EDDB5B958527E8,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_9 50A99530AA3E0354F36165C82071E7FA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=35C9F24291554685E83BC97BCBB1E000,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_15 47A4B5B6395A0C19B873E7CF513F505E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=F72A7DFD903B75B3B6DD5AE2B86C6294,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_15"
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name="MaterialExpressionConstant_15"
End Object
Begin Object Name="MaterialExpressionConstant_15"
R=1
MaterialExpressionEditorX=-700
MaterialExpressionEditorY=400
MaterialExpressionGuid=63FE01DECE861CD73C92013D4A6550E3
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionConstant'MaterialExpressionConstant_15'"
NodePosX=-700
NodePosY=400
NodeGuid=FF404C47D99D35B0CACCF6DD3325EA2F
CustomProperties Pin (PinId=47A4B5B6395A0C19B873E7CF513F505E,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_14 35C9F24291554685E83BC97BCBB1E000,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_16"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C16"
End Object
Begin Object Name="MaterialExpressionComment_C16"
SizeX=520
SizeY=220
Text="Cell ID → hash for per-window variation (Float2 grid coord)"
CommentColor=(R=0.162029,G=0.417885,B=0.063010,A=1.000000)
MaterialExpressionEditorX=-820
MaterialExpressionEditorY=460
MaterialExpressionGuid=098ECCEFD78EAB0B96A3A3C933216717
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C16'"
CommentColor=(R=0.162029,G=0.417885,B=0.063010,A=1.000000)
NodePosX=-820
NodePosY=460
NodeWidth=520
NodeHeight=220
NodeComment="Cell ID → hash for per-window variation (Float2 grid coord)"
NodeGuid=17A9F0BB25D0588EA6333F65407AFC3B
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_17"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_17"
End Object
Begin Object Name="MaterialExpressionMultiply_17"
A=(Expression="/Script/Engine.MaterialExpressionCustom'MaterialGraphNode_Custom_9.MaterialExpressionCustom_9'",OutputIndex=2)
B=(Expression="/Script/Engine.MaterialExpressionConstant'MaterialGraphNode_18.MaterialExpressionConstant_18'")
MaterialExpressionEditorX=-700
MaterialExpressionEditorY=560
MaterialExpressionGuid=8D0EECB87BAEB262FCCE2E38E9708EC2
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_17'"
NodePosX=-700
NodePosY=560
NodeGuid=78FAEE59D57CFFA76AE58F8E2F8B3D24
CustomProperties Pin (PinId=7C984CF34AD29DBF930E79D12614271C,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_9 22D92D9224B08AE13F2FA0CD1A07A928,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=1FA38B825EE543783FE6785992B3A9E8,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_18 01DB1D7C11ECDDB1C705BBFC94FF5382,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=2209E51733CA7CE279F69DA8B5ABBD67,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_18"
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name="MaterialExpressionConstant_18"
End Object
Begin Object Name="MaterialExpressionConstant_18"
R=1
MaterialExpressionEditorX=-700
MaterialExpressionEditorY=700
MaterialExpressionGuid=2DE0A6B0A8A71D90EA99D5982A5F5AB8
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_InteriorWindowMapping'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionConstant'MaterialExpressionConstant_18'"
NodePosX=-700
NodePosY=700
NodeGuid=EA5A7F0803A6C7736C02BCE676247269
CustomProperties Pin (PinId=01DB1D7C11ECDDB1C705BBFC94FF5382,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_17 1FA38B825EE543783FE6785992B3A9E8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Nodes: Comment (x4), ScalarParameter (x4), Constant (x3), Multiply (x3), AppendVector, CameraVectorWS, Custom, Material, TextureCoordinate, Transform
More like this
CC0 1.0: Public Domain
Public domain: use it however you like, no credit required.
Zero dependencies
Pastes and works in any UE 5.3+ project. No textures, no material functions, no MPCs.
Details
- Last update
- 2 hours ago
- Published
- 2 hours ago
- Nodes
- 19




0 comments
Sign in to join the discussion.
No comments yet. Be the first.