├── .gitignore ├── LICENSE ├── README.md └── TiledTexturesExample ├── Config ├── DefaultEditor.ini ├── DefaultEngine.ini └── DefaultGame.ini ├── Content ├── Assets │ ├── Materials │ │ ├── MaterialFunctions │ │ │ ├── DitherTemporalDoubleSample.uasset │ │ │ ├── TemporalWeights.uasset │ │ │ ├── TileFunction.uasset │ │ │ ├── TiledHeightBlend.uasset │ │ │ ├── TiledTemporalMasks.uasset │ │ │ ├── rotate2D.uasset │ │ │ ├── scaleAndRotateTextureCoordinates.uasset │ │ │ ├── tripleTextureSample.uasset │ │ │ └── twoChannelNormal.uasset │ │ ├── test.uasset │ │ ├── tilingExample.uasset │ │ ├── tilingExample_Inst.uasset │ │ ├── tilingExample_Inst1.uasset │ │ ├── tilingTemporalExample.uasset │ │ ├── tilingTemporalExample_Inst.uasset │ │ └── tilingTemporalExample_Inst1.uasset │ └── Textures │ │ ├── noise │ │ └── randomNoise_rgba.uasset │ │ └── world │ │ └── ground │ │ ├── dirt_00_albedoRoughness.uasset │ │ └── dirt_00_normalAOHeight.uasset └── Maps │ ├── TiledExampleMap.umap │ └── TiledExampleMap_BuiltData.uasset └── TiledTexturesExample.uproject /.gitignore: -------------------------------------------------------------------------------- 1 | # Visual Studio 2015 user specific files 2 | .vs/ 3 | 4 | # Visual Studio 2015 database file 5 | *.VC.db 6 | 7 | # Compiled Object files 8 | *.slo 9 | *.lo 10 | *.o 11 | *.obj 12 | 13 | # Precompiled Headers 14 | *.gch 15 | *.pch 16 | 17 | # Compiled Dynamic libraries 18 | *.so 19 | *.dylib 20 | *.dll 21 | 22 | # Fortran module files 23 | *.mod 24 | 25 | # Compiled Static libraries 26 | *.lai 27 | *.la 28 | *.a 29 | *.lib 30 | 31 | # Executables 32 | *.exe 33 | *.out 34 | *.app 35 | *.ipa 36 | 37 | # These project files can be generated by the engine 38 | *.xcodeproj 39 | *.xcworkspace 40 | *.sln 41 | *.suo 42 | *.opensdf 43 | *.sdf 44 | *.VC.db 45 | *.VC.opendb 46 | 47 | # Precompiled Assets 48 | SourceArt/**/*.png 49 | SourceArt/**/*.tga 50 | 51 | # Binary Files 52 | Binaries/* 53 | Plugins/*/Binaries/* 54 | 55 | # Builds 56 | Build/* 57 | 58 | # Whitelist PakBlacklist-.txt files 59 | !Build/*/ 60 | Build/*/** 61 | !Build/*/PakBlacklist*.txt 62 | 63 | # Don't ignore icon files in Build 64 | !Build/**/*.ico 65 | 66 | # Built data for maps 67 | *_BuiltData.uasset 68 | 69 | # Configuration files generated by the Editor 70 | Saved/* 71 | 72 | # Compiled source files for the engine to use 73 | Intermediate/* 74 | Plugins/*/Intermediate/* 75 | 76 | # Cache files for the editor to use 77 | DerivedDataCache/* 78 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 WitchDev 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Randomized Tiling Materials 2 | This is a small example of my tiling materials and how they can be used. 3 | Compatible with Unreal Engine Version 4.23.1. 4 | 5 | Height based blending: 6 | There are two material functions. One is responsible for creating the coordinate offsets, the other is used for sampling textures with the generated offsets and blending them. 7 | 8 | The functions are set up for two RGBA Textures with Color(RGB) and Roughness(A) packed in one and Normal(RG), Ambient Occlusion(B) and Height(A) in the other. The "TiledHeightBlend" function can be modified for different Texture set ups. 9 | 10 | Temporal blending: 11 | There is now a second variation of this material with TAA blending which is much easier to set up, please take a look at the TilingTemporalExample material. Expanding this with more texture sampler nodes should be very straightforward and will only require a single texture fetch per sampler. -------------------------------------------------------------------------------- /TiledTexturesExample/Config/DefaultEditor.ini: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /TiledTexturesExample/Config/DefaultEngine.ini: -------------------------------------------------------------------------------- 1 | [URL] 2 | [/Script/Engine.RendererSettings] 3 | r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True 4 | r.TessellationAdaptivePixelsPerTriangle=48.000000 5 | 6 | [/Script/HardwareTargeting.HardwareTargetingSettings] 7 | TargetedHardwareClass=Desktop 8 | AppliedTargetedHardwareClass=Desktop 9 | DefaultGraphicsPerformance=Maximum 10 | AppliedDefaultGraphicsPerformance=Maximum 11 | 12 | [/Script/EngineSettings.GameMapsSettings] 13 | EditorStartupMap=/Game/Maps/TiledExampleMap.TiledExampleMap 14 | 15 | [/Script/Engine.PhysicsSettings] 16 | DefaultGravityZ=-980.000000 17 | DefaultTerminalVelocity=4000.000000 18 | DefaultFluidFriction=0.300000 19 | SimulateScratchMemorySize=262144 20 | RagdollAggregateThreshold=4 21 | TriangleMeshTriangleMinAreaThreshold=5.000000 22 | bEnableShapeSharing=False 23 | bEnablePCM=True 24 | bEnableStabilization=False 25 | bWarnMissingLocks=True 26 | bEnable2DPhysics=False 27 | PhysicErrorCorrection=(PingExtrapolation=0.100000,PingLimit=100.000000,ErrorPerLinearDifference=1.000000,ErrorPerAngularDifference=1.000000,MaxRestoredStateError=1.000000,MaxLinearHardSnapDistance=400.000000,PositionLerp=0.000000,AngleLerp=0.400000,LinearVelocityCoefficient=100.000000,AngularVelocityCoefficient=10.000000,ErrorAccumulationSeconds=0.500000,ErrorAccumulationDistanceSq=15.000000,ErrorAccumulationSimilarity=100.000000) 28 | LockedAxis=Invalid 29 | DefaultDegreesOfFreedom=Full3D 30 | BounceThresholdVelocity=200.000000 31 | FrictionCombineMode=Average 32 | RestitutionCombineMode=Average 33 | MaxAngularVelocity=3600.000000 34 | MaxDepenetrationVelocity=0.000000 35 | ContactOffsetMultiplier=0.020000 36 | MinContactOffset=2.000000 37 | MaxContactOffset=8.000000 38 | bSimulateSkeletalMeshOnDedicatedServer=True 39 | DefaultShapeComplexity=CTF_UseSimpleAndComplex 40 | bDefaultHasComplexCollision=True 41 | bSuppressFaceRemapTable=False 42 | bSupportUVFromHitResults=False 43 | bDisableActiveActors=False 44 | bDisableKinematicStaticPairs=False 45 | bDisableKinematicKinematicPairs=False 46 | bDisableCCD=False 47 | bEnableEnhancedDeterminism=False 48 | AnimPhysicsMinDeltaTime=0.000000 49 | bSimulateAnimPhysicsAfterReset=False 50 | MaxPhysicsDeltaTime=0.033333 51 | bSubstepping=False 52 | bSubsteppingAsync=False 53 | MaxSubstepDeltaTime=0.016667 54 | MaxSubsteps=6 55 | SyncSceneSmoothingFactor=0.000000 56 | InitialAverageFrameRate=0.016667 57 | PhysXTreeRebuildRate=10 58 | DefaultBroadphaseSettings=(bUseMBPOnClient=False,bUseMBPOnServer=False,bUseMBPOuterBounds=False,MBPBounds=(Min=(X=0.000000,Y=0.000000,Z=0.000000),Max=(X=0.000000,Y=0.000000,Z=0.000000),IsValid=0),MBPOuterBounds=(Min=(X=0.000000,Y=0.000000,Z=0.000000),Max=(X=0.000000,Y=0.000000,Z=0.000000),IsValid=0),MBPNumSubdivs=2) 59 | ChaosSettings=(DefaultThreadingModel=DedicatedThread,DedicatedThreadTickMode=VariableCappedWithTarget,DedicatedThreadBufferMode=Double) 60 | 61 | 62 | -------------------------------------------------------------------------------- /TiledTexturesExample/Config/DefaultGame.ini: -------------------------------------------------------------------------------- 1 | [/Script/EngineSettings.GeneralProjectSettings] 2 | ProjectID=0548E8FB46BBFA46FBF85D9E2A0FFDA0 3 | -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/DitherTemporalDoubleSample.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/DitherTemporalDoubleSample.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/TemporalWeights.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/TemporalWeights.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/TileFunction.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/TileFunction.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/TiledHeightBlend.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/TiledHeightBlend.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/TiledTemporalMasks.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/TiledTemporalMasks.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/rotate2D.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/rotate2D.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/scaleAndRotateTextureCoordinates.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/scaleAndRotateTextureCoordinates.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/tripleTextureSample.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/tripleTextureSample.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/twoChannelNormal.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/MaterialFunctions/twoChannelNormal.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/test.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/test.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/tilingExample.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/tilingExample.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/tilingExample_Inst.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/tilingExample_Inst.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/tilingExample_Inst1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/tilingExample_Inst1.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/tilingTemporalExample.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/tilingTemporalExample.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/tilingTemporalExample_Inst.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/tilingTemporalExample_Inst.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Materials/tilingTemporalExample_Inst1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Materials/tilingTemporalExample_Inst1.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Textures/noise/randomNoise_rgba.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Textures/noise/randomNoise_rgba.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Textures/world/ground/dirt_00_albedoRoughness.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Textures/world/ground/dirt_00_albedoRoughness.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Assets/Textures/world/ground/dirt_00_normalAOHeight.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Assets/Textures/world/ground/dirt_00_normalAOHeight.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Maps/TiledExampleMap.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Maps/TiledExampleMap.umap -------------------------------------------------------------------------------- /TiledTexturesExample/Content/Maps/TiledExampleMap_BuiltData.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WitchDev/RandomizedTilingMaterials/9cf57be60873e53c19d572c8631bcf4b54cf4d0d/TiledTexturesExample/Content/Maps/TiledExampleMap_BuiltData.uasset -------------------------------------------------------------------------------- /TiledTexturesExample/TiledTexturesExample.uproject: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "EngineAssociation": "{4ABF733A-45C9-82BD-2D64-379A4AF51C3A}", 4 | "Category": "", 5 | "Description": "" 6 | } --------------------------------------------------------------------------------