In this post I’ll be briefly going through some of the static meshes that I modeled for the Lighthouse and exported to UE5 as part of the Bathysphere Maintenance level design project.
Recreating the Lighthouse
As I showed in the previous post, I used reference images as a starting point to recreate the individual meshes that the Lighthouse is made up of. I couldn’t be sure if some of the original Lighthouse was made from BSP alongside static meshes (which I assume it was) so I mainly worked in Maya to recreate what I could and then tested in Unreal.
I’m pretty terrible and organic modelling so I didn’t attempt to model any of the statues or busts of Andrew Ryan that are part of the lighthouse but managed to find some fan versions which worked for setting the scene. The gallery below shows a sample of some of the recreated meshes:
Fig. 1 – Selection of remodeled static meshes for the Lighthouse
Metrics and scale
At the beginning of the project, I made sure to setup Maya to match Unreal to allow me to set my base player dimensions. I used the following:
- 1uu = 1cm or 1 grid unit in unreal
- I left Maya in centimeters and adjusted my grid to allow for grid lines every 100 units and subdivisions every 10 units.
- I used “scale guy” for my character scale reference. Scale guy dimensions are:180h x 50w x 50d
As I modelled, I kept “scale guy” in my scene for reference and then I would export to unreal periodically to check that I was being consistent with scale.
Testing In Unreal
Fig. 2 – Testing in Unreal
Collison’s in UE5
Some of the assets I created for the Lighthouse didn’t particularly behave too well in UE5 when generating collision meshes. As an example, the outside stairs which lead up to the lighthouse produced odd results when generating collision meshes within the static mesh editor.
To resolve this, I created some three custom collision meshes in Maya for the stairs (fig.2). Unreal requires a specific naming convention to be used for these meshes, the prefix being UCX_. This specific prefix allows unreal to distinguish between normal in game geometry and collision meshes during the import. For example, the stairs for lighthouse are named ExternalStairs so I used UCX_ExternalStairs_XX for each collision mesh (in this case there were three pieces).
Well I think that wraps up this post. My next posts will focus more on setting up some events using blueprints and my level design process.
I’m always trying to get better to any feedback is always appreciated.