UNIT 3 PROJECT ASSEMBLY

 

 

I will be building an interactive scene so I found some online advice.

 

 

Starting with the house. I need to devise how many rooms are inside the structure, including, hallway, living room, dining room, kitchen, staircase, landing, bedrooms, and bathroom. There is also scope for a loft conversion, or storage area, as well as any other extra rooms, such as, pantry, office, etc.

Taking a reference for my door size I reason there will be 3-4 rooms downstairs and 3-4 bedrooms (one with an en suite) and a bathroom.

1 Up house

The attic will be left out for now and added at the end, if I have time.

I will also need to make holes for the windows and front and back doors. This cannot be achieved until I set the internal rooms and their sizes. These will all require internal walkways, connecting them to each other.

As I mentioned before the house was built early on in my use of Maya and needed labelling and tidying up generally.

4 Past mess in modelling.PNG

So I will start there.

This is a slow process of selecting an unlabelled object, renaming it, then, using the isolate select tool, ensuring the item is correctly labelled.

In some cases I could combine several separate meshes into one, for instance the porch.

5 porch.PNG

I do not need to do this to the windows and doors yet as I will remodel one of each type later and add them into my model when the houses structure is complete.

I went about creating my interior and found a problem, my scale was not correct to work from. Seeing as this is an interactive scene I need to make sure my character in unreal can move easily around the house, especially doorways.

6 scale problem for interior movement.PNG

So I amended the scale to a more suitable size.

I feel the house is more in tune with the size of the unreal mannequin ( in blue);

7 re-scaled.PNG

It is as grand as spacious as the design of the house should be, in my opinion.

As I resized the house I decided to move the back door. This allowed me to have a smoother flow through the downstairs rooms.

In order to resize the whole house uniformly I had to combine all the polygonal structures involved. As a result, when I had resized the house, I now needed to separate them. This caused my pre-labelled pieces to lose their naming conventions. So now I needed to re-label the pieces. A small price to pay in resizing now and saving possible headaches later on.

Interior Design

With the house now re-scaled to a suitable size it is now time to place some rooms inside.

This is a relatively simple task of creating a polygon cube and resizing it into a room. When all rooms have been completed all that is then required is to reverse them, inverting all their faces, to create the walls, floor, and ceiling of the room.

13 Room Layout13 Room Layout_Wireframe

The next step is to add doorways for the character to pass throughout the house.

Using the “multi cut” tool I control shift clicked a suitable door height, keeping this uniform height across the rooms by adjusting each rooms edge loop to the same height via one of the elevations in wire frame mode.

For the upstairs doors I simply moved the rooms down , so they were in line with the ground floor and repeated the process.

One final, important, feature of a basic house is a staircase.

Previously I had began to build a dock scene. In this I had already built a staircase. So I imported this one and deleted any erroneous faces, that would not be seen when the model is complete.

9 Staircase Front8 Staircase_Back

The, cut away, under the stairs was created for an extra use of the space. I found a picture on line, when creating a mood board, that would look nice under these stairs. The stairs are situated within the living room and I feel that this would give a nice touch to the overall room:

Under Stairs

Now I have all the base pieces in a house it was time to import it into unreal to test it. Before I could fully test it I needed to add custom collision, the default “unreal” collision generator would not be able to build something this complex.

Fortunately custom collision is not difficult, only boring.

The object is to keep it as simple as possible. Using simple polygons to add the boundary. In this case all that was required was cubes, many of them. Positioning them to fit snugly over the existing walls, ending at doorways (we don’t want to cover them), floors and ceilings, and easily overlooked parts like the head of a doorway (the bit of wall over the top). The staircase, again, was a cube, only angled to the slope of the stairs. The important part of constructing custom collision is the naming convention. In the case of my house the first box was labelled UCX_House_01. The “UCX” is the collision, followed by and underscore and the name of the model the collision is added to (House), followed by another underscore and the collision mesh number (01). For simplicity it is easier to duplicate the original collision box, doing this will automatically generate the next number in the collision set (02, 03, etc). When it came to the staircase (Stairs) the name had to be changed for the collision to recognise this as the mesh it needed to act upon (UCX_Stairs_01, etc),

With the custom collision complete it was time to incorporate the porch (from the original build) and add custom collision to that.

