Wednesday, 13 May 2015

Week 14


This week was shorter than usual due to a bank holiday on the Monday. Since there were three weeks left to the project the priority was to ensure I had everything that was already in engine at a passable standard, just so I wouldn’t have to worry at the end.

The cupboards had had fairly little work put into them, and the ladder- one of the main features of the asset- hadn’t been made at all. I fixed this quite quickly, deciding that any additions from this point onward could probably be unwrapped to a separate texture sheet, so I got the lightmap made and out of the way.

I then returned to the matter of the platform. Due to some strange errors I has having I couldn’t have light shining out of the edges of it and reflecting on the floor, as the floor was not showing any lights I added. The change I made to make up for this was to have the lights below the edge shining upwards, with a border added around this to disguise where the light would hit the floor. This worked surprisingly well.


I put a window frame in the skylight to add some detail to the hallway, as well as making some lights to brighten and add interest. I made them ring shaped to go with the lights around the platform.

It was difficult now having so many lights in the scene, as Unreal doesn’t let you have more than four baked lights interfering with each other. Fortunately there were only a couple of errors, and I could see the overlapping attenuation radii by setting the viewport to display lighting complexity. The only really visible change I had to make was removing one of the lights from the patio, but having both lighting and foliage coming from the ground up against the wall was unlikely to look the way I intended anyway.

Another outlying job was to add cables to the lamp and weather station, and make something for the orrery’s cables to go into. This was quite simple, and the generator I made didn’t need too much texturing work to look convincing due to being so small.

My favourite achievement of the week was making a force field above the living room. I had to create a material that contained a variable, then a matinee that controlled that variable within a small time frame. When the matinee would play had to be controlled in the level blueprint, so I decided to use a trigger box. This part was quite easy as I had experimented with object-oriented programming before.


I had originally started making the material by modifying a duplicate of the basic glass material included with the editor as I was going to have the glass and forcefield all in one, but I was having some trouble with re-importing the building shell at the time. In the end I made the shield as a separate mesh and deleted all the refraction inputs that had made it glass like as they weren’t necessary. The pattern that appears as the shield disappears I made by combining a basic gradient texture and another texture of a simple hexagon mesh. I gave this mesh a blurred edge so that the mask would change as the variable changed. Adding the glowing edges as the mask transitioned was simple as it involved duplicating the existing mask and changing the value at which it was opaque just slightly to offset it.  To get the animation looking its best, I was sure to have the UVs of the forcefield mesh mirrored down the centre, and that this seam would line up perfectly with the hexagon pattern.

As a final quick task for the week I made blinds for the bedroom, to add a little more detail and realism.


Friday, 1 May 2015

Week 12/13

From what I understood, my diorama project from Christmas was due to be resubmitted at the end of what would’ve been week 12, so I spent almost all week polishing that. However, at the end of the week we did presentations to the tutors and small groups of our peers so as to receive feedback.
The main issue was my lighting inside the house. I desperately needed more light to highlight the assets I had made as the light from the skybox wasn’t enough. One of my peers gave me some good advice and even fixed a problem that I was having with the Orrery casting strange shadows.

Week 13 I mostly decided to dedicate to improving the foliage variation, as I had been given feedback on that previously. The first day I spent creating a piece of terrain that you would see in the distance. I started by creating a simple mesh, then I decided I wanted more detail so I brought it into Zbrush to create more mountainous-looking normal map for it. Unfortunately this wasn’t really visible, so I decided to use the normal map to make some ambient occlusion instead. Combined with the textures I used for the rest of the terrain and some LOD trees, the result was passable but not great.



I decided to make a variation of tree that would feature less than the main ones, adding a little texture and colour difference to the scene. They would be around the same height but very slightly greener than their more common counterparts. The leaves I created using photographs of trees against very white skies so I could edit them easily. I put a vertex in the middle of each clump and pulled at them slightly with soft selection so they wouldn’t be perfectly flat. Arranging the leaves took the longest time. When I was done I edited the vertex normals in Maya and when I was finished I was pleased with the result. The texture map I used had some left over space, and I made a rough flower to experiment with.
I made another tree too, this time shorter and a more purple colour, using the same techniques. However the clumps of tree branch I used this time were too big and resulted in the planes being too easily distinguishable from each other. I am considering going back and adding more planes. The only other option is to remake the leaves entirely.


I finally got around to baking down a better rock texture to fade out my cliff, arranging the high poly rocks over a plane in Max. I also made a darker grass terrain to blend in shadowed areas alongside making a more illuminated version of my grass plane texture to place in areas without shadow.

I roughly textured the patio as it had been left blank…


And finally, at the end of the week, I managed to fix the lightmap on my building! At some point the instance of the mesh had been set to override the lightmap resolution to be smaller.

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.