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:
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)
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).
- The UE editor hangs for unreasonably long time, multiple reasons:
- Time estimations were valid.
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)
- ...