6. How can participants experiment in the the learning environment?
Author: hzhenk
Reflectively Synthesized
4. How is personal reflection accommodated in the design? |
5. How are team after-action reviews accommodated in the design? |
Instructionally grounded
1. Is the learning intervention addressing a educational need? |
2. Are the learning objectives optimized to address the educational need? |
3. Is a 3DLE the most efficient and effective mechanism for transferring the learning? |
Archetype Scavenger Hunt
28. Is the scavenger hunt meant to let the participants explore the virtual world?
Idea.Maybe the avatar could search for formulas on the island? And put them in his inventory to use when needed?
Tutorial Hourences
I have bought the level tutorial from hourences.
In this post the notes (things I want to remember) when watching the tutorials.
Video chapter 1, basics
- Navigate in editor by using left mouse, right mouse and both. With this methode, use high camera speed
- Alt and mouse for staying looking at object.
- Ctrl + right mouse : move object y-axis (green)
- Ctrl + left mouse : move object x -axis (red)
- Ctrl + both mouse : move object z axis (blue)
- Ctrl + Shift …… Camera will follow the object
- Spacebar : rotation mode
- 2 x Spacebar : scale mode
- copying: Ctrl C / V, Ctrl + W, Alt
Video 2 building
- With BSP textures, select all faces and choose align in the proprieties box.
- Mesh, duplicate mesh, place on the proper location and replace by proper mesh.
- Size of objects 5 10 …same as the grid
- Ctrl Shift G is temporary ungroup to take out one part. Finish with Ctrl Shift G again.
Video 3 landscape
- With landscape : change lod in details to increase performance.
- Afterwards you can add landscape
Fluid Dynamics Formulas
General assumptions
- Flow is turbulent.
So formulas of Manning, Chezy and Darcy-Weisbach can be used. - Flow is sub-critical.
So calculations of water-levels start downstream and goes upstream. At weirs super-critical flow may occur. - Flow is steady
Discharge is not changing rapidly. Of-course over time discharge (and thus water-levels etc) can change. - Sea is salt water, on the island fresh water
- There are two main watersystems. The watersystem on the island and the sea (waves, tide, current). The connection between the two are by the culvert in the dike and seepage. High tide in combination with low water level on the island could make water flow from sea to the island. High tide can cause seepage to the land, low tide seepage to sea. Maybe in high tide in combination with big waves can cause water flowing over the dike to the island.
- Water enters the systeem by: rainfall and seepage.
- Water leaves the island through : Culvert in dike, pumping station, seepage and evapotranspiration.
- System is dendritic.
So water has one direction to flow.
Calculations in FD_watersystems
- For each branch waterlevel (ylevel) and Energylevel (Hlevel) are calculated at the beginning (.x) and end (.y) of the branch. This info is stored in WatersystemData.
- Hlevel.x = Hlevel.y downstream branch.
- yLevel.x = yLevel.y downstream branch. Consequence of this strategy is that when there is a significant change in dimension or discharge, a short branche is needed. In this short branch the transfer between the 2 different velocityheads takes place. With change in discharge this short branch is located downstream, with change in dimension this short branch is located upstream
- Weir is an exception. Hlevel.x is calculated based on the crestlevel.
- Over the length of a branch, the basic dimensions are the same, only the surfacelevel at x and y may differ. Exception is the connector, you have different width and slope downstream and upstream!!
- CulvertRectangle: If downstreams waterdepth < Height culvert : Type is converted to Trapezium. Note: With high velocities, water level will rise and the type maybe should be concerted back to culvertrectangle. This can be solved by splitting het culvert in several branches.
- In a branch (between 2 points) discharge is always the same.
- 2 special branches when calculating. First is the outflow: Discharge = 0. Value in InputDischarge.x is the velocity in the receiving water. Second is the weir : There is a jump in HlevelWorld compared to the downstream waterlevel.
- Weir is always assumed as free flow. And as a short crest. Waterlevel .x and .y are the same.
- Based on ylevel.x. Slope Hline is calculated. Hlevel.y is calculated.
Workflow calculation
In the case of type = trapezium
- HlevelWorld_m.x = HlevelWorld.y previous branch
- yLevelWorld_m.x = yLevelWorld.y previous branch
- Get Discharge from point upstreams
- Calculate Depth_m.x ,WettedArea.x, WetterPerimeter.x, HydraulicRadius.x, Velocity.x
- Calculate Hslope, dH, Time
- HlevelWorld_m.y = HlevelWord_m.x + dH
ylevelWorld_m.y = yLevelWorld,x + dH - Calculate Depth_m.y ,WettedArea.y, Velocity.y, VelocityHead
ylevelWorld_m.y= HLevelWorld_m.y – VelocityHead
- Outflow down-streams is calculated separate
- Check if branch is weir. If weir calculate H above weir, convert to HlevelWorld_m.x = HlevelWorld.y. yLevelWorld_m = CrestlevelLevelWorld_m + 2/3 * H.
- If branch is not weir
- If branch = connector; calculate average width and average slope
- Calculate Depth_m.x ,WettedArea.x, WetterPerimeter.x, HydraulicRadius.x, Velocity.x
- Calculate Hslope, dH, Time
- HlevelWorld_m.y = HlevelWord_m.x + dH
- ylevelWorld_m.y = yLevelWorld,x + dH
- Calculate Depth_m.y ,WettedArea.y, Velocity.y, VelocityHead
- ylevelWorld_m.y= HLevelWorld_m.y – VelocityHead
Culvert and Rectangle Culvert
- dH is a 3d vector. x = dH outflow, y dH friction, z dH inflow
- dH x outflow based on carnot
- dH y friction based on Chezy, with coeff = k (m)
- dH z inflow based on contraction coefficient of 0,6, so xi = 0,44
- If branch downstream = culvert, dH x = 0
- If branch upstream = culvert dH z = 0
- Extra info needed is type up-streams and down streams. local_type_up and local_type_down
- Extra info needed is W and H up and down if type is culvert. local_WH_up and local_WH_down
- Hlevel.x culvert = Hlevel.y type_down + dH.x
- Hlevel.y culvert = Hlevel.x + dH.y. So dh.z is not added yet
- Ylevel.x and Ylevel.y are based on Hlevel.x .y – velocityhead
- dH.x and dH.z are based on the type of the adjacent branch.
- dH.x and dH.z is not yet calculated with Rectangle Culvert.
Formulas
How to get my project on Github
Disclaimer: I am new to Unreal Engine and just trying to get things working. So there is no guaranty it will work with your project. Maybe there are much better solutions. Don’t blame me if terrible things happen to your project. Always make backups.
In the future hopefully more persons are going to work on the Unreal Fluid Dynamics project. So I decided to put my project on github. Yes, just as the Unreal Engine :-).
I made an account and installed Github Desktop.
Then things got messy, when uploading the project I got an error message by Github Desktop. I had no idea what was wrong. Also there was not a lot of info in the error message. So I started searching the internet and started to use the git-shell. This was the error message in git.
Based on my internet search, probably 2 things good be wrong:
1. Github has a maximum file-size of 100 Mb.
2. Maximum size project on Github is around 1 Gb.
My project has files > 100 Mb en the total size of the map is 4.8 Gb.
So I was naive to think this could be working.
Still I want to try to get the project on Github.
The maximum size can be solved with Git Large File Storage
After some research (just deleting directories and files from the project map and check if I could run the project in UE editor) it looks like:
– There are directories (for example saved and build) which can be deleted without a problem.
– There are directories (for example Content/Startercontent) which are big and added when the project is created in UE editor. So it is not necessary to put them in a repository.
Looks like almost all data is stored in the .umap file (which is large).
Very useful website on git commands.
So I took the following steps.
- Make account at github.
Note: Don’t make a repository yet - Install github desktop.
Enter your github info. Set the clone path to the directory with you project.
Note: Don’t make a repository yet - Start Git shell, go to your project directory
type “git init” - For excluding maps you need to create the .gitignore file
type “touch .gitignore”
You can open the .gitignore file in a text editor. Mine has the following content:
# ignore files
*.exe
Build/
Saved/
DerivedDataCache/
Content/StarterContent/
Content/Maps/old/
Intermediate/
More info on this file - Activating the git large file pluging
In git shell type “git lfs install”
type “git lfs track “*.umap”
It is the levelfiles (.umap) which get big. - Make the repository in github desktop
Start github desktop
Add repository
Your files will appear, check if you see files which should not be in the repository. Maybe you need to adjust the .gitignore file - Create and upload first version to github.com
Enter text add summary, for example “first upload”
Hit the “commit to master” button
Select history (top of screen)
Your project is ready to get uploaded.
Hit the publish.
Have patience, there is something happening / uploading.
Check github.com if your files are really there.
Some thoughts/remarks
At this moment there is not a lot of content in my project, only a large terrain.
It looks like almost all data is stored in the umap file. Because I am going to make changes to the project I will discover the effect of those changes on the files (by using github desktop)
Terrain Lighting: day and night cycle
I want to have a proper day and night cycle system, so I am going to follow the tutorials from kleiner baer , looks great. Someone else added a video to make ready for the multiplayer. see
As location it will take Vlissingen. 51.4500° N, 3.5667° E
Update 2017. Too much problems to get this working. So for the moment I will skip this. Just use a fixed situation.
Tutorials Terrain Lighting
How to get proper lighting. If I look at other projects, several assets appear:
- Directional Light. Documentation
The Directional Light simulates light that is being emitted from a source that is infinitely far away. This means that all shadows cast by this light will be parallel, making this the ideal choice for simulating sunlight. - Sky Light Documentation
The Sky Light captures the distant parts of your level (everything further than SkyDistanceThreshold) and applies that to the scene as a light. That means the sky’s appearance and its lighting / reflections will match, even if your sky is coming from atmosphere, or layered clouds on top of a skybox, or distant mountains. - Atmospheric Fog. Documentation
gives an approximation of light scattering through a planetary atmosphere. This can give your outdoor levels a much more realistic look. - Lightmass Importance Volume. Documentation
Many maps have meshes out to the edge of the grid in the editor, but the actual playable area that needs high quality lighting is much smaller. Lightmass emits photons based on the size of the level, so those background meshes will greatly increase the number of photons that need to be emitted, and lighting build times will increase. The Lightmass Importance Volume controls the area that Lightmass emits photons in, allowing you to concentrate it only on the area that needs detailed indirect lighting. Areas outside the importance volume get only one bounce of indirect lighting at a lower quality. - From Unreal 4.21 a Geographically Accurate Sun Positioning is included in Unreal. Link
Settings UE editor
Settings I use in the UE editor.
- Making the command-line visible.
With my first project, when launching within the editor, I could not stop the game. UPDATE use ALT F4 to close window. My mouse stayed in the window. I had to close the window in windows. It It turned out you had to change a setting to activate the command-line.
“Edit”, “Project settings” , “input”, “console” . Choose a key - Setting the level my project has to start with.
“Edit” , “Project settings” , “Maps & Modes”.
Important, you also need to set the starting map for the dedicated server! It is hidden!!