Files
UE5-cyberHuman/Content/MetaHumans/Common/Face/MaterialFunctions/Eye/MF_ParallaxOcclusionMappingEye.uasset

168 lines
71 KiB
Plaintext
Raw Normal View History

2025-04-07 18:31:41 -07:00
<EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD><EFBFBD>`
<00><00><><EFBFBD><12>Ju<4A> <0C>|<7C>)<29>:8-<00>u<EFBFBD>)'F<><46>v<EFBFBD><10><><EFBFBD>,#<00><><EFBFBD>0<EFBFBD>B<EFBFBD><42>Y<EFBFBD><59><EFBFBD>j<EFBFBD><6A><EFBFBD><<3C>^7<>H<EFBFBD><06><><00>~q*&<00><>}i<>AO<41><4F>QJ<51>(<28><><EFBFBD>h?t<>πD<CF80>C<EFBFBD><14><>s %<00>h<EFBFBD><68><EFBFBD>B<EFBFBD><42> <0B>1<EFBFBD>A<EFBFBD>F.(wSR/Game/MetaHumans/Common/Face/MaterialFunctions/Eye/MF_ParallaxOcclusionMappingEye<00>'<00>!345F19995AC59AF675680911E80C7B8A<00>p<00>.<00><00>HHPHP]:Z<13><><EFBFBD>F<EFBFBD><46><EFBFBD>x<EFBFBD><78><EFBFBD>/<2F>^<5E>^ӲF<D3B2>\+<2B>GNrp<00>3^<5E>++MetaHuman+Release-MHC-2.0.0<00><><EFBFBD>++MetaHuman+Release-MHC-2.0.0DI<44><49>LP<00><00><><EFBFBD><EFBFBD>wS<00><00>-----------------------------!<21><><EFBFBD>------------------------------ө<><D3A9>A<00>mD<6D>ArrayPropertyI<><49>iBK<>O bCollapsedYn<59>bCommentBubbleVisibleQ$<<bExposeToLibrary<00><>3bLastPreviewedN@6z BoolProperty<04><>bUsePreviewValueAsDefaultI<><<3C> ByteProperty<00>N-<2D>Center Location<00><>l<EFBFBD> CMOT_Float4<00><>HCode<00>vTSCombinedInputTypes<00><>F<EFBFBD>CombinedOutputTypes=<0,ConstB<00>nu> CustomInputM<>^<5E>Default<00><>o> DefaultValue<10><>3&DependentFunctionExpressionCandidates<00>*s-Desc<00><><EFBFBD>$ Description*<2A> ECustomMaterialOutputTypehw)EditorCommentsS<>j<EFBFBD>EditorOnlyData<00><>ۂEFunctionInputType,f<>EMaterialVectorCoordTransformVh!<21>$EMaterialVectorCoordTransformSource<00><><1D>ExpressionCollection6<>7ExpressionGUID<4E>ExpressionInput <20><>ExpressionInputId<18><>3ExpressionOutput+]*sExpressionOutputIds<>#R Expressionsx<1B><>FloatProperty<00><><EFBFBD><EFBFBD> Functionr<><72><EFBFBD>FunctionExpressionInput<00><>FunctionExpressionOutput<00>o2<FunctionInput_Scalar<00>:?<3F>FunctionInput_StaticBool<00>$<24><>FunctionInput_Texture2D FunctionInput_Vector2wW<77>FunctionInput_Vector4<00>:<3A><>FunctionInputs<13>s9FunctionOutputs.<2E>r<EFBFBD>Gr <20><>GuidCP<43>h Height Ratio<00>1<EFBFBD><31>Heightmap ChannelW<><03>Heightmap Textureo<>HeightMapChannely<>PIIdt<><74>fInDDX<06><><EFBFBD>InDDY<00><><EFBFBD><EFBFBD>Input|<7C><><EFBFBD>
InputNameZ<>7<EFBFBD>Inputs<00><><EFBFBD>
InputType<00><>}<7D> IntProperty<00><>6Jk<16><1E>LibraryCategoriesText<00><><EFBFBD>"Manual Texture Size<00>}<7D>Mask<00><><EFBFBD>9MaskAg <0C><>MaskB<00>*^MaskG<00>AM<41>MaskR<00><><EFBFBD> "Material Complexity - Steps Debug<00>/<2F>MaterialExpressionCollection<00><>­MaterialExpressionEditorX<00><><EFBFBD><EFBFBD>MaterialExpressionEditorYMaterialExpressionGuid<00><00>MaterialFunction<10>޼ Max Expensive Steps Debug ColorH<><48>
Max Steps4p<34>v MaxStepsp<><70>MHAssetVersion`v<>S
Min Steps[<5B>"<22> NameProperty<00><>JNone<00><03> ObjectProperty<41> Offset Only<00><>v<EFBFBD>Output/<2F>.f OutputName<00><>5`Outputs<03><1C> OutputType <20>[PackageLocalizationNamespacety<74> Parallax UVs{<7B>Y&ParameterNameL$<24> Pixel Depth OffsetO9ѡPreview<00><><18> PreviewValue#|<7C>iRi<>5Reference Plane<00>lf#Render Shadows (Occlusion Mapping)<00>S<EFBFBD><53>Result<00>s<EFBFBD><73>ShadowBf|<7C>Shadow Penumbra<00>[<5B> Shadow StepsS j ShadowSteps b<>~SizeXȑ*<2A>SizeY<>O<EFBFBD> SortPriority<00><><EFBFBD>!Specify Manual Texture Size<00>@&[StateIdd<><64><EFBFBD>Steps<00><><10> stepsize<00>]<5D> StrProperty;<3B>r$StructProperty0<00><>TangenSpaceForwardVectordf<11>TangentLightVector<00><>A<EFBFBD>Tex<00>><3E><>
TexHeight<00><><EFBFBD><EFBFBD>Text<00>9@i TextProperty<00>:t<>TextureWі<57>ThumbnailInfo<00>L3<4C>TRANSFORM_Tangent<00>U<EFBFBD><55>TRANSFORMSOURCE_World<00><>,<2C>TransformSourceTypeyOX<4F>TransformType/e!UInt32Property<00>,8JUV<00><><EFBFBD>rUVDist<00><>joUVsk<>@
V2 Length<00><>ry
V3 Length<00>u<EFBFBD>|Value<00>01<30> Vector 2<00><>z<EFBFBD> Vector 3-<2D><1F>Vector to TransformA<>B<EFBFBD> Vector4ff;^gWorld Position<00><><EFBFBD><EFBFBD> Z Vector<00>~%<25>@/Engine/EngineVolumetrics/Fogsheet/Materials/T_EV_BlankWhite_01<00>-$<24>E/Engine/Functions/Engine_MaterialFunctions02/Math/TransformToZVectorh<><68>K/Engine/Functions/Engine_MaterialFunctions02/Utility/CameraDirectionVector<00>J<01>B/Engine/Functions/Engine_MaterialFunctions02/Utility/VectorLength#G<><47>R/Game/MetaHumans/Common/Face/MaterialFunctions/Eye/MF_ParallaxOcclusionMappingEyeRf/Script/CoreUObject<00>I->/Script/Engine<00>@<40>I/Script/UnrealEd,<04>CameraDirectionVector<13>v<EFBFBD>Classtwx<77>MaterialExpressionAbs}<7D><>eMaterialExpressionAddUhyMaterialExpressionAppendVector{~<7E><>!MaterialExpressionCameraVectorWS<00>2<EFBFBD>,MaterialExpressionComment<00>֘| MaterialExpressionComponentMask<00>t<EFBFBD><74>MaterialExpressionConstant<00><><11>MaterialExpressionCustomMaterialExpressionDDX<00>l&QMaterialExpressionDDYsqC6MaterialExpressionDistance,<2C>p<EFBFBD>MaterialExpressionDivide<00><><EFBFBD>MaterialExpressionDotProduct<1E>2#%MaterialExpressionFeatureLevelSwitch:/<2F><>MaterialExpressionFloor<00>E[<5B> MaterialExpressionFunctionInputS"R!MaterialExpressionFunctionOutputڍ^$MaterialExpressionLinearInterpolate<00>#<23>n'MaterialExpressionMaterialFunctionCallm1MMaterialExpressionMax<00>?<3F><>MaterialExpressionMultiply<00>4MaterialExpressionOneMinus<00>MaterialExpressionQualitySwitch<00><><EFBFBD>"MaterialExpressionScalarParameteryJQUMaterialExpressionStaticBool<00><1F><>MaterialExpressionStaticSwitchED<45>MaterialExpressionSubtract6<><36>i$MaterialExpressionTextureCoordinater<><72><EFBFBD> MaterialExpressionTextureObject{d56MaterialExpressionTransformzŬ^ MaterialExpressionWorldPosition<00>ĭWMaterialFunctionEditorOnlyData<00><><EFBFBD> MetaData<>MF_ParallaxOcclusionMappingEye<00><><EFBFBD>)-MF_ParallaxOcclusionMappingEyeEditorOnlyDatas<>@PackagesG<73>PackageMetaData<00>,<2C>e SceneThumbnailInfoWithPrimitive<00>D<1D>T_EV_BlankWhite_01h<><68>i
Texture2D<00><>@<40>TransformToZVector/<2F>w<EFBFBD> VectorLength-|dMaterialExpressionMiscMisc<00>/Game/MetaHumans/Common/Face/MaterialFunctions/Eye/MF_ParallaxOcclusionMappingEye.MF_ParallaxOcclusionMappingEye.LibraryCategoriesText(0).LibraryCategoriesText
Texturing!7F79C3D24606B003AC97DFB5AB36DECB<00>/Game/MetaHumans/Common/Face/MaterialFunctions/Eye/MF_ParallaxOcclusionMappingEye.MF_ParallaxOcclusionMappingEye.LibraryCategoriesText(1).LibraryCategoriesText<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD>KR<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00>K<00><><EFBFBD><EFBFBD><EFBFBD>R<00>K<00><><EFBFBD><EFBFBD><EFBFBD>R<00>K<00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00>R<00><00><00>R<00><00><00>R<00><00><00>R<00><00><00>R<00><00><00>R<00><00><00>R<00><00><00><><EFBFBD><EFBFBD><EFBFBD>R<00><><EFBFBD><EFBFBD>m<00><00>wS<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>pT<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>iU<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>NbV<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>N<00>W<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>N<00>X<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> <00>LZ<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00>Z<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>
<00><00>[<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> 8\<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>E]<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>`^<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>-w_<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>`<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>5<00>a<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>9-<00>b<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> -<00>c<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>
$e<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>7f<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00>f<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>g<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>"<00>#h<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>%<00><00>h<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>&<00><00>i<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>'<00>,j<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>(<00><00>j<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00>k<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00> <00>s<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>'&<26><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>M<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>F<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>?<3F><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>8<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>1<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>*<2A><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>
N#<23><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>Nq<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>1<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>N<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>k><3E><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>(N<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>2<00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>6N<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>
k><3E><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>N<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>ߜ<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> <00>מ<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>П<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> Hɠ<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> +<11><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><<3C><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>sߦ<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>R<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><1F><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>`<10><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>p<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> =<3D><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>rP<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>3»<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> <00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>
<00>޾<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> <00>P<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>P<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>*<2A><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>
<00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>Nh<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>A<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><1C><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>[<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>N<08><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>NV<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>N<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><08><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>N<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>"N<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>N)<29><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><Nw<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> N<00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> N<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>Ni<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> N<00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00># <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>(
<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00>
<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>p <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>NY<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> <00><00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>K<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00>K&<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00>q<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00><00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00> $<00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> ?<00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>Y<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>m<00> u<00><><EFBFBD><EFBFBD>m!m-mm4Xm QmmmmmmmememememJmJmmmmmmmmm B3*T #=m B3*T #5><=m2ammkmmmkmmm$PmMKmNLm$)mPmImQ5mRmOm_Um`m]m^mYmImhmmmmmbmmcmmmmmmmim0mmgm.m/m1m@7m<00><><EFBFBD><EFBFBD>jAm<00><><EFBFBD><EFBFBD>m<00><><EFBFBD><EFBFBD>"m<00><><EFBFBD><EFBFBD>m<00><><EFBFBD><EFBFBD>m<00><><EFBFBD><EFBFBD>m&'m[5mm5,mS*m4m$:m%mSZm3+m\mm?mdmfmUmmmmmV(9m;m;mlWmm<00><><EFBFBD><EFBFBD>m mmmKLMNOJnplFhI R,S3 #7@5Bi4!"k&'PKLMN$(CG69:d./0U_`]8;><bc-O)*e fH1^DY2+a[Q=TEV?XZ\%gWlJAj
gSMF_ParallaxOcclusionMappingEye /Script/Engine.MaterialFunction Description_Parallax Occlusion Mapping uses Ray Tracing to find the correct offsets at each point. Keep in mind that the material cost will not be easily trackable using the instruction count or shader complexity view due to the nature of the loops involved. Use the debug emissive colors to get an idea of expense based on your specified Min and Max Step sizes.bExposeToLibraryTrueLibraryCategoriesLibraryCategoriesTextq(NSLOCTEXT("MaterialExpression", "Misc", "Misc"),NSLOCTEXT("", "7F79C3D24606B003AC97DFB5AB36DECB", "Texturing"))PreviewBlendMode BLEND_OpaqueMaterialFunctionUsageDefaultCombinedInputTypes287CombinedOutputTypes15.<00><><EFBFBD><EFBFBD><EFBFBD>/9o$ RH= <20><><EFBFBD>I=<00>Jo1<00><19>M<>"L0ċZ}&SmR9o$ !RH= <20><><EFBFBD>I=Jo1Y<>P:<3A>/<2F>C<EFBFBD><43>RF<52>"k"&SmR9o$ -RH=<00>I=<00>Jo1<53>R'C<>?<3F><>n <0A>&SmRo$ Ro$ RH=<10><><EFBFBD>I=Jo1<00><>UO-H @<40><13> <0A><>><3E>&SmRo$ 4Ro$ XRH=<10><><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1GC<47><43>?<3F><>F<EFBFBD>Y<16>0H<30>&SmRo$ Ro$ QRH=I=<00>Jo1e<><65>&<26><>I<7F>h隫<F<>&SmRH=I=PJo1nudGKQQO<51><4F>x<EFBFBD><78>"n&SmRH=<00><><EFBFBD><EFBFBD>I=NJo1UQCn<43>vCC<43>zx<08>3<EFBFBD>&SmRH=<00><><EFBFBD><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1<00>d%<25><><EFBFBD>ZN<5A>!e_S<5F>U<EFBFBD>&SmRg=`h=@tnUV to World RatioH=`<60><><EFBFBD>I=<00>Jo1<00>)R<> x<>E<EFBFBD> <20><>ʼ<EFBFBD><CABC>&SmRg=<00>h=tn$ PDO Texture size uses Pri 10-19H=^I=~Jo1C3<43><33>]<5D><>D<EFBFBD>+<2B><>y<EFBFBD><79>&SmRg=<00>h=tn Shadowing options Pri 20-29H=`I=<00>Jo1C3<43><33>]<5D><>D<EFBFBD>+<2B><>y<EFBFBD><79>&SmR9o$ eR_ 0 H=<00><><EFBFBD><EFBFBD>I=
float oldray=1;
float2 offset=0;
float oldtex=1;
float texatray;
float yintersect;
int i=0;
while (i<MaxSteps+2)
{
texatray=dot(HeightMapChannel, Tex.SampleGrad(TexSampler,UV+offset,InDDX, InDDY));
if (rayheight < texatray)
{
float xintersect = (oldray-oldtex)+(texatray-rayheight);
xintersect=(texatray-rayheight)/xintersect;
yintersect=(oldray*(xintersect))+(rayheight*(1-xintersect));
offset-=(xintersect*UVDist);
break;
}
oldray=rayheight;
rayheight-=stepsize;
offset+=UVDist;
oldtex=texatray;
i++;
}
float4 output;
output.xy=offset;
output.z=yintersect; output.w=1;
return output; X  nParallax Only Mapping;%o;o<00>:Qr9o$ BRR:Q}9o$ RR:QN9o$ 3RR:Qm9o$ *RR:Q~9o$ TRR:Q79o$ RR:Q89o$ #RR:Q59o$ =RRH=`<60><><EFBFBD>I=P<><50><EFBFBD>Jo1<00><11>ܩkL<>L<EFBFBD>B<EFBFBD><42>0A&SmRn40float rayheight=1;
float oldray=1;
float2 offset=0;
float oldtex=1;
float texatray;
float yintersect;
int i=0;
while(i<MaxSteps+2)
{
float texatray=dot(HeightMapChannel, Tex.SampleGrad(TexSampler,UV+offset,InDDX, InDDY));
if (rayheight < texatray)
{
float xintersect = (oldray-oldtex)+(texatray-rayheight);
xintersect=(texatray-rayheight)/xintersect;
yintersect=(oldray*(xintersect))+(rayheight*(1-xintersect));
offset-=(xintersect*UVDist);
break;
}
oldray=rayheight;
rayheight-=stepsize;
offset+=UVDist;
oldtex=texatray;
i++;
}
float2 saveoffset=offset;
float shadow=1;
float dist=0;
texatray=dot(HeightMapChannel, Tex.SampleGrad(TexSampler,UV+offset,InDDX, InDDY))+0.01;
float finalrayz=yintersect;
rayheight=texatray;
float lightstepsize=1/ShadowSteps;
int j=0;
while(j<ShadowSteps)
{
if(rayheight < texatray)
{
shadow=0;
break;
}
else
{
shadow=min(shadow,(rayheight-texatray)*k/dist);
}
oldray=rayheight;
rayheight+=TangentLightVector.z*lightstepsize;
offset+=TangentLightVector.xy*lightstepsize;
oldtex=texatray;
texatray=dot(HeightMapChannel, Tex.SampleGrad(TexSampler,UV+offset,InDDX, InDDY));
dist+=lightstepsize;
j++;
}
shadow = 1;
float4 finalout;
finalout.xy=saveoffset;
finalout.z=finalrayz;
finalout.w=shadow;
return finalout;
X  nParallax Occlusion Mapping;o ;o<00>:Qr9o$ BRR:Q}9o$ RR:QN9o$ 3RR:Qm9o$ *RR:Q~9o$ TRR:Q79o$ RR:Q89o$ #RR:Qs9o$ 5RR:Qq9o$ RR:Qf9o$ >RR:Q>9o$ <RR:Q59o$ =RRH=<00><><EFBFBD>I=<00>Jo1<00><11>ܩkL<>L<EFBFBD>B<EFBFBD><42>0A&SmRn<00><00>float3 colors[10];
colors[0]=float3(0,1,0.127);
colors[1]=float3(0,1,0);
colors[2]=float3(0.046,0.52,0);
colors[3]=float3(0.215,0.215,0);
colors[4]=float3(0.52,0.046,0);
colors[5]=float3(0.7,0,0);
colors[6]=float3(1,0,0);
colors[7]=float3(1,0,0.5);
colors[8]=float3(1,0.9,0.9);
colors[9]=float3(1,1,1);
Steps/=MaxSteps-1;
Steps=saturate(Steps);
float cindex = floor((Steps)*8);
float cphase = frac((Steps)*8);
return lerp(colors[cindex],colors[cindex+1],cphase);nShaderComplexity;1o;o<00>:Ql9o$ 2RR:QN9o$ aRRH=<00>I=<00><><EFBFBD><EFBFBD>Jo1nj<><C78C><14>GM<47><4D><EFBFBD>Q<><15>&SmR<00>o$ RH=@<40><><EFBFBD>I=<00>Jo1rA<72>v&<26>-B<><42>ֿ<0F>)&SmR<00>o$ kRH=<00><><EFBFBD><EFBFBD>I=<00>Jo1<00>9<EFBFBD>g<EFBFBD><18>H<EFBFBD><48>AM<41><4D><EFBFBD><EFBFBD>&SmR<00>o$ RH= <20><><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1<00><>Ƈ=JK<><4B><06>/<<3C>&SmR<00>o$ RH=@<40><><EFBFBD>I=0Jo1<00><>Ma
<EFBFBD>F<EFBFBD><17><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>&SmR<00>o$ kRH=<00><><EFBFBD><EFBFBD>I=Jo1<00><><EFBFBD>iF<69>>M<>EU<45><55>u<EFBFBD>8&SmR<00>o$ RH= <20><><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1<00><13>>b<><62>C<EFBFBD>seS<1E><01>&SmRo$ Ro$ RH=<00>I=<00>Jo1I<>ں<><DABA>B<EFBFBD>=Vě1b&SmRo$ $Ro$ PRH=I=<00>Jo1w<19>Ŵ<EFBFBD><C5B4>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>(<28><>&SmRo$ MRo$ KRI=<00>Jo1(eE2<45>J<><4A>z<1F>X<EFBFBD><58>&SmRo$ NRo$ LRH=I=pJo1<00><>hE<><45>I<EFBFBD><49><EFBFBD><EFBFBD>s<EFBFBD>Q&SmRo$ $Ro$ )R%<00>?H=<00>I=PJo1<12><><EFBFBD>C<EFBFBD><43><19>̿&SmRo$ PRo$ RH=pI=pJo1|<7C>{<7B><><EFBFBD>G<EFBFBD>h<EFBFBD>~<18>|j&SmRo$ IRH=0<><30><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1C<><43>M<EFBFBD>EtG<74>B<EFBFBD><42><EFBFBD>R<>&SmRo$ QRo$ 5RH=<10><><EFBFBD>I=<00>Jo1<00><>Q<51>υE<CF85>o<08><1E><>&SmRo$ RRo$ R%<00>?H=p<><70><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1<00><><EFBFBD><EFBFBD>pe<70>A<EFBFBD><41>=ڌE&SmRo$ ORo$ RH=nI=Jo1<00>-<2D>JV<4A><56>I<EFBFBD><49><EFBFBD>&M<><4D>&SmRo$ _R;o$ UR;o$ UR;
i=H=<00><><EFBFBD><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1<00>H;9ED<>B<><42>
@<40>&Sm R:Q2nkgThis is how 'deep' the heightmap is in relation to its width. Typical values are between 0.05 and 0.1.6o1ҋP<D28B><50><EFBFBD><EFBFBD>E<EFBFBD>4%<25><07>xT< )^o<00><00><><EFBFBD>=<00>?
i=H=<00><><EFBFBD><EFBFBD>I=@<40><><EFBFBD>Jo16b<<3C> JM<4A><4D><EFBFBD><EFBFBD><0E><>W&SmR:Qn$ Blank spacer input does nothing6o1<00>Ҍ<EFBFBD><D28C>D;A<>:<3A><>{0}'< *
i=
H=<00>I=<00>Jo16b<<3C> JM<4A><4D><EFBFBD><EFBFBD><0E><>W&SmR:QPn<00><00>The Min steps is how many steps will be used when looking downward at the material. Typically fewer steps are required when looking down since there is less resulting offset.6o10Z<30>ƹ<EFBFBD><C6B9>L<EFBFBD>iQKu}<7D>< )^o<00>A<00>?
i=H=p<><70><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo16b<<3C> JM<4A><4D><EFBFBD><EFBFBD><0E><>W&SmR:Qn$ Blank spacer input does nothing6o1<00><><EFBFBD>:H+7D<37><44><EFBFBD>ɹ <0A>< *
i=H=<00>I=0Jo16b<<3C> JM<4A><4D><EFBFBD><EFBFBD><0E><>W&SmR]o$ bR:Qjn<00><00>Only used for Pixel Depth Offset. This lets you manually specify the World Size of your texture to skip some expensive instructions that are normally used to determine the UV to World Size.Defaults to False.6o1<00>nt<6E>rx<72>E<EFBFBD><45><EFBFBD>)<29>t< *
i= H=PI=Jo1=Y(<28>;<3B><>G<EFBFBD>& 0,<2C>\<5C>&SmR:Q@n<00><00>Only used for Pixel Depth Offset. This lets you manually specify the World Size of your texture to skip some expensive instructions that are normally used to determine the UV to World Size.6o1<00><>:<3A><16><>L<EFBFBD>@<40>$<24><>yt< )^o<00><00>D<00>?
i= H=`I=<00>Jo1=Y(<28>;<3B><>G<EFBFBD>& 0,<2C>\<5C>&SmR]o$ cR:Qan<00>By default Shadows are disabled for performance. This allows static switching to make the Parallax Only case much cheaper. Occlusion mapping always runs 1 extra step in order to fix an artifact caused by using variable View steps with Fixed shadow steps.6o1Uy+t7<74>N<>5<EFBFBD><35><EFBFBD>z<>< *
i=H=p<><70><EFBFBD>I=<00>Jo1=Y(<28>;<3B><>G<EFBFBD>& 0,<2C>\<5C>&Sm R:Qdn<00><00>Defines how hard or soft the shadows are. The number is not in degrees since that would cost slightly more to convert to degrees.6o1 =<3D> $G3G<33>D<EFBFBD><44><07>m<EFBFBD>< )^o<00><00>?<00>?
i=H=<00><><EFBFBD><EFBFBD>I=<00>Jo1=Y(<28>;<3B><>G<EFBFBD>& 0,<2C>\<5C>&Sm R:Q3nNJWhich Channel your heightmap texture uses. Uses Alpha channel by Default.6o1i<>Śj<C59A>K<7F>NzJ<7A>J.<2E>< -
i=H=<10><><EFBFBD>I=@Jo1=Y(<28>;<3B><>G<EFBFBD>& 0,<2C>\<5C>&SmR:Qen95How many steps to use for the shadow occlusion pass.6o1J<><4A>?<3F><>-K<>r<EFBFBD><72><EFBFBD><EFBFBD>S<EFBFBD>< )^o<00><00>A<00>?
i=H=<00><><EFBFBD><EFBFBD>I= Jo1=Y(<28>;<3B><>G<EFBFBD>& 0,<2C>\<5C>&Sm R:Q`n<00><00>The relative point from which the parallax will be applied. When 1 or higher, all parallax will be downwards. When 0, all parallax will be upwards.6o1^L<><4C><EFBFBD><EFBFBD>[O<><4F><EFBFBD>1 <0A>O< )^o<00><00>?<00>?
i= H= <20><><EFBFBD>I=`Jo1<00><>Ԫ<EFBFBD>9<EFBFBD>D<EFBFBD>q<><71>]Fq&Sm R:QMnsoThe Max Steps is how many steps will be performed at glancing angles where more steps are typically necessary.6o1<19><>8<17>@C<><43>G-<2D><1A>4< )^o<00>B<00>?
i=H=p<><70><EFBFBD>I=<10><><EFBFBD>Jo16b<<3C> JM<4A><4D><EFBFBD><EFBFBD><0E><>W&SmR:Qp6o1<00>p1<70><31><EFBFBD>/G<><47><EFBFBD>i<1A>EPH= <20><><EFBFBD>Jo1g3V<33><56>3<EFBFBD>@<40>|*؏X<D88F><58>&SmR]o$ iR:Q4n1-The Texture Object containing your Heightmap6o1p<><70>j<EFBFBD><6A>G<EFBFBD>N<EFBFBD>W<EFBFBD>?x9< +H=<00><><EFBFBD><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1<00>H;9ED<>B<><42>
@<40>&Sm RVQ\n<00><00>Pixel Depth Offset is used to give accurate intersection with other meshes as well as shadows cast by other meshes. Will cause a problem with Dynamic Shadows since the original depths will shadow the new offset depths.i=o$ 0R 6o13B<33><42>cD<63>D<EFBFBD><44>t<EFBFBD><74>tymH=I=<00>Jo1;x<>/KG<>o<00>:F<>&SmRVQFn<00><00>Pixel Depth Offset is used to give accurate intersection with other meshes as well as shadows cast by other meshes. Will cause a problem with Dynamic Shadows since the original depths will shadow the new offset depths.i=o$ R 6o1<00><>4<EFBFBD><16>xD<78><10><><EFBFBD> ;<3B>H=I=<00><><EFBFBD><EFBFBD>Jo1;x<>/KG<>o<00>:F<>&SmRVQ<00>n<00><00>World Position accounting for offset. Can be used to map virtual worldposition textures by subtracting this Z value as the vertex normal (or 0,0,1 for a floor).i=o$ gR 6o1
N<><4E><EFBFBD>I<><49><EFBFBD><EFBFBD><1F>U<EFBFBD>H=<00>I=<00>Jo1;x<>/KG<>o<00>:F<>&SmRVQZn62This returns the input UVs with Parallax Offset. o$ .R 6o1<00><><EFBFBD>JP5BN<42>v+<06>n|H=<00>I=pJo1;x<>/KG<>o<00>:F<>&SmRVQTn($The offsets only from the parallax.i=o$ /R 6o1{<7B>X<EFBFBD>j:O<><4F>̮,<2C><>H=<00>I=<00>Jo1;x<>/KG<>o<00>:F<>&SmRVQcn<00><00>This is the shadow from the specified light vector. The color is black; to colorize add a color and clamp to 1 before multiplying by your basecolor. This shadow method will be obsolete once pixel depth offset works in the main dynamic shadow pass.i=o$ 1R 6o1m<>E Z<02>I<EFBFBD>@<40>f_<66><5F>|H=<00>I=`Jo1;x<>/KG<>o<00>:F<>&SmRo$ @Ro$ 7RH=`<60><><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1&<26><>!~<7E>\N<>G-<2D>V<EFBFBD><56>&SmRKS<00><><EFBFBD><EFBFBD>.o.o<00>'!o1ŧ5_<35>#F@<40><><EFBFBD>A<EFBFBD>s<EFBFBD>&9o$ j<00>R!o1<00><><19><>++M<><4D> <0C>[n<13>9o$ A<00>R!o1W-<2D>V<EFBFBD>&E<>i<EFBFBD>o<1A>6<EFBFBD>9o$ <00><><EFBFBD><EFBFBD> R/io/o4(#o1<00>S<EFBFBD>R<EFBFBD><18>F<EFBFBD>P<EFBFBD><50>܁<EFBFBD>XUo<00>"VQbA=E=D=C=B=RRH=<00><><EFBFBD><EFBFBD>I=p<><70><EFBFBD>Jo1<11>i9<69><39><EFBFBD>D<EFBFBD>E<EFBFBD>%<25><0E><>&SmW<00>oWo<00>"VQbA=E=D=C=B=RRKS<00><><EFBFBD><EFBFBD>.qo.o<'!o1TA<1F><><EFBFBD>J<EFBFBD><4A><EFBFBD><EFBFBD> <09><><EFBFBD>9o$ <00>R!o1<00><>`<60>|<7C>UB<55><42>9m<39>s<EFBFBD><73>9o$ <00>R/<00>o/oh(#o1
O&SmRo$ fR;o$ RH=<00>I=0Jo1&<26><11><14>bC<62><43>f<EFBFBD>fW
O&SmRo$ R;o$ URH=<00>I=<00>Jo1&<26><11><14>bC<62><43>f<EFBFBD>fW
O&SmRo$ R;o$ RH=<00>I=`Jo1&<26><11><14>bC<62><43>f<EFBFBD>fW
O&SmR%B[QLo1<00>t<EFBFBD><74><EFBFBD>0<EFBFBD>H<EFBFBD><19><><EFBFBD> ЋH= <20><><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1^<5E>D<EFBFBD>pI<><49>%<25><><&SmRH=p<><70><EFBFBD>I=Jo1s'<18><><EFBFBD>:C<>`<60><><EFBFBD><EFBFBD>V&SmRH=<00><><EFBFBD><EFBFBD>I=<00>Jo1s'<18><><EFBFBD>:C<>`<60><><EFBFBD><EFBFBD>V&SmRo$ VRo$ (R<00>o$ 9RH=<00>I=`Jo1zTi<54><69>eD<><44><EFBFBD><EFBFBD>W*}&SmRo$ Ro$ R<00>o$ ;RH=<00><><EFBFBD><EFBFBD>I= Jo1zTi<54><69>eD<><44><EFBFBD><EFBFBD>W*}&SmRo$ Ro$ R<00>o$ ;RH= <20><><EFBFBD>I=<00>Jo1zTi<54><69>eD<><44><EFBFBD><EFBFBD>W*}&SmRo$ lRo$ WRH=I=<00>Jo1<00>2]<5D>=LDN<44>v<1E><><EFBFBD>&SmRH=@<40><><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1$<24><0E>{paD<61>M(<28>h&SmRvS<00><><EFBFBD><EFBFBD>H=0<><30><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1<00><>h <20><><EFBFBD>J<EFBFBD><4A><EFBFBD><EFBFBD>/<2F>R<EFBFBD>&Sm R9o$ Rz y{ xH=<00><><EFBFBD><EFBFBD>I=<00><><EFBFBD><EFBFBD>Jo1a<1E>~P<><50>L<EFBFBD><4C><12>^<5E><>&SmRH=<00><><EFBFBD><EFBFBD>I=<00>Jo1F<>t<EFBFBD>7cH<63><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?&SmRH=PI=<00>Jo1<00><>/g<11>F<><46>f<EFBFBD>M<EFBFBD>mE&SmRnc_Parallax Occlusion Mapping uses Ray Tracing to find the correct offsets at each point. Keep in mind that the material cost will not be easily trackable using the instruction count or shader complexity view due to the nature of the loops involved. Use the debug emissive colors to get an idea of expense based on your specified Min and Max Step sizes. ?ouMaterialExpressionMiscMisc!7F79C3D24606B003AC97DFB5AB36DECB
TexturingSKLMNOJSnko1<00><>Gx<18>2C<32><43><EFBFBD><EFBFBD>D|4<>||wSpRoG$<00>SiFhI R,S3 #7@5Bi4!"k&'PKLMN$(CG69:d./0U_`]8;><bc-O)*e fH1^DY2+a[Q=TEV?XZ\%gWlJAjS
RRRmO1.0Y!345F19995AC59AF675680911E80C7B8AR<00><>*<2A><><EFBFBD><EFBFBD><EFBFBD>.;<3B><>v<>8Qʿ)0<00><>*<2A>