Friday, 17 April 2015

Easter Recap and Week 11

Work-wise, my priority over Easter was split between this and improving the diorama project. With that in mind I did not progress an awful lot but the changes I did make were important ones.

I created the lake using a combination of a couple of different tutorials and a lot of additional tweaking. One of the tutorials was quite complex and possibly more than is needed for my lighting conditions so I may go back and remove some sections. The waterfall itself required less tweaking but the addition of more textures layered over the top to add movement. I actually sculpted and baked the waterfall but it isn’t very visible. To mask the seam between the waterfall and lake, and add some realism, I created a few particle systems for foam and splashes. Changes I’m considering making include adding more foam to the waterfall, and continuing to turn down the metalness.


The other change was that I finally created the skybox. This involved a program called SpaceScape where you create layers and play around with variables to create nebulas. I tried to use it without a tutorial but wasn’t at all happy with the result so I tried again with one, and then made changes and duplicated layers to turn it into what I wanted. I then had to use the Nvidia texture tools to stitch the six renders together to make the cubemap compatible with UE4. This is where I hit a snag, as the way the sky sphere worked meant the texture couldn’t be rotated. All I could do was keep returning to Photoshop, roatating and switching around the six sides and re-saving, hoping I had done everything correctly. The current view of the skybox in game was the best position I could do.


Week 11

The first day back I spent modelling small assets and trying to fix the lightmap issues I was having. I managed to improve the problem, but not make it go away.

The next day I decided to tackle something different for a change, animating the Orrery. I used bones for each planet’s orbit, their holographic rotation and their holographic annotations. It didn’t take an awful lot of playing around to work out how to get the bones linked up the way I wanted, but once I was done making it animate correctly was tricky. I’d set the main bones up so that their axis matched up with the orbits would follow, but the animation seemed to scoop, moving more horizontally before realigning upwards or downwards towards the keyframe location. This meant if I only used the start and end keyframes they rotated only on the horizontal instead of around their orbits. It turned out I needed to tell the keyframes what axis to prioritise to fix this. The holographic signs I had to set to not have their rotation affected by the bones they were linked to so that they would always face forward.
The real problem arose when the animation I imported didn’t match what was in Max. My first import had the planets and their labels rotating in place on a strange axis. This I fixed by selecting the ‘Resample All’ checkbox. Then all bones were having an effect, but the planets were yet again only rotating horizontally. Eventually I worked out that I had to go back to Max and lock all the variables that weren’t being animated. I don’t understand why exactly this worked but now I know for the future.


For the rest of the week I continued working on the small assets to add character to the interior. The aim was to fit them all onto the one sheet with the weather station. I’d had ideas already about what small assets to make but once I had used up all the most suitable ideas I was still left with some gaps on the UV map, so I spent extra time thinking of even more generic assets such as coasters.

Friday, 20 March 2015

Week 10

This week’s work mostly consisted of tweaking existing assets and making small changes. The first couple of days involved sculpting and baking the hanging chair, which was pretty much problem-free apart from the backing to the seat cushions. Since the cushioning was made from a rough base I had to form the smooth back around it. Eventually I made something passable using Boolean functions.


I finished arranging the remaining leaf clumps into basic shapes so I could use them in the level. I returned to the others and made sure all had proper lightmaps and then added them to the foliage brush tool. The framerate wasn’t affected too much by bordering the upper area of the level, however the lighting isn’t fantastic. It isn’t as major since they aren’t supposed to blend into the ground like the grass is, but I might make them slightly emissive to match the trees better.

I also tweaked the bridge to an acceptable level and for texturing and for the lightmap. I gave the landing pad a lightmap, adjusted the chairs, made the table, and sculpted some smaller rocks.

I finally made the LODs for the main trees. I had to try and vaguely match the lighting in max then adjust the colours in photoshop to match the existing trees. I set them to be emissive and unlit so the colours wouldn’t be affected. I still need to cut down the planes they are on as there is a lot of alpha’d blank space that could potentially cause overdraw. I also changed one of the settings on the larger rocks and now they look miles better, though I can't say I'm done with them yet. I need to bake a better rock tilable for the terrain.



Current issues I am having:

-Spotlights are not baking down, their effects disappear upon bake
-Many lightmaps have suddenly become strangely pixelated and full of errors
-Grass planes don’t blend into grass terrain. Improved by keeping planes one-sided but not perfect.



At the end of the week it was revealed that we have an extra four weeks on this project. This makes having to work over Easter less of a worry as my home productivity is slightly less of an issue. I does mean I have the time to execute the more ambitious ideas I’d had for the project, such as a water feature. The shape of the cliff would work great with a waterfall, going under the landing pad bridge and into a possible lake filling the lower area. This would help fill the area a lot. I might need to try and work with shaders however to try and make the water’s edge convincing, which could be difficult. 

Friday, 13 March 2015

Week 9

Once I had baked down the rocks from the previous week, I duplicated and exported halves of the larger rocks from different angles, as they would only be half visible with how I was going to position them and it saved on geometry. With all of them exported I set out to make the cliff face. The effect of them overlapping wasn’t perfect but it was passable. However, where the edges met grass it looked incredibly unnatural. First I tried out vertex painting, which was an improvement, especially at the top where the terrain became flat again. I knew I had to do more though, so I created another terrain texture based on the rocks to help things blend. This texture honestly looks pretty bad on large areas, but when put to its intended use of filling gaps and blending seams it’s quite successful.

I quickly made an overhanging piece of cliff that I then used vertex paint to blend into the terrain. This made a very slight improvement though they do look bad up close. I positioned clumps of grass on the edge to improve it slightly. I had to add random tufts between bits of rock too to add variance. It was clear the next step would be to create more foliage.

I spent a long time making heightmaps for a variety of leaf clumps on one texture sheet. After arranging a couple of plants I imported them into UE4 and they immediately made a lot of difference. I made quick but effective path lights for the staircase and with them and the plants it went from being one of my least favourite areas to something I liked. Arranging leaves on plants wasn’t the most mentally stimulating activity however so I decided to leave them for a while. None of these foliage assets have proper lightmaps yet, nor do the rocks and most other recently created assets, so they don’t look perfect in the screenshot below, of course I shall return to all this later.


I made the mesh and collision for the bridge. I do not consider it completely finished as the way it connects to the landing pad doesn’t yet look right. I used the same tileable texture as the metal parts of the main building to keep things consistent, as well as using the same mesh as the landing pad. I also made a base mesh for the patio out the front of the house. The stepping stones I actually sculpted to make them more convincing. This is looking to have been a waste of time, as in engine they don’t look that great. I’m not sure whether this is due to the vertex normals being wrong or not imported, as well as the noise I applied to them after sculpting not being baked down.

I worked out how to change the colours in the default blueprint for the skybox, but I found that making the glow around the horizon a stronger colour like in my original concepts caused the colours to clash. In the end I toned it down again, making it only marginally brighter than the default. I have yet to make the actual texture I want to use for the stars- I’m most likely going to end up having to use a free program called SpaceScape to generate my galaxy. Of course I can’t download this to the lab computers so I will probably do so over Easter when I am forced to work on my own machine.

The main priority at the moment is to create foliage and other assets that can be used to block off the areas the player shouldn’t be able to access, but I feel a little burnt out with the foliage right now so I have started work on the hanging chair in the corner of the lounge- the last of the larger interior assets. I have been worrying about overdraw the most so far but from what I have observed the any notable issues I see are caused by not baking the lightmaps. It might be interesting to go around deleting groups of assets with alpha channels to test out if there are improvements I should make.


Monday, 9 March 2015

Week 8

I finished the Orrery’s data holograms, and added an asteroid belt made of low poly shapes to flesh things out a little more.

The plan was to move on to the freezer next. I modelled it very basically and imported it in to my level to preview how it was going, and found that it actually didn’t look too bad as it was with just basic materials. The parts that would need proper modelling/texturing would be the workings at the back, and that would be in shadow anyway. I do still intend to return to this asset, but fleshing it out is very low down on my list of priorities.

I decided it was time to set aside the interior and put more focus on the exterior. I started with some small tweaks, like adding a small amount of illumination to the trees to slightly cancel out the strange shadows near their tops. I also arranged the grass planes I had made previously into actual clumps.
Because I had only used two branch variations for the trees, their UV map had a fair amount of empty space. I decided to use this space for another piece of foliage. Starting with the basic shapes, I began a heightmap for two clusters of leaves. I had used this method to create leaves before and found it to be effective, but it took a lot longer this time around as some of the leaves were overlapping on this map. I made the albedo after this- I was not quite satisfied with it but with how long the normal map generation took I wanted to spend time on other assets.



