For the in-game overworld map I decided to create a maglev station. This would be a nice and simple location to create some nice animations in!
The idea would be that you could enter a train station at any of the key locations, and in there, choose the next location you would like to go to. Like an overworld map, but cooler!
AI image generation
For this, I wanted an image that shows some tracks and a cool a-f train. As Midjourney V5 is now out, this was a good spot to try that one out as well.
I got some really nice generations right out of the gate.
Midjourney V4
Midjourney V5
I again went with pretty simple prompts. Not trying too much. I just wrote a simple description and let Midjourney surprise me.
I chose this image because it had some play area on the left and the train looked extremely cool. Many of the trains looked cool, but I especially liked this one. The image was generated by Midjourney V5 and would be the first of it’s kind in the project.
Paiting out the train
As I would be animating the train, I needed it gone. I decided to go to Leonardo.ai to remove the train. This was very easy! I just masked out the train in Leonardo’s canvas and generated an empity train station in its stead block by block.
This did not turn out absolutely perfect, but as this background would only be seen very briefly it did not have to be. For this purpose, it would be absolutely fine!
Overpainting in Photoshop
I still needed to use photoshop for some touch up. I replaced som areas the AI had gotten way off and touched up some light values here and there. I also used content aware fill to get rid of the person on the platform. This was a very quick and dirty step that I really did not put too much effort in.
I also had to mask out the train in order to have it separate on top of the background. This would also help with the mesh silhouette, as the alpha edge would introduce more detail than I would model into the train.
I did not use any fancy AI edge detection for this. Just plain old hand painted masking. I did not even use the lasso tool.
3D scene creation
Now I was ready to create the 3D scene from these. As always, this would require me to fire up the good old fSpy and reverse engineer the camera data.
In blender, this scene was by far the most complex one for the game yet. That does not mean much as I really want to keep the scenes simple so it will never get too much work for me to pump these out.
The only thing I had to keep in mind was to make the train straight, so it was not angled at all and to keep it as a separate mesh. I think it took me around 2 hours to get this thing completed. After the model was done I projected the UVs and exported as FBX and sent the file to Unity.
Unity scene
In unity I did a quick setup for the scene as always. This time, I would not have any realtime shadows on the location, so I did not need to set up the shadow material. But I still used it for the location, as distance fog does not affect this material. I then applied an unlit material on the train, so when it would travel from the distance it could appear from the fog.
Even though the animation of the train is very simple. It is still a good idea to create a rig for it. Even if it would be an amazingly simple one.
The rig I created for this train is just 2 empty objects: TrainMaster + TrainLev.
TrainMaster would be only used to move the train along the tracks and TrainLev would be used to lift the train up and down and animate it’s rotation while it is doing that.
In order to add length and honestly to make the train-end look better than what the original generation could offer in the distance. I just duplicated, flipped and pushed it into itself to create a longer train unit. I then duplicated this a couple of times.
It again is far from perfect, but at the high speeds and engulfed in particles you can not really tell..
Talking about the particles: I also added a TON of particle smoke into the scene. Even though steam power is a thing of the past and a maglev train would be perfect visual effect-less, I still wanted it to have this feeling of an old railway station with steam billowing everywhere.
I also added a cushion of steam for the train when it lands and lifts off. For when the train arrives at the station and when it departs I added a surface dust of sorts that would simulate all this dust and degree that would be shaken off from the surface of the train and affected by the airflow that the train generates.
The particles were controlled in the same animation file as the train motion.
In-game experience
The way the player would use the maglev train is simple: you just enter the location from the world.
Then once in the station, you can see a transit map, when used it will allow you to choose from all of the locations you have discovered this far.
I have not yet added the map into the game, but I am using a simple multi option dialogue selection as a placeholder. Eventually the player will see a closeup of a map and choose their destination from the image directly. The rest of the experience will stay about the same.
Leave a Reply