Closed Bitheral closed 2 years ago
Added counter tops to Kitchen, along with simple cubes for Microwave, Toaster and Refrigerator.
Due to using photogrammetry as reference, scaling is very offset; The player's eye level matches to the height of the counter tops, This means the player's height needs to be scaled roughly 1.5x higher, or adjusting the level to be 1.5x smaller. This would probably be the easiest solution due to the player being a Prefab, which would affect the design of other levels.
Scaling mesh in the Kitchen to be 0.25x smaller allows the player to be at the correct height
I have taken inspiration from the photogrammetry mesh to add furniture into the level, as well as including already created models for furniture that did not need to be remade.
As I wanted the layout of the house to make sense, having a house with no bedroom, and no stairs, would not make sense, and so I had quickly modelled a staircase and upperfloor, but having non-accessable rooms. To save time, I did not attempt to make a photogrammetry model of the staircase, or bedrooms.
Starting out
To start out the base design of the third level, I am basing it on the design of my current accommodation, this will allow creating an easy map layout using photogrammetry. To create the photogrammetry mesh, I used PolyCam, although, it would be possible to create a mesh using software such as Meshroom, but processing would take a long time due to hardware.
PolyCam results
As there is a limit on only 250 images for each "capture" (Photogrammetry result) for PolyCam, creating fine details for each room would be proven to be difficult, therefore I have created 5 "captures", each with difference in detail, albeit not on purpose, but due to the processing with PolyCam.
Captures
Living Room
Low Resolution
https://user-images.githubusercontent.com/11707193/143275185-c193b276-b285-4995-8ee9-481d2e98dc77.mp4
High Resolution
https://user-images.githubusercontent.com/11707193/143274627-6ced0d39-17ff-4581-9785-dd5572b039b2.mp4
Kitchen
https://user-images.githubusercontent.com/11707193/143275211-e1627b5b-ab79-4f00-8840-29c1aa8e712d.mp4
Overall
https://user-images.githubusercontent.com/11707193/143275523-51d8755b-515e-4043-a297-dc400a77fddd.mp4
Creating the floor plan
To create the floor plan, I had only used 2 of the meshes I had generated. I had used Kitchen and Overall to get started on the main rooms of the house. I created a simple plane mesh in Blender and mapped it to the walls of both rooms. However to keep the rooms seperate, I created a plane for each room, designing 1 plane mesh to match the living room, and 1 to match the kitchen; This does break modularity of the level, for instance, needing to remove a wall, or adjust it slightly, but allows for less vertices to render in the game, increasing performance.
Blender results
To ensure I had the correct scale, I had imported both photogrammetry meshes into blender, and aligned them to roughly match each other
Kitchen photogrammetry mesh
Overall photogrammetry mesh
Combined photogrammetry mesh
Level greybox
Fitting the two rooms together
Due to the rooms being 2 different meshes, It would look weird for both rooms to have a wall with no thickness, to fix this issue I have made a small doorframe model so that it can join rooms together without causing issue for player movement
Without doorframe
With doorframe
Importing into Unity
As the level is one combined model, I can simply drag the level into Unity and have all the rooms configured the right away. I had followed the guide I setup so that the gameplay is uninterrupted. I added some lights into the scene so that testing the level is easy.
Editor view
Gameplay
https://user-images.githubusercontent.com/11707193/143288786-4f113c43-4304-4f19-b4ab-00157d5d8123.mp4