Institute of Computer Science
  1. Courses
  2. 2022/23 spring
  3. Computer Graphics Project (MTAT.03.328)
ET
Log in

Computer Graphics Project 2022/23 spring

  • Main
  • Projects
  • Topics
  • Results and Schedule
  • Formatting Hints
  • Links

Flying Spaceship VR vol 3

Kertu Toompea

Description + plan:

This is a continuation of my spaceship project in VR. Currently I have a simple X-Wing flying on a small peace of landscape in Unreal Engine 4.27. The goal of this project is to learn and use Unreal Engine 5, add some interaction with the world and make the world larger where a player can fly around. The project is not by definition a game but a relaxing VR flight experience. The flight controls remain simple and will be gamepad based.

Snapshot of the initial state:

Initial state in UE4. Flying above a small peace of landscape.

In the end of the semester here will be a link to the final build, repo and a 10-20 sec final result video.

Milestone 1 (27.02)

  • OS chosen (Win or Linux). Estimation: 2h
  • Project up and running in UE5. Estimation: 2h
  • Plan and list the exact interactions I want to add. Estimation: 6h
  • List and describe problems related to moving from UE4 to UE5, and Win vs Linux choice. Estimation: 2h

Development remarks on the progress and the result will be added here, incl screenshots and/or videos.

Progress M1:

  • OS: Linux Time: 0.5h (installation)
  • Project up and running in: Unreal Engine 4.27 Time: 0.5h
  • Planned interactions: glowing objects based on a flyby distance and/or played time duration. Time: 6h
  • List of problems encountered:
    • Some hardware problems (running an older PC with some newly bought parts). Time: 3h
    • Unreal Engine v5 plan changed to UE v4.27 because of the hardware constraints and UE5 being more resource hungry. Time: 2h (reading, planning, installation)
    • Compiling shaders is time consuming.
    • Current platform: Linux
      • OS: Kubuntu 22.04
      • CPU: 4 × Intel Core i5-4690K @ 3.50GHz
      • RAM: 16GB
      • GPU: NVIDIA GeForce GTX 970/PCIe/SSE2 (4GB vRAM)
Initial state in UE4 (linux). Rusty texture looks surprisingly correct after initial opening the old project where it was not that correct.

Milestone 2 (13.03)

  • Learn about glow and make some objects glow. Estimation: 8h
  • Document some learned key points about glow. Estimation: 1h

Progress M2:

  • Glow - without any found exceptions in different guides, a glow is created with emissive materials. UE4.27 docs guide.
  • Material's shading model - the emissive material can have either a lit or unlit shading model. For cheaper rendering, whenever possible, choose unlit. There is no visual difference, so this is my choice too.
  • If an object using the emissive material is expected to "light up" the surrounding surfaces, it is necessary to enable this property under Lighting settings of the mesh. The parameter is Use Emissive for Static Lighting.
  • Stopped before experimenting with bloom. After experimenting with glow, it is clear that unless the environment is dark and without any light, the simple glow will not be enough to notice from distance. In lit up places additional light effects might be needed to make the glow better noticeable. This will be in the next milestone.
  • Encountered problems:
    • The UE editor hangs for unreasonably long time, multiple reasons:
      • Missing cached shadermap for [material] in VULKAN_SM5, ..., compiling.
      • Other yet unknown reasons.
        • Both seem to be solved after installing newer Nvidia drivers (470 -> 525).
  • Time estimations were valid.
First glow test object in UE4
The BP of the created emissive material
Configurable parameters of the emissive material

Milestone 3 (27.03)

  • Make a glowing effect that is visible also in moderate ambient light conditions. Estimation: 8h
  • Investigate glow control options based on flyby distance and choose one approach. Estimation: 8h

Progress M3:

  • Glow (Bloom) - Bloom looks exactly what I need to make an object glow in moderate light conditions. By changing the bloom intensity setting, the glowing object can be clearly visible also from distance and when there is ambient light. But finding the way to use such bloom settings was not obvious. Bloom settings are found in a post processing settings. To get a post processing settings accessible in your project, you need to add a Post Processing Volume to your project scene. By adding such volume, it becomes visible that the volume can have bounds that are useful for one or many objects that are within the volume. For example you can have hundreds of glowing objects in one volume boundaries that you can make glow at once. Or the bounds can be even removed, so the volume's bloom settings apply to all glowing objects in the scene. Here I ran into a problem. Boundless volume's bloom settings work as expected. But bounds based volume's bloom settings don't work - there is no change in the glow when adjusting bloom intensity. Time spent troubleshooting: ...
  • Glow controls - (WIP ...)

Milestone 4 (10.04)

  • Implement glow control based on flyby. Estimation: 7h

Milestone 5 (24.04)

  • ...

Milestone 6 (08.05)

  • ...

Project Expo (22.05)

  • ...
  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment