├── Config ├── DefaultEditor.ini ├── DefaultGame.ini ├── DefaultEditorSettings.ini └── DefaultEngine.ini ├── Content ├── Maps │ └── Test.umap ├── Textures │ ├── flowmap.uasset │ ├── perlin_noise.uasset │ └── white_noise.uasset └── Materials │ └── M_Flow2d.uasset ├── RawTextures ├── flowmap.png └── perlin_noise.png ├── ScreenShots ├── material.PNG └── ScreenShot.png ├── UE4_Flow2d.uproject ├── README.md ├── .gitignore └── LICENSE /Config/DefaultEditor.ini: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Content/Maps/Test.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haneda-atsushi/UE4_FlowMap2dSimple/HEAD/Content/Maps/Test.umap -------------------------------------------------------------------------------- /RawTextures/flowmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haneda-atsushi/UE4_FlowMap2dSimple/HEAD/RawTextures/flowmap.png -------------------------------------------------------------------------------- /ScreenShots/material.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haneda-atsushi/UE4_FlowMap2dSimple/HEAD/ScreenShots/material.PNG -------------------------------------------------------------------------------- /Config/DefaultGame.ini: -------------------------------------------------------------------------------- 1 | [/Script/EngineSettings.GeneralProjectSettings] 2 | ProjectID=CA2091664E56E092160FDAB03246D2D5 3 | -------------------------------------------------------------------------------- /ScreenShots/ScreenShot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haneda-atsushi/UE4_FlowMap2dSimple/HEAD/ScreenShots/ScreenShot.png -------------------------------------------------------------------------------- /RawTextures/perlin_noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haneda-atsushi/UE4_FlowMap2dSimple/HEAD/RawTextures/perlin_noise.png -------------------------------------------------------------------------------- /UE4_Flow2d.uproject: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "EngineAssociation": "4.17", 4 | "Category": "", 5 | "Description": "" 6 | } -------------------------------------------------------------------------------- /Content/Textures/flowmap.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haneda-atsushi/UE4_FlowMap2dSimple/HEAD/Content/Textures/flowmap.uasset -------------------------------------------------------------------------------- /Content/Materials/M_Flow2d.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haneda-atsushi/UE4_FlowMap2dSimple/HEAD/Content/Materials/M_Flow2d.uasset -------------------------------------------------------------------------------- /Content/Textures/perlin_noise.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haneda-atsushi/UE4_FlowMap2dSimple/HEAD/Content/Textures/perlin_noise.uasset -------------------------------------------------------------------------------- /Content/Textures/white_noise.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haneda-atsushi/UE4_FlowMap2dSimple/HEAD/Content/Textures/white_noise.uasset -------------------------------------------------------------------------------- /Config/DefaultEditorSettings.ini: -------------------------------------------------------------------------------- 1 | 2 | [/Script/InternationalizationSettings.InternationalizationSettingsModel] 3 | DisplayTimezone=LocalTime 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # UE4_FlowMap2dSimple 2 | Simple example of UE4 flowmap shader based on the video below. 3 | * "Flow Map Material Setup in 13 Minutes" by UnrealSimon 4 | * https://www.youtube.com/watch?v=tEr3NE_XLbc 5 | 6 | 7 | 8 | 9 | ## recommended system requirements 10 | * UE4.17.0 11 | 12 | ## Related documents 13 | * "Water Flow in Portal 2" SIGGRAPH 2010 14 | * http://www.valvesoftware.com/publications/2010/siggraph2010_vlachos_waterflow.pdf 15 | * "Water Technology of Uncharted" GDC 2012 16 | * http://www.gdcvault.com/play/1015309/Water-Technology-of 17 | -------------------------------------------------------------------------------- /.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 | 54 | # Builds 55 | Build/* 56 | 57 | # Whitelist PakBlacklist-.txt files 58 | !Build/*/ 59 | Build/*/** 60 | !Build/*/PakBlacklist*.txt 61 | 62 | # Don't ignore icon files in Build 63 | !Build/**/*.ico 64 | 65 | # Built data for maps 66 | *_BuiltData.uasset 67 | 68 | # Configuration files generated by the Editor 69 | Saved/* 70 | 71 | # Compiled source files for the engine to use 72 | Intermediate/* 73 | 74 | # Cache files for the editor to use 75 | DerivedDataCache/* 76 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /Config/DefaultEngine.ini: -------------------------------------------------------------------------------- 1 | [URL] 2 | 3 | [/Script/HardwareTargeting.HardwareTargetingSettings] 4 | TargetedHardwareClass=Desktop 5 | AppliedTargetedHardwareClass=Desktop 6 | DefaultGraphicsPerformance=Maximum 7 | AppliedDefaultGraphicsPerformance=Maximum 8 | 9 | [/Script/EngineSettings.GameMapsSettings] 10 | EditorStartupMap=/Game/Maps/Test.Test 11 | GameDefaultMap=/Game/Maps/Test.Test 12 | 13 | [/Script/Engine.PhysicsSettings] 14 | DefaultGravityZ=-980.000000 15 | DefaultTerminalVelocity=4000.000000 16 | DefaultFluidFriction=0.300000 17 | SimulateScratchMemorySize=262144 18 | RagdollAggregateThreshold=4 19 | TriangleMeshTriangleMinAreaThreshold=5.000000 20 | bEnableAsyncScene=False 21 | bEnableShapeSharing=False 22 | bEnablePCM=True 23 | bEnableStabilization=False 24 | bWarnMissingLocks=True 25 | bEnable2DPhysics=False 26 | LockedAxis=Invalid 27 | DefaultDegreesOfFreedom=Full3D 28 | BounceThresholdVelocity=200.000000 29 | FrictionCombineMode=Average 30 | RestitutionCombineMode=Average 31 | MaxAngularVelocity=3600.000000 32 | MaxDepenetrationVelocity=0.000000 33 | ContactOffsetMultiplier=0.020000 34 | MinContactOffset=2.000000 35 | MaxContactOffset=8.000000 36 | bSimulateSkeletalMeshOnDedicatedServer=True 37 | DefaultShapeComplexity=CTF_UseSimpleAndComplex 38 | bDefaultHasComplexCollision=True 39 | bSuppressFaceRemapTable=False 40 | bSupportUVFromHitResults=False 41 | bDisableActiveActors=False 42 | bDisableCCD=False 43 | bEnableEnhancedDeterminism=False 44 | MaxPhysicsDeltaTime=0.033333 45 | bSubstepping=False 46 | bSubsteppingAsync=False 47 | MaxSubstepDeltaTime=0.016667 48 | MaxSubsteps=6 49 | SyncSceneSmoothingFactor=0.000000 50 | AsyncSceneSmoothingFactor=0.990000 51 | InitialAverageFrameRate=0.016667 52 | PhysXTreeRebuildRate=10 53 | 54 | 55 | --------------------------------------------------------------------------------