11 House_With_CC12 Staircase_CC

With all that done I imported it into unreal to test the walls and see if I had missed any.

 

 

 

As you can see I missed the front bathroom walls, as well as all the upstairs door heads (i noticed this after stopping the video recording). Theses collisions were added immediately in Maya and re-imported into the Unreal engine.

 

 

 

 

 

 

Problem

Upon creation of the interior of the house I discovered two problems. The first was the house felt too small inside, the second was in adding edge loops, to add structural integrity, there were a lot of problems (at several points after adding an edge loop the entire interior would disappear). As this house had been created in my early use of Maya creations I decided to build a new exterior frame of the house, reusing the interior structure of the house by resizing and reshaping to fit the new shell.

Here is my re-modelled house exterior:

 

 

 

 

 

 

 

 

 

I decided to add a small, one level, extension at the rear of the house, giving a larger dining area to the kitchen as well as a balcony for one of the first floor bedrooms.

When done I imported the already created interior, rooms, of the house, resizing them to fit the new building. This allowed me to skip the joining of the upstairs/ downstairs of the house as well as the doorways connecting the rooms.

When done I imported the old staircase, which fitted perfectly to the original floor cutout.

 

House Base Fittings

Skirting Boards

With my shell assembled I now needed to begin working on the basic features of the house, starting with skirting boards. These were a simple construction of a cube, flat on the lower portion, bevelling inward slightly near the top, with a 90 degree return to the wall across the top. All unseen faces (bottom, rear, and ends) were deleted.

To fit them in the model I started with one and duplicated it. Fitting each piece throughout the house until all skirting’s had been placed. Finally I combined them into one object and imported it into the house.

17 Skirting.PNG

Exterior Doors

I created a front door and used it for the back one too. I made only the door and casing for now, with a view to add it’s furniture later (letterbox, handle, spy hole, and key hole), although with this new furniture I now realise I will need to make a separate back door.

18 Front Door.PNG

Once imported I required it to open and close for the purpose of gaining entry into the house upon game testing.

I created an actor blueprint and added the door and frame. To this I added a trigger box. Upon entering, after a short delay, a timeline would re-set the relative rotation of the door, reversing the timeline after leaving the trigger.

18.5 Front Door BP19.6 Door Open and Close String

Internal Doors

