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.
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.
It is an building with furniture Unreal Engine 5.2 We used the collabviewer template
Building has windows, there is no lightning in the building.
This is how it looks with lumen turned on
For performance in VR I want to turn lumen off Settings:
Result for chairs in the building. Strange “shadows” appear. Even when I turn shadows off for the chairs. Nanite on or off for the chairs does not change anything.
If I put the chair outside the building. No problem
If I put a light inside the building, it looks better
If I turn cast shadows off in sky_light
Settings:
Result. FPS goes up! Ofcourse it is not like with lumen on.
List of activities which could be performed by avatars (students)
Nr
Activity
Role
1
Measuring levels island and water. Draw a cross-section of the island
2
Measuring a cross-section at a channel , ditch or river. Based on this information the student can calculate : wetted area and hydraulic radius.
3
Measuring the velocity at cross-section at a channel , ditch or river. Combined with the area, the discharge can be calculated
4
Calculate the Energylevel based on water level and velocity at cross-section at a channel , ditch or river
5
Decide on the roughness coefficient (manning) based on the structure (vegetation) at a channel , ditch or river
6
Calculate (at cross-section at a channel , ditch or river) the slope of the energyline based on manning. Info needed : velocity, roughness coefficient and hydraulic radius.
7
Schietend of Stromend water (froude)
9
Turbulente of laminaire stroming (reynolds)
8
Measuring waterlevels in the length of a channel , ditch or river. Calculate velocity based on energy slope, hydraulic radius and roughness coefficient
9
Advanced. In a cross-section at a channel , ditch or river the velocity is different, depending on the distance to the “wall”. Student measures at different locations in the cross section and calculates the average velocity.
10
At a short crested weir in a channel , ditch or river. Measure waterlevel upstreams and downstreams. Measure velocity upstreams. Measure crestlevel. Decide (based on calculation) if crest is submerged or freeflow.
11
At a short crested weir in a channel , ditch or river. Measure crestlevel, width crest, waterlevel upstream and downstream, velocity upstream. Decide on crestcoefficient. Calculate discharge at weir.
12
At a long crested weir.
13
Calculate pressure on a object below surface (pascal)
Measuring levels land and water. Making a cross section over the island.
Calculate the wetted area (m2) for a cross section of the channel or ditch or pipe. Instruments needed: – fixed measure poles which shows the coordinates or a moveable device which the avatar can put at a location en which shows the coordinates. – Online calculator – something to store the data measured and calculated. Each avatar should have some kind of notebook.
Measure the velocity in the channel. Could be with a device, or just something flowing in the water.
There is a “first” version of a prototype of the world running. The world lives on a server of Avans University of applied sciences. At this moment the main focus is on building a world in Unreal Engine running on a dedicated server.
If you have comments, questions, bugs … let me know at: h.massink at avans.nl
Q:What is the best method to update the playerlist. At the moment I use the Gamemode onpostlogin and on logout? This method could be inaccurate. Instead use OnTick to check number of players every tick. Only update widget when number has changed. On the other hand the number of players is only needed to check if a new client could get access.
Q: How can we use the Server Stat Replicator Class (Gamemode) to monitor the server?
Q: How to actually use the prelogin in C++ gamemode. For me this looks like high skilled programming. For example, how do you now the name and password of the client connecting and going through the prelogin? I get the idea that the students starts the program, enters his username and than makes contact with the server. So there is some kind of a lobbylevel. In the current project there is no lobbylevel.
Q:Is it possible to append a record to JSON file on disk, instead of reading the file, adding the record and writing the file again?
Q: If a new player comes into the world, he needs to get all the info of his world. For example , the definition of how all the other avatars look? What is the best way to get acces to this info. Through GameState?
Q: Is it correct that you can’t get access to to playerstate on the gamemode and gameinstance?
Q:Difference in use between Event Running on Server and Has Authority?
Q: Commandlines or bat file for automatically package server and client
Q: Explanation usage FString, static FString and const static FString
Q:Which software can be used for adjusting the Json PlayerInfo file outside of Unreal? A:..
Q: How can the Server be monitored within Unreal
Q:What do the other methods of packaging (shipping, debugging) actually differ from development?
Q: What launcher software can we use? without annoying the virusscanner?
Q: How to run calculations on a different thread in C++
Q: Is het possible to adjust the watersystem in ue4.26.1 in runtime A: Looks like this is not the case. For the watersystem on the island, I will try to use my system with the materials of the unreal watersystem.
Q:Should we store the PlayerInfo on the Server or on the clients A:All Info will be stored on the Server
Q: Should we use Cars and Drones to travel in the world, or just teleporting? A: Although Cars and Drones are more like the real world, Teleporting takes less time and is thereby preferable.
Q: How to change gamemode during runtime? A: Project settings, GameModeClassAliases
Q:Is it possible to have a map in the World Outliner always collaps? A:Shift and klik arrow at WorldMap and klik only on arrow again
Q: How to make sure a variable is not saved to disk. A: Use setting Transient
Q: How to emulate bad internet in de editor. A: Play > Advanced settings
Q:Video 42:39. Get access to gamemode in widget through game state. From client. In this way you can get access to settings (variables) from the gamemode.