Git Product home page Git Product logo

fluidsurface's Introduction

FluidSurface Plugin for Unreal Engine 4

Adds a GPU based fluid simulated surface that can respond to collisions and damage.

Installation

  1. Download the source code and place into /Engine/Plugins/Runtime directory (or your own projects plugin directory) and compile.
  2. Place shaders into /Engine/Shaders directory
  3. Run editor and you should see shaders getting compiled. Wait for that to complete.
  4. Place a Fluid Surface Actor into the world and begin configuring.

Version History

0.1.4-dev Very rough update from Trent Polack to bring the plugin up to UE 4.19 building/deployment standards (still needs shader work): https://github.com/trentpolack/FluidSurface

0.1.3 Update for 4.10 base on DamirH's modification

0.1.2 Update for 4.8

0.1.1

Ported to UE4 by Ehamloptiran; Simulation runs on GPU Now. ( https://forums.unrealengine.com/showthread.php?3609-Project-FluidSurface-Plugin )

Origin UE3 Version

Posted by JamesG ( https://wiki.unrealengine.com/FluidSurface_Plugin )

Legal info

Unreal® is a trademark or registered trademark of Epic Games, Inc. in the United States of America and elsewhere.

Unreal® Engine, Copyright 1998 – 2014, Epic Games, Inc. All rights reserved.

fluidsurface's People

Contributors

marynate avatar trentpolack avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fluidsurface's Issues

Plugin in project

Would it be possible to have this plugin as a projet plugin ?
I tried adding '"CanContainContent" : true' descriptor to the .uplugin file, and putting the shaders in the Content folder, but it didn't work.
Is installing the shaders in the Engine folder the only way around it ?

4.19.2 engine startup error : Failed to compile DefaultDeferredDecalMaterial

<ErrorMessage>Fatal error: [File:D:\Build\++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\Engine\Private\ShaderCompiler\ShaderCompiler.cpp] [Line: 1944] Failed to compile default material /Engine/EngineMaterials/DefaultDeferredDecalMaterial.DefaultDeferredDecalMaterial!</ErrorMessage>

caused by FluidSurfaceVertexFactory.ush?

how to migrate to ue4.22?

Using landscape module as a reference I have gotten the source compiled.
But I cannot google a clue to fix the following shader errror:

Shader compiler errors compiling WorldGridMaterial for platform PCD3D_SM5:
D:/Code/FigureOut/simplest_srcmdl2/Shaders/Private/FluidSurfaceVertexFactory.ush(227,21-29): Shader FVelocityPS, Permutation 0, VF FFluidSurfaceVertexFactory:
 error X3004: undeclared identifier 'Primitive'

The context is :

half3x3 CalcTangentToWorldNoScale(in half3x3 TangentToLocal)
{
	half3x3 LocalToWorld = GetLocalToWorld3x3();
	half3 InvScale = Primitive.InvNonUniformScale.xyz;   //    <----
	LocalToWorld[0] *= InvScale.x;
	LocalToWorld[1] *= InvScale.y;
	LocalToWorld[2] *= InvScale.z;
	return mul(TangentToLocal, LocalToWorld); 
}

Even if I replace all 'Primitive' with GetPrimitiveData(Parameters.PrimitiveId) the compiler will still prompt me for the same error.

UE4.13 Build Fail

Severity Code Description Project File Line Suppression State
Warning C4996 'FCollisionQueryParams::FCollisionQueryParams': FCollisionQueryParams, to avoid ambiguity, please use other constructor and explicitly provide an FName parameter (not just a string literal) as the first parameter Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. UE4 E:\UnrealEngine-master\Engine\Plugins\Runtime\FluidSurface\Source\FluidSurface\Private\FluidSurfaceComponent.cpp 272
Warning C4263 'FPrimitiveViewRelevance FFluidSurfaceSceneProxy::GetViewRelevance(const FSceneView _)': member function does not override any base class virtual member function UE4 e:\unrealengine-master\engine\plugins\runtime\fluidsurface\source\fluidsurface\private\FluidSurfaceRender.h 142
Warning C4264 'FPrimitiveViewRelevance FPrimitiveSceneProxy::GetViewRelevance(const FSceneView *) const': no override available for virtual member function from base 'FPrimitiveSceneProxy'; function is hidden UE4 e:\unrealengine-master\engine\plugins\runtime\fluidsurface\source\fluidsurface\private\FluidSurfaceRender.h 193
Error C2664 'void TBaseDynamicMulticastDelegate<FWeakObjectPtr,void,UPrimitiveComponent *,AActor *,UPrimitiveComponent *,int32,bool,const FHitResult &>::__Internal_AddDynamic(UserClass *,void (_cdecl UFluidSurfaceComponent:: )(UPrimitiveComponent _,AActor *,UPrimitiveComponent *,int32,bool,const FHitResult &),FName)': cannot convert argument 2 from 'void (_cdecl UFluidSurfaceComponent:: )(AActor _,UPrimitiveComponent *,int32,bool,const FHitResult &)' to 'void (_cdecl UFluidSurfaceComponent:: )(UPrimitiveComponent *,AActor *,UPrimitiveComponent *,int32,bool,const FHitResult &)' UE4 E:\UnrealEngine-master\Engine\Plugins\Runtime\FluidSurface\Source\FluidSurface\Private\FluidSurfaceComponent.cpp 61
Warning C4996 'USceneComponent::AttachParent': Direct access of AttachParent has been deprecated. Use SetupAttachment, AttachToComponent, or GetAttachParent instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. UE4 E:\UnrealEngine-master\Engine\Plugins\Runtime\FluidSurface\Source\FluidSurface\Private\Modifiers\FluidSurfaceModifier.cpp 31
Warning C4996 'USceneComponent::AttachParent': Direct access of AttachParent has been deprecated. Use SetupAttachment, AttachToComponent, or GetAttachParent instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. UE4 E:\UnrealEngine-master\Engine\Plugins\Runtime\FluidSurface\Source\FluidSurface\Private\Modifiers\FluidSurfaceOscillator.cpp 18
Error Failed to produce item: E:\UnrealEngine-master\Engine\Plugins\Runtime\FluidSurface\Binaries\Win64\UE4Editor-FluidSurface.dll UE4 E:\UnrealEngine-master\Engine\Intermediate\ProjectFiles\ERROR 1
Error MSB3075 The command "....\Build\BatchFiles\Build.bat UE4Editor Win64 Development -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command. UE4 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets 37

I would like to help, but I don't even understand these errors :(

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.