The slope below the building was looking very bare- I originally wanted to cover it in foliage but the potential for overdraw was too high. The other option was to make the surface rocky. I quickly made three simple shapes in Max, imported them to Zbrush and began working. I think something I need to remember in future is to break up the shapes more, because flattening off edges on large rounded areas isn’t as effective as doing the same on smaller ones. Using brushes like Orb Cracks and the noise feature I got a passable shape, and then I did some polypaint. Of course I had forgotten that I couldn’t bake polypaint in Max, but after some hasty research I found I could use Xnormal. I still had to create the lower poly version however, so I had a play around with zRemesher. I got a half decent result, exported and unwrapped it, and ran everything through Xnormal to generate the maps. Unsurprisingly the result wasn’t fantastic, the topology zBrush had generated was far too rounded, and I had subsequently done a very rough unwrap. I had to do it manually.




The retopology took an entire day due to the size of the assets but it allowed me to create much better seams and gave the rocks more defined silhouettes. I received some feedback on the level so far while I was working on them and one suggestion was to create a bit of an overhang with grass to sell the cliff face idea. This is something I will most likely make next week along with more foliage.

Monday, 2 March 2015

Week 7

This week I continued to work on major interior assets. The first task was to model the kitchenette, which wasn’t the most exciting job but a fairly important one. I had decided that for most of the asset I’d use tileable textures, and have one texture sheet for details such as the plugholes and oven grilles. This all worked pretty well- I still need to make a tileable for the work surface but as it stands it is acceptable.



The next asset I decided to touch upon was the cupboards over the bedroom door. I say touched upon as it wasn’t long before I decided other assets were more important. I had a surprising amount of trouble deciding on what material I’d use. The materials I’d used for the white cupboards in the kitchen and the black bedside cabinets were both too bold for the location, they couldn’t match the walls perfectly and I thought it would be weird for them to perfectly match the flooring, although this did look the best by far. Eventually I created a new wood texture, this time stained/painted grey. I like the result, so I’ll probably use it on other assets too.
I started making some clutter to put with the cupboards in the form of a rucksack and sleeping bag, which were quick to sculpt. The texture I used was fairly small, but this is efficient as they are seen from a good enough distance. In the picture below you can see the state I left the asset. You can also see an Issue I am having with the light from the bedroom shining through the ceiling. This might be a problem with setting one of those lights to not cast shadows. Lighting is still something I need to heavily tweak.



I quickly moved on to the orrery, possibly the most important asset of the main room. I had my work cut out to make it believably functional while still having the look I wanted. A real-life orrery tends to have the planets held up by struts from underneath, so they do not intersect each other. However, I thought this looked too old-fashioned for what I envisioned, despite still wanting the main structure to be physical. I decided the best way to get the look I wanted was to have the orbits of each planet be technically rails, with the planets moving along them independently. Unfortunately I forgot that the other purpose of having the planets suspended from below was so that they could rotate on that axis. I already wanted to put holographic signs by each planet, so the compromise I came to was to encapsulate each planet with a holographic shell that would itself rotate, showing their correct axes.




I still need to work on the holographic signs of this asset. I think it might also look good to have a curved screen behind it, so once I’ve finished the main element I may move on to that. Looking at the scene currently I think there is too big a contrast between the technology of the orrery and that of the kitchen, but I’m now considering adding holographic controls to the oven and microwave. The other issue is that the kitchen looks odd on its own, so it is important I get the freezer made quickly.

Friday, 20 February 2015

Weeks Five and Six


--Week Five--


I began the week working on some foliage, baking down the grass I had made at the end of the previous week and modelling the branches for the trees. I baked down the tree branches too and arranged them the best I could in a tree shape, using planes cropped tight to the edges to try and prevent issues with overdraw. I’m not 100% satisfied with how these models look, as they are viewed from quite low down and therefore the planes are very visible. I decided to try and improve their look by editing the vertex normals.

I did this using Maya, by transferring the normals of another shape. This took a while since I hadn’t tried it before and there issues I hadn’t expected, but eventually I got it to work. The picture below shows the tree before and after I tried this technique- I think the effect is interesting but not much better as it is. I would like for the tree tops to appear darker since they are where the sharply shadowed planes are most noticeable. I almost certainly will revisit them.


The next asset I did some work on was the steps outside. I created a base mesh in Max which was composed of two pieces of stairway, and imported it to Zbrush. I sculpted it so it would resemble pieces of flagstone, which took a fair amount of time. I then used Zremesher to create a lower poly version. I wasn’t too happy with the efficiency of this however, so before I attempted any baking I cut out the main steps and replaced them with chamfered versions of the base mesh. This worked well since the steps themselves were fairly regular shaped, it was just the walls around them that needed more polys. However I’m not completely satisfied with the outcome, as when I imported the mesh into UE4 the normals didn’t look as convincing as I had hoped. This may be an issue I have to fix with the albedo. I would probably be needing to revisit them anyway due to how I plan for them to intersect with the ground.