Having completed the exterior doors I then set upon the creation of the interior ones. I made these even simpler and again without any furniture ( I want to get as much assembled in the house as possible before adding small touches to these items, having them in their own blueprints allows me to directly effect them all in one go so this is not much of a worry for me.

 

 

 

 

 

 

 

 

 

House Colours

After speaking with some of my peers I decided to use a method I had not known existed until the conversation, Master Material application.

The process seemed simple. Using a preset template of a material, from which children could be spawned, each adapted to it’s own design and/or colour.

23 Master MAterial.PNG

I assume a parameter can be added to each input of the material node. This would give a huge scope over any, and all, of the materials added into the scene.

 

 

 

 

 

 

 

 

 

I added a burgundy to one of the rooms, which I realised I needed to add separate materials to and amended immediately.

Porch

The original porch was suitable for this new building except for it’s resizing. This took moments in Maya , as well as the resizing of it’s custom collision. I also added a new, white gloss, colour to my master material palette and applied it to the porch.

20 Porch27 White Gloss Material

Windows

The windows were a straight import into the scene. I needed no extra work except for the addition of glass.

For that I created a blueprint (one for each of the large and small windows), added a window, and a cube (which I resized to the interior dimensions of the window.

 

 

 

 

 

 

 

 

 

After that I created a translucent material, via the master material, with a grey tinge and some metallic, for reflection, opacity and spectacularity for roughness.

26 Glass Material.PNG

French Windows

One more basic feature would be the one used to fill the gaping holes in the kitchen and one of the bedrooms. French windows are a nice addition to any home. These allowed me to have a nice egress from the kitchen to the garden and the bedroom to a balcony.

28 French Windows

As with the doors before I created a blueprint actor with a trigger. I also added glass to each door in the same way as the the windows too.

29 French Windows

Using the white gloss colour for the frame, handles, and hinges, to give the windows a feel of upvc.

30 French Windows

Door and Custom Collision Test

With the basis of the house complete I ran a test of all the building functionality up to this point:

 

 

At this point I consulted with one of my peers, to which they advised my to open my doors via line trace’s. This proved to be more efficient while also solving a problem on the landing where two doors where too close and both opened upon entering their overlapping triggers.

The first blueprint was a single arc open. This would ensure the door opened in one direction regardless of the side it is opened from;

29 Line trace open door

I used this on both the front/back door’s and the french windows.

The second method was for the internal doors and allowed me to open the door away from me, no matter which side I accessed it from;

30 door open inward from either side

 

Porch Floor

The porch floor looked a bit smooth. I searched for a suitable plank texture online and found one at Free PBR Index.

28 PBR Materials.PNG

https://freepbr.com

I created a new material and imported all of the textures maps, connecting them to their corresponding input pins.

31 Worn Planks.PNG

I felt the original colour was too dirty for a freshly decorated house and replaced them with a flat white colour. This gave the effect of old planks with a fresh coat of paint attempting to renew them.

 

Quay

As this scene is place on a quayside I decided to build the basic model of the houses surroundings. As the quay was basically made from granite blocks for the seawall, cobble stones, for the road surface, pavement, grass, and a set of stairs running from the quay to the sea, this should not take too long but still give my house a more realistic feel in some surroundings.

For the sea wall I decided to create a cube, taken from a scene I had already started work on. My idea is to create a cube with different topography on each face. Hopefully baking the topography onto a flat cube. Then I can use the to build my quay side with a low cost. If this method does not work I will separate the six faces of the cube and bake each of them separately, constructing the quay side with them instead.

After creating the cube, and adding differing topography through the manipulation of random vertices. I then textured it with a granite texture I had found on PBR;

31 quay cube.PNG

With this created I found it worked but it was expensive for the scene performance. I tried to lower the cost of the cube by baking normal maps but the results were lack lustre.

34 Normal bake fail.PNG

Although the baked detail could be seen with no texture, it could not be seen after adding one.

I left this course of action to pursue a simpler one, making a mod pack.

I began to model the quay side in pieces, four faces high and staggered for a cleaner connection.

This was working well until I noticed the face cout growing exponentially. It seems I had forgotten to predict the extra cost of  adding loops for the overlapping block faces. With the recess between each block also present the face count rose beyond an acceptable level.

So I mad a set of simple planes in a variety of shapes I needed, flat, horizontal edge, vertical edge, and corner piece.

36 Quay planes.PNG

I imported these into the level and began to construct the quay side.

34 rotated texture35 Scene

After building all of the pieces for the quay itself I imported them into the unreal engine and set about texturing them.

To do this while being able to alter the texture on each tile I needed two things. The first was a single material that has been rotated on multiple rotations.

39 Quay materials choice38 quay blocks rotating pattern

The material for each texture was the same just rotated slightly to give the appearance of being a new texture. This was achieved by the scalar parameter, named ‘rotation’.

With that in place each of the quay pieces needed to be told which material to assign to itself from a choice of five.

This is achieved from an array, ‘material’, randomly generated to the material slot. If the same material comes out, the ‘random?’ boolean allows me to directly change it to a new one.

40 Construction script for texture change.PNG

An addition to the scene was a beach.

Firstly I made a plane and modelled it, with a nice gradient coming up from the sea. Upon importing it into the engine I found that resizing it to the required size flattened out the detail almost entirely.

So I re modelled the gradient to be more severe and imported that. The beach looked good.

42 Beach Plane

41 scene.PNG

 

Furnishing the Interior

With the basic scene set I now need to start filling the house with suitable furnishings. I looked through the internet for some suitable inspirations.

Firstly I made a corner sofa.

43 Corner Sofa

Sofa

Then a coffee table to accompany it.

44 Coffee Table

coffee table

Finally a TV for a wall.

45 TV

tv

I imported them all into the engine and textured them all. I also added one of the unreal texture materials to the floor as a carpet.

46 living room.PNG

 

Playing with Geometry

The room was still a little sparse and unbalanced. In one corner I have the stairs, seat, and cabinet, the other the sofa and coffee table. I decided to make another table to sit between the front door and sofa. Here I could place a lamp and other small objects to give the room a more lived in feel. The lamp would give a nice warm lighting effect in the room.

Table with supporting edge loops and softened and smoothed (Low Poly)

The table is ‘L’ shaped, to add an end to the sofa corner and separate the room from the front door. The corner part is raised to support and separate the lamp from the table part, like a plinth. I made a high poly as usual and reduced the edge loops until it was a lower poly version with all of the retaining features. It carried a tri count of 3438, so a little high for a supporting feature ( for this 1000 or less is optimal, the less the better).

At this point I had a discussion with one of my class peers. He asserted that the rising poly count will effect the overall performance of the scene. I argued that it is not a game but a showcase. We finished the discussion, with no resolution to our differences but it got me thinking about how effective an unsmoothed version of the model would look in comparison.

I began with the simplest structure of the model. Constructed primarily to the desired shape and only the edge loops required to hold this. I softened the edges to add the deception of curved edges (as I did with the smoothed model previously).

Table with soft edges only

As you can see the structure is still apparent. If you look at the corners it is easy to see this. The softened edges add some effect to the pseudo bevelling but this is a trick of the light, or a computer generated trick of the generated light.

It doesn’t look right though. The shadowing lends belief to the first outcome but it is not quite right as it does not have the geometry to support it, so the shadows fail, not following a true line that the correct geometry would govern. It did have a more desirable tri count of 784, so as a supporting actor this would be okay, hopefully the poor geometry would be overlooked.

I moved on to a structure with some edge loops added, as if I was going to smooth it. This extra geometrical structuring should govern the light so that when the edges are softened it will give a more confined pattern for the light calculations to work from.

Table with supporting edge loops and softened

Already there is an improvement. Looking again to the corners we can still see the structure is square in nature but the extra geometry has indeed guided the softening illusion to create a more convincing bevel.

This shows, that with very little work needs to be done to a model to attain a passing effect. There is no way this could be a feature model in a game but as a supporting actor it works at a glance. I also know that if I bevelled the table edges (which I did not do in any model) the effect would be more convincing again. It did have a higher tri count than the basic model, 3568. This is still higher than the smoother, low, version, so I fail to see how this method could benefit the model making process. A more expensive model with less convincing geometrical features is not a route to take.

So I tried that too.

With a tri count of 4860 this was a little high for a table. I kept all of the extra edge loops to help support the geometry and added bevels to all of the outer corners.

Table with supporting edge loops and softened and bevelled.PNG

The structure looked nice but not as clean as the smoothed one ( first pic). The tri count is, again, too high for an inferior looking model.

Evaluation

As far as high or low poly goes the smoothing vs basic modelling is an obvious one. On models that are a uniform colour smoothing is best. The route around the poly counting is, I suspect, in the maps. Gaining a good set of maps, for the light to calculate itself from, would probably yield better results. This could be the answer to having a low poly model with the look of a higher one. As my knowledge in this area is sketchy at the moment more research needs to be done.

 

My Kitchen is not Set Right

As I looked across the interior of my house I noticed the pleasing expanse of the kitchen was not set right. I needed to segregate it into a kitchen, utility room, and toilet/shower, having them all in the same room would be cluttered and weird.

I moved back to maya and added two new walls. Then to the skirting structure, placing the new additions. Once done I imported them into the project, adding doors, from the already built blueprint. This extra structuring allowed me to still have a large kitchen/ dining area, as well as a new utility room and toilet/ shower.

New wall in the kitchen,

New wall, kitchen

the utility room,

New wall, utility

and the toilet/ shower room.

New wall, toilet

If I require the toilet to be a different colour all I need to do is add a plane, in the engine, place it a fraction away fro the wall and texture it. Alternatively I could go back into maya and set the materials there. Either way I am not worried as the continuing colour scheme flows nicely, allowing these separate rooms to remain as part of the, original, main room they offspring from.

For my utility room I modelled a washing machine. The finishing touches, like dial settings, will be added when I have all of the models in place.

51 Washing Machine.PNG

 

I found some floor textures at PBR textures. So I tested them out in the kitchen.

Firstly I tested some tiles. They worked well, after I reduced their scale with a texture coordinate, but they did not feel right. I was looking for something darker and more uniform. Maybe these will go well in a bathroom.

52 Tiled kitchen floor

The oak floor looked great. A nice dark colour to add a foundation to the bright yellow walls. They even shined nicely, allowing the bright upper areas of the room to reflect their cheeriness across it. The only problem was the scorch marks that appeared, presumably on the edge of the texture tile. Another thing I need to research in order to get the best out of what could be a perfect texture.

53 Oak Floor Kitchen

 

Back to the Living Room

I had, some time in the past, made an Egyptian dagger. I thought this would be nice in the cabinet I had made for the living room.

I set about making a stand for it.

As the dagger was pretty much straight with some curvature I decided to offset this in the stand. Making a more curvy based structure. I also wanted to show the blade itsel was constructed well, so I made the support slender and central to the balance point of the dagger. I also wanted the support to seem straight from the front but curved from the side elevation, capturing the characteristics of the dagger.

54 Dagger stand 1

I am aware that the geometry needs some additional work to get it smoother but I am pushed for time at the moment and will fix this later.

54 Dagger stand 2

Here it is in the cabinet.

Dagger on stand

With time closing in for the completion of the project I realised that there is no furniture in the rest of the house. For this reason, as well as a change form the same scene I modelled a desk and chair for the study, as well as a lamp for the desk top.

55 Desk56 Desk Chair

These were both imported into Substance Painter and textured onto their maps.

55 Desk in substance.PNG

Evaluation on Texturing

As long as the model and it’s uv’s are good this gives the best results per mesh. The only problem is that it can only be applied to that model, basically the baked texture takes the shape of the mesh it is applied to, so a square texture would never fit right onto a sphere of the same size, you would still see the corners and edges of the cube, in their baked position projected onto the sphere, this is not as efficient as I would like. I must find a way of using a material many times on many shapes all with the same results, smooth.

With the chair and desk imported it looked nice but lonely and needed some extra pieces to give it some life. A lamp would do it, with something to show the lamp off.

 

A traditional desk lamp was ideal. The two pictures, above, are good examples of the style I wanted but neither was what I wanted exactly. I chose to take aspects from both and create a new model.

58 DeskLamp

The textures were added after creating new instances and the light was compiled, along with the lamp, into an actor blueprint. Giving me control over the light emission and how I textured each incarnation of the model. The above is textures in a traditional way.

The final piece of this, bite size, scene is the lit model, I decided to import the original model of the house. Creating a paradox, of sorts.

59 Desk Ensamble

I think it works quite well.

The next room I tried to breathe life into was the bathroom, which house is a home without one?

I set about creating the bathroom set with a new purpose, low poly. On e of my colleagues had been berating me for my high poly models so this is for him.

I took my inspiration from these two pictures (below).81cTHHSwvbL._SL1500_800x_crop_centerDouble-Ended-Baths-Wickes-Blend-D-Shaped-Bath_GPID_1100208001_00

Clearly I would be replacing the original bath taps for a more modern look.

63 Bath base

The finished base model looked good, especially the taps, plughole, and plug raise/lower dial ( visible on the inside side of the bath). The flow of the baths curve was too angular and reminded me of a fifty pence piece. To smooth this line out I could either spend time adding edge loops and moving the vertices until it took a smoother shape, or I could smooth the entire mes and remove edge loops that did not add to the support of the model, I chose the latter for speed.

63 Low poly bath

As you can see the model is taking more of a natural shape and would not stand out in the rest of the scene. When I smoothed the mesh I did it separately from the bath furniture, this helped in keeping the poly/tri count low as they did not need extra edge loops to maintain a pleasing shape.

When done I  combined them all into one mesh and uv’d them all. Then imported it into the engine.

62 Bath.PNG

For ease I recycled the bath model into an accompanying sink, with only the exaggerated slope at one end of the bath beought into line with the other , and the plug hole activator moved to a more suitable position on the sink. I retrospect I could have placed it on the wall for a clearer sink space.

62 sink.PNG

The toilet,

toilet

Was again modelled as low a  poly as I could.

Again I modelled the shape to the best, and lowest, shape possible.

64 basic toilet

But the curve on the bowl was not smooth enough again. I follwed the same procedure as I did on the bath.

64 toilet low poly

A much nicer model.

62 Toilet.PNG

One more piece of bathroom furniture to go, a shower.

I took inspiration from the internet once more.

Shower

Once more I will modify it into something more suitable for my needs. I like the walk in feel but feel it is too short, also there is no real storage for bottles and other cleaning products, I will include one in mine.

I followed the same procedure as the other bathroom models. This one would be easier as it has no curved edges to contend with.

65 Shower

With some tiling texture on the white parts the finished shower will look good.

62 Shower.PNG

The wooden shower and bath mat were just stretched cubes but add a nice touch.

I could not find a suitable texture for this, I was looking for a utility texture that would work on any object and was not fixed to it’s maps. Luckily I spoke to a peer in class who spoke of such a procedure.

It was a simple process of opening Substance Painter and importing a plane. Then adding the desired wooden smart material.

66 wood66 wood texture

I then exported it into unreal and made a material from an instance.

67 Walnut texture.PNG

Adding it to my timber features in the house, all of which had been white up to this point.

68 Wanut features

67 Walnut interior67 Walnut kitchen

I think it works well and will keep it this way.

With items in each room I could now go back to the dining room.

The corner coffee table looked bare so I decided to make a working table lamp. I created it with no reference.

Below is the model in Maya.

72 marble lamp.PNG

And in the engine textured, and placed in a blueprint actor with a trigger box and text.

72 lamp mesh

When the player enters the trigger box the text is displayed and the player can toggle the light on and off. When the player leaves the trigger box the text vanishes and the light is no longer trigger-able.

The blueprint below enables these actions.

72 Lamp bp

Below is a demonstration:

 

For more decoration I imported a previously modelled candle. Placed it in an actor blueprint, where I duplicated it twice, resizing and shaping two of them, to make a set.

69 Candles.PNG

I placed them on the coffee table.

Three more bedrooms lay empty, so for the sake of having something in each room I made a set of bunks, and a desk for one, and a double bed with matching bed side cabinets, which I made from the drawers from the base of the bed.

68 Bunks68 bunks desk

This room is obviously for a younger person, or people. When I come to furnishing it further I will keep this in mind and add some suitable decor.

71 bed

I like the bed, in the headboard there are two spotlights so the lamps are for extra decoration, for visual purposes. All that is required is some bedclothes and pillows for each bed and some cushions for the sofa.

Most of the flooring came from one of the free packs off the unreal market place. They are material instances that are beyond me at the moment but give a nice carpet texture. From chord,

70 floor 1.PNG

to shagpile,

70 floor 2.PNG

For the bathroom I took the bathroom tiles texture maps and placed them in a new instance. Altering them until I had something I liked.

70 floor70 kitchen floor

As you may have seen in an earlier picture (which I placed after completing this) I built some kitchen units. I modelled them in Maya and imported them into the engine. The auto generated collision was terrible so I made some custom and re-imported it.

73 units with cc73 units in engine

I then added a hob texture to  a plane and placed it over the hob on the island.

74 hob.PNG

 

 

 

I have made a video of the house walkthrough as it stands to date.

 

Evaluation

Before I began this unit I had no idea about how long it would take me to compile a scene. Seeing as the purpose of this unit was to predict that it was an impossible task. Instead I used this unit to measure how long it will take me to complete an impossible task. If I did not complete it the measure would be how much over how long minus other concerns (such as other work).

I came to the idea of using an old model of a house, from last year because of this fact. I could build an entire scene with the fully furnished house at it’s centre.

The main thing I learned from this unit, upon it’s undertaking, is that my unreal target could be achievable with a clear run. The fact we had two other units running concurrently means I should have completed between a third and a half of the projected plan by it’s end. I reckon that I am about half way through it’s construction at the end of the unit looks good for my estimation.

I also learned that it is prudent to use more quality models for any scene. I used the original house until it became apparent that my early modelling skills were not as good as I had remembered. Even with models I had made much later, like the Egyptian dagger, were not up to my own, progressed, standards.

Next time this occurs I will be able to judge my project with a clearer view. In one of the best ways this unit has helped me learn something new. Not only can I plan and execute a project but now I can also give a much more accurate estimation to it’s completion.

Another critical assessment of my work is that I still struggle with blueprints. So far I have been looking at the strings in the form of a sentence but have recently noticed that they are entire calculations too (each node can be assigned a number (or algebraic letter) or an operation).

 

References

Stephen, R. (2015) How to Build a Scene [Online]. Available at: https://www.youtube.com/watch?v=pRTWrkKBLbA (Accessed on 03 April 2019).