[Plugin] Ocean surface simulation plugin (VaOcean)

Actually, our intent was to allow precompiled binary plugins to load from custom-built engines “at your own risk”. So for example, a plugin compiled for 4.1 should be loadable in an editor that you compiled yourself from the 4.1 source code, even if you’ve changed the engine in some way. Let me know if that is not what you guys are seeing. However, we definitely did not want to allow a 4.1 plugin to load in an older version of the installed editor, such as 4.0.


Unfortunately that doesn’t work. I’ve compiled plugin with 4.1 , but I can’t use it in an editor that I compiled from 4.1 (or even 4.1.1) source code.

Great work! Works perfectly.

Just one question is there a way to read height and normal at 1/2 uv (in center of rendered texture)?

PS, i just read that stuff i am looking for is on todolist :smiley:
So in meanwhile i play with weather system

So is it broken in 4.1 then? Was having the same issue. I got it to compile with the editor but when I tried to go into the Modules and load it it would crash every time.

FYI. I’m on OSX 10.9.2.

I was wondering as the installation instructions are kinda vague/or assume you are familiar with UE4. So once you manage to get a binary plug-in is there a way to use it with the downloaded editor? would be great to know what the exact directory structure needs to be.

Not really understanding why it need to be put into a project and compiled if it is already binary.

BTW anyone else here on Mac?

Got it to load into a scene and but when I try to edit the blueprint it crashes.

I just copied all assets to my project folder, added to my ship_BP small sea mesh (for near ocean), and placed instanced mate on it.
And that is all, it works, and because its world coordinate mapped my ship moves together with small sea mesh, effect is great.

You are on OSX, did you get OSX binaries? I think that is reason it crashes.

I compiled the binaries myself using 4.1.
I did get it to load one of the ocean blueprints from the content folder but when I hit the edit button it crashed. The are no pre-compiled OSX binaries.

Plugin is in alpha stage now, and it also means that developer should be a bit familiar with UE4 to use it.

Precompiled binaries are supplied for Windows only, and its installation is described in readme. If you’ve forced to use source code instead of binaries (f.e. you’re on Mac), you should go the same way, but use content of repository instead of precompiled archive.

Unfortunately I haven’t Mac to test the plugin on OSX. Shaders are cross-platform, but who knows. I’ll take a look soon.

Did you enable the plugin? You should see the plugin content:

Nice work,

but could you explain what those shaders are? VaOcean/VaOcean_CS.usf at master · ufna/VaOcean · GitHub

What is .usf? Is this a shading language from ue4? I saw that you load them like this VaOcean/VaOceanShaders.cpp at master · ufna/VaOcean · GitHub

It is HLSL shader. Current one is Compute shader that updates spectrum each frame.

This just declares shader (you can read official doc about it). It used as shader in VaOceanSimulationComponent in UpdateDisplacementMap() function.

Yes I have enabled the plugin. Wich then required a restart. After that I verified that the plugin was loaded by going back to plugins and seeing that it was checked. I then loaded one of the blueprint sames wich opened an then things got very slow then crashed.

However after seeing the comment about the shaders above I wonder if that may be it. That the shaders are HLSL instead of GLSL or is this something that ue4 takes care automatically? Or are we going to need both for multi platform?

Anyway since you don’t have a mac I would like to volunteer to do anything I can to further making this resource multi-platform friendly.

I can also test on the iOS and androids fronts as well.

As ufna stated above, shaders are cross compatible, it gets automatically converted and compiled for opengl, and the editor can be opened in opengl mode on Windows to test the functionality.

It won’t work on iOS or Android due to the use of compute shaders.

UE4 has cross-compiler to handle it. But I’ve just tested the engine in OGL mode and found that StructuredBuffers are not supported. It means that OGL version is under 4.3 or its support is not fully implemented yet. In result, plugin can’t be used on Mac now :frowning:

Mobile devices are not supported because of Compute shaders. As I know only future nVidia devices with Open GL 4.3 may be available to use it.

I would think that the OpenGL version is still at 4.0 or lower. As a matter of fact I thought I had read a comment somewhere that they were still working on bring it up to 4.x and that it was still something below that.

Sad, but I’m definitely sure that it will be improved :slight_smile: As I know, mobile demo of ShooterGame shown by NVidia uses OGL 4.3, so I hope its features are on the way.

I think that was the OSX OpenGL version specifically. Not sure about Android and PC.

Hey ufna, great work here!

Do you plan on making this plugin compatible with packaging? I seem to have better performance with your plugin than with the fluid surface actor.

Sure, it’s alredy fixed in develop branch :slight_smile: Also, I’ll make new pre-build release with some new stuff in few days.