At the end of the week I started making the landing pad, but I worried about the amount of time it was taking, and by the end of the day I decided I wanted to focus more on assets for the building’s interior. I had been working on the bed’s headboard to fill time here and there so that was the obvious starting point.


--Week Six--


I did toy with using a cloth modifier to create the bed’s duvet, but that wasn’t going to give the puffy look I wanted so my only option was to sculpt it from a base mesh made in Max. This turned out to be fairly simple, and I managed to make the fabric quite convincing. I textured it with dark colours decorated with a printed lace pattern that I drew by hand, using yellow to match the feature lighting in the headboard. The bedframe, headboard and bedside cabinets were combined together as one asset. With the lighting unbaked the asset looks quite appealing, with the yellow lighting from the headboard and subtle blue lighting from outside. However, when the lighting is baked the asset becomes quite difficult to see due to the dark colour, and the light from outside is no longer visible. This may be because I have tweaked the world settings and global post-process too much when trying to darken the exterior of the building, so I will need to revisit this later. Another issue I’m having is positioning the light in the bedroom so it appears to come from the headboard. Right now I am more concerned with ensuring I produce all the assets I need so this shall also be postponed.



It was at this stage I realised I had completely forgotten about collision on the assets I had made so far. I added checkboxes for both collision and lightmaps on my asset list so I wouldn’t end up forgetting about it until last minute. I then created collision for the main building. The whole structure is still one large asset, so the collision ended up being formed of over 40 boxes. This doesn’t seem to be a problem.

I then modelled three different kinds of door for the level- a front door, a balcony door and one for going between rooms (though I now realise I haven’t made wardrobe doors yet). Due to the house’s modern theming I was able to create them in a way that they only needed tileable textures. I used a tutorial to make blueprints for them. I had never worked with blueprints before in UE4 so I had problems with some pretty basic things, such as changing the base mesh and materials, but I worked things out eventually. An interesting extra stretch goal might be to make the door handles move when you use them, but any animation I try and utilise will be used on more important assets such as the orrery.




My final task of the week was making the seating. Due to their simple design I could use the cushions I made for the whitebox, so I modelled the frame off them and imported them into Zbrush. I just needed to sculpt the seams on and some subtle creases for realism so it didn’t take long. However, when I tried to bake them down in max I found that there was a lot of strongly visible noise. After playing around with the settings a bit I managed to decrease it, then I baked it out twice the size I was going to need so I could resize it down and decrease the noise further. The albedo I was originally create as a map but with the cushions each being one solid colour I decided it would be more efficient to make a tileable I could change colour and apply to each.  

Next week I will continue to create the main assets for the interior. I feel I should make some of the kitchen assets next to fill the room a little more.

Monday, 9 February 2015

Week 4 Summary

This week was a somewhat slow one, not least because of finally catching the cold that was going around.

After continuing to make tileable textures for the main building for a while, I started work on the satellite dish. The modelling didn’t take too long due to the simple shapes and the ability to use modifiers such as lattice to make the scaffold around the dish. However it did take a very long time to unwrap since I then had to unwrap each strut individually. There are currently a couple of small gaps in the UV map so it isn’t as efficient as it could be, but it is very likely I will add another smaller dish to the side of the structure that can then make use of that area.

Texturing the dish was difficult- the whole asset would almost entirely be made of the same material so I’d need to make it convincing. I spent a long time adding highlights and some subtle weathering but I’m still not happy with the result. Ideally I would be able to use a texturing program like those often used in the industry such as Substance Painter or Quixel Suite, but as I greatly prefer working in the labs I am presented with the problem of not being able to install programs on university machines. Substance Painter does bypass this by being accessible by steam, but it is a lot more expensive than Quixel, and does a lot less. I am going to try and speak to the lecturers to see if there is anything I can do.


At the end of the week I started making grass to bake down onto planes. We decided to do presentations among ourselves to see people’s progress and offer each other advice. I don’t think I conveyed the alien forest idea perfectly since a lot of suggestions were things like adding lots of moon dust, I could still use the idea of a crater or two to add interesting features. Other ideas included having glass that changes opacity rather than shutters, and shooting stars. They thought the texture on my satellite dish was good but needed work on the specular.


The tasks for next week will be to make foliage and revisit the main building to create a lightmap.