Project: FluidSurface Plugin

Thats an issue with the compiling the Cable Component plugin, not my plugin.

but I got this issue when compiling the source files I got from your plugin. I will try to only copy your fluid plugin inside plugin/runtime and see if it works.

Under the releases tab on my private fork is a zip containing only the required files for the FluidSurface plugin. Get that, and place into your own project, or the plugins directory for v4.1.1 of Unreal Engine (And place the shaders into UnrealEngine/Shaders directory). My Private Fork is not up to date with the latest code (So theres a good chance it doesn’t even compile, and probably why you recieve those errors), I just placed the FluidSurface code in there as per my above comments (Not allowed to be in public repo because of shared code with Epic).

I put the plugin plugins/runtime and then copied shader to engine/shaders. The 4.1.1 window pops up saying compiling shaders WorldGridMaterial and immediately shuts down and the engien does not start , so I copied the 4.1.1 source shader folder back, and then the engine lanched and when i enabled fluid plugin, when restarting, I got the same message on launcher pop up window shaders WorldGridMaterial nad the engine launched and was compiling some shaders. Did I make the plugin work correctly by only copying the plugin in plugins/runtime and then copying back 4.1.1 shader folder thus deleting the shaders you uploaded or do I need your shadre folder that does not work?

No you need my shaders for it to work as the FluidSurface uses them, the editor immediately shutting down during compiling shaders, sounds like an issue with the shaders. What are your system specs? This will only work on a DX11 Windows machine (The version of OpenGL used does not support Structured Buffers), if thats what you have, can you please upload the UE4.log of an execution where you have my shaders in place (Which should be under Engine/Saved/Logs) - Which will hopefully contain the reason why it shutdown.

Lol dude, if my PC was not able to run the engine, then what am I doing here? XD: windows 7 64 bits core i7, 8 GB DDR3 and GTX 660 ! I said after I copied shaders folder from 4.1.1 source back and overwrote your shaders, I got same message and then the engine compiled shaders and started.

Anyway here is latest log after trying to run the enigne with your shaders and then crashing:

I hope you find a solution for that, both your plugins are marvelous, thanks :smiley:

The main reason I was asking for your specs was not because I believed you were running an inadequate machine, but was to ensure you didnt say Mac or Linux. Coz as I said it will only work on Windows DX11 machine. (Which your specs show should work fine)

Okay what you need to do to fix this, is copy the 4.1.1 shaders in, replacing everything (Because the error your getting is in regards to the latest preview shaders, which dont work with 4.1.1). Then copy only the following shaders in (Replacing already existing ones).

  • FluidSurfaceVertexFactory.usf - Main shader used for rendering
  • FluidSurfaceVertexFactoryCommon.usf - Common data used by the above
  • FluidSurfaceShader.usf - Compute shader for simulation
  • PNTriangles.usf - I made a small modification to this shader to allow the vertex factory to set the displacement before the material
  • FlatTessellation.usf - Same as above

Keep everything else as 4.1.1

When you run the editor the first time, it will recompile all the shaders for the current project, this is just the way the vertex factories work, I need to define some properties in the caching so that is does not always have to be cached.


Thank you, now it worked great. You see there are many awesome plugins available for UE4, but enabling them is a nightmùare, like Substance plugin and coherent UI plugin which need a new version each time a new engine update comes out and they conflict with each others. Epic should really make it easy to enable plugins or integrate the best ones in the engine by default.

BTW, I wrote fluid in search classes and I got fluid actors etc, I put one on the ground and I got grey moving ground. Please make a wiki tutorial about both your plugins and how to use them, how to get a final result with moving water surface and how to integrate a video in a screen for the other plugin. Thanks and continue the awesome work. :smiley:

Agreed, I would love to see shaders become plugin specific. So you dont have to place them into the Engine/Shaders directory. Anyway the plan for this plugin is to eventually merge into the main branch but there is still a number of things I want to do, a few features are still planned, then optimization.

I plan to write up some good documentation at some point, once the plugins have become more fleshed out, right now they are still considered very early alpha’s where its subject to completely change. (Im trying to keep any big changes to a minimum). But there will be new features implemented as I require them. As I am using both these plugins in personal projects. Or if someone requests a certain feature, I may implement.

Sorry for the troubles, but thank you for blazing a trail! I asked the rendering guys about shaders in plugins, and it is certainly something they plan to address. I’d like to keep this as a plugin, even if it does become a standard one with the engine.

It will be really cool to have shaders as part of plugin, instead of placing them to the Engine :slight_smile:

(Also as to get structured buffers support on OpenGL build)

No worries, I’ve learnt alot about the rendering pipeline. I still have a couple of things to add that I will be using in an upcoming project before I would like to submit. In the original UE2 code there was an implementation for using a Clamp Bitmap to clamp certain vertices. I want to take this a step further and allow three options:

  • Accept an image from the content browser (Black and white) that would be converted to the clamped data structure internally.
  • Custom in editor tools for painting which verts would be clamped
  • Dynamic clamping, so if you stick the fluid surface in a river channel on a terrain, it will (using the depth buffer) clamp the vertices that are underneath the terrain, or if you were to drop a cube into the middle of the fluid surface, it could clamp the vertices that are contained within the cube, saving on calculations.

And another feature that I want to see is flow control for use with rivers. But that one is still a way off.

Yes definitely, that way my and your plugin would be cross compatible.

Hiya. I follow your install instructions and everything goes into the specified locations but when I start up the project I receive this error:

Would it not be better to precalcuate that as part of the map build process?

Hi Ormanator, thats odd, as the FluidSurfaceEngine is a seperate module in the same plugin. Can you check your Plugins/FluidSurface/Binaries/Win64 directory and make sure a FluidSurfaceEngine dll was created.

Well yes, it would be a mix of precalculated and dynamic clamping. What I really mean to say is it would not be an input provided by the user. Terrain intersection would be precalculated, same with static objects. Where as dynamically moving objects would dynamically update the clamp map. Something along those lines.

UPDATE: As of right now the plugin will not compile in 4.2 preview. I am aware, I have already updated the code here locally to work. (Just need to bring PNTessellation and FlatTessellation in line with the latest release). Will most likely update github sometime this weekend.

Erreur 2 error : In FluidSurfaceComponent: Unknown class specifier ‘HeaderGroup’ C:\UnrealEngine\Engine\Plugins\Runtime\FluidSurface\Source\FluidSurface\Public\FluidSurfaceComponent.h 43 1 UE4

UPDATE: Black viewport issue does not appear to be related to my plugins. I have tested with a clean 4.2 preview build. Built from source, didnt add my shaders, or plugins. Still black viewport. Also noticed a report on Answerhub from someone else explaining the black screen issue.

You mean my report? Black screen in viewport using 4.2 preview build in many samples - AnswerHub - Unreal Engine Forums

Are you getting blackscreen in 4.2 preview viewport too in many examples (Elemental demo viewport is not black but when you click play everything goes black)? Please answer me if you have same thing as I did, I want to know if it is general or only related to my PC. Thanks!

Oops didnt notice it was your answerhub entry. I get the blackscreen viewport in the stylized demo before play. Ill try the elemental demo tomorrow. But I also get blackscreen in static and skeletal mesh editors and blueprints. Only of v4.2 preview.

Ok thanks, The only samples that work correctly with 4.2 preview are Cavde demo and Card game which did not get updated when 4.1 was released, but still you get tremendous FPS drop in them. Epic should update the sampels and 4.2 preview build source code before releasing 4.2 which was planned to be released this week. :frowning: