Learning Fluid Dynamics in a online multiplayer immersive 3D/VR learning environment

I want to build a Virtual World in Unreal Engine,  with the purpose of educating Fluid Dynamics.  Still, a lot of work has to be done.

Update 1 September 2020.

Update 7 june 2020.
Version 0.01. Simple prototype dedicated server and clients running om a server at Avans University. Looks a bit weird, but this is a milestone for me.

v0.01

Update June 2020
Starting for the third time. read my thoughts.

Update 2019 First video on the project

Update June 2018
Followed several online courses on using blueprints in Unreal Engine.
See https://unreal.fluiddynamics.eu/main-water-system-in-unreal/

First video will follow soon?

Update October 2017. After a long time following courses on how to build in Unreal Engine, I finally have started with building blueprints. Busy building a watersystem

Update may 2017. I have reactivated the project. Was too busy with ordinary work :-). I am following a course on Udemy (Unreal Engine 4: How to Develop Your First Two Games) to get my skills on a higher level.

Share Button

Update June 2020

One could think that I haven’t been active lately. But that is not the case!. I have been very active, and had a lot of “challenges”

Actualy I am starting the project for the third time 🙁

First Time
I started to build in Unreal Engine using only Blueprints. I ran into problems with the hydraulic calculations. I also read that the best approach is to start with a basis in C++

Second Time
I started to learn C++. I followed several courses at Udemy, Linda.com, and Unreal.
My prototype multiplayer is based on the listen server in Unreal. My idea was that it would be no problem to convert to a dedicated server. This was a mistake. Turns out that a dedicated server is completely different compared to a listen server. There is also little documentation on getting a dedicated server running on a VPS.

Third Time
My new approach is to start with getting the standard third-person game running on a VPS. Based on a dedicated server and clients. And I started to use perforce as source control. And I skipped the idea of using a Linux VPS, it is all to complicated.
I managed to get the “simple” project running as a server and client on a windows server.
So my strategy now is to add on the simple project, and test everytime that it is working as a server and client. Bt using perforce I will be able to always return to a working solution


Share Button

Source Controle

I am using perforce

Unreal documentation : https://docs.unrealengine.com/en-US/Engine/Basics/SourceControl/InEditor/index.html

https://allarsblog.com/2017/04/05/populating-perforce-with-an-unreal-engine-source-build/

Streaming starts at 1:27 h

from 23 min

Share Button

M_FD_Surfacewater

Material for the surface water on the island

Uses Absolute World Position Node.

How to get the flow direction according to the direction of the channel?

General notes

  • With vertex color, you can control 4 values (red, green, blue, alpha)
  • red = speed x
  • green = speed y
  • blue =?
  • alpha =?
  • I don’t get this working yet
Share Button

Water material

Ocean

Surface water

I looked into different tutorials. In this page step for step my water material.

Notes:

Result:

Tiling will be adjusted so that the “basic” block is 1 * 1 m. Each Branch in the FD_watersystem will have its own instance of the watermaterial. In BP I can set the parameters for each branch.

  • S Scalervector
  • Append x and y

Future optimisations

  • Small wave/ ripples by wind. So direction is based on wind.
  • Swimmable water?
  • Particles
  • vertex painting
In my case it is mirrored
Share Button

Replication

To get a multiplayer working properly replication is important. Until now I have no knowledge on replication?

Aim is to use blueprints

https://wiki.unrealengine.com/Replication

Share Button

Gamelift

Server site form amazon. The nice thing is that you pay per hour.

https://aws.amazon.com/gamelift/

Tutorials

Share Button

Python in Unreal

Share Button

Niagara Particle system

Share Button

Editor Utility Widgets

Share Button