Sunday 6 September 2015

Remington 700 High poly


Working on a Remington 700 weapon with a bipod for the scene. I haven't made any guns before or know much about them, so this was some interesting hard-surface practice. In the end I decided not to worry much about whether it is all accurate or not as it will only be a prop in the scene. 





Now onto to retopo, bake and texturing...

Tuesday 25 August 2015

Weekly Substance Challenge - Asphalt

I thought it'd be a good idea to start participating more in the Weekly Substance Challenge over on Polycount, to practice Substance Designer. Here's my first pass on Asphalt material for this week, all of it is procedural




Monday 3 August 2015

Interior work in progress


Some more progress on the interior downstairs. Been playing around with the post process as well, mainly using the announcement trailer of The Last Of Us and also few areas in the game as reference. I liked the trailer because it has some green/yellow color bouncing around but overall it's all fairly neutral without any strong color tints or overly bright and saturated colors, which I thought would look nice here.

Monday 13 July 2015

Wallpaper!

I switched to the interior for a bit and started working on the wallpaper, please ignore the rest as they're still placeholders!




Since I want to have parts of it peeled off, I thought the best option is to have the base wall (concrete or planks, concrete in my case) and the wallpaper as separate meshes layered on top of each other. In my case since I already had the mesh for the walls, I just duplicated it, deleted parts of it and offset the whole thing a tiny amount to use as a base for the wallpaper. Then I started adding divisions where necessary and detaching vertices to create the peeling and other random damage in Maya using non-linear deformations Bend and Wave.

Apart from that, I started building up a shader for the wallpaper. Right now I am able to vertex paint the opacity mask to erase parts of the wallpaper and also paint some worn off paper onto the albedo. I'm utilizing the 2-sided texturing node to have different textures on both sides of the wallpaper.I'll probably be using the remaining few vertex channels for dirt and moss, or I might use decals instead... will see!

The wallpaper maps were created procedurally (minus the pattern of course which was a black and white bitmap) in Substance Designer





Sunday 12 July 2015

Interior paintover

I decided to try and do a paint over of part of the interior to test out some ideas and hopefully save some time. I grabbed a screenshot from inside UE4 and painted on top of it in Photoshop. It was quite fun and good exercise, I need to learn and do this more often because it's a lot quicker to try different ideas rather than jumping in and doing it in 3D right away.


Sunday 5 July 2015

Substance Designer procedural wood planks

I thought I'd try to do some procedural rough wood planks as I need it for the porch of the house. This has probably been the hardest and most confusing for me so far, because wood is a lot more complicated compared to the other procedural materials that I have attempted to do before.

Here's what I ended up with:




The main challenge was to create the wood pattern and details that look believable, I don't think I managed to do it very well (and missed some detail out i.e. the round things wood has and I'm too foreign to know the names for) but it does look like wood to some extent, so I'm quite happy with it.

One cool technique I learned was to run a Vertical Noise node through HQ blur, directional blur, levels, then through Gradient Map node and some blends together with Wood Fiber nodes to achieve this kind of wood-ish pattern





Friday 3 July 2015

Dynamic window shutters

I wanted to have the window shutters be affected by wind as well. Similar to the weathervane, it's driven by the Directional Wind which I am randomly rotating inside the Level Blueprint, so it's consistent with the weathervane.

I needed to set up a blueprint actor with some Physics Constraint components that have fixed rotation and keep the shutters attached to the window frame. There are also Physics Thrusters attached to each of the shutters, which are basically applying force based on the Directional Wind direction and strength, which fakes the windy effect that I want.


I decided to keep one of the shutters fixed in the end, as if it's being held back by the ivy that is growing over it, whereas the other one is able to rotate freely.




Next for this is to add some collision effects such as impact sound and crumbling paint, and maybe try setting up some more clever wind which would shoot some rays at the direction it's blowing and only affect the objects that the rays actually hit i.e. if the wind is blowing from behind the house, the shutters wouldn't be affected because the rays would be blocked by the collision of the house.

Thursday 2 July 2015

Ivy experiments and dynamic weather vane

Have finally moved back home, so I can once again put more time into the project.

I re-made the ivy as a small branch which I can re-use to create ivy clusters, which I then import into the engine and use to dress the scene. Not 100% happy with it at the moment and will be redoing it again at some point, but I decided to keep it for now since it is still an improvement from the last one.

The main difference is that the current one is a simple vertical branch, which I can re-use easily to create ivy clusters, compared to the previous one which was a huge triangle shape vine with lots of leaves, maybe good as a unique piece but not for re-use.

One thing I don't like about the current one is that I made it too short, and I should have pushed the leaves out more to cover the stem and maybe add a bit more leaves in general.

It was an interesting test to try and adapt the "Hero LOD" technique from Epic's Kite Demo trees for the ivy, I think it will work quite well and look nice on close-up shots.

I experimented with some ideas for dressing the scene with the ivy clusters, it will most likely change some more sooner or later, but I wanted to try using more of it:




Another thing I wanted to try was to make the weathervane react to the wind dynamically rather than just sitting there. I grabbed the placeholder that I had and started experimenting with Blueprint. I did a rough pass on it, which more or less works besides being a bit choppy, but I know I can definitely do it better as it's nothing complicated, just need to put more time into it.


The weathervane object is split into 2 (top and bottom), the bottom is static and the top is dynamic, which is driven by the Directional Wind Actor that is set to rotate to random direction at random intervals and also random strength.




Wednesday 1 July 2015

More Substance Designer

Obligatory tiles this time, all procedural again. Wanted more dirty/broken abandoned look, can easily make variations as well for vertex blending, for example one without broken tiles, one less or more dirty.

Didn't use much reference for this but tried to make something up. I broke it into layers as usual:

Concrete?Dirt?Dirty concrete? for the base
Tiny stones on top, I did 3 variations to vary the size and color a little bit
Large tiles, a checker pattern was used as a mask to create the white/orange color pattern
Small black tiles which are just a tweaked duplicate of the large tiles
Some of the tiles were broken off by tweaking their mask using a combination of nodes and new mask was created to add some small broken tile pieces on top
Some subtle colour variation on the tiles i.e. yellow / orange stains
Dirt all around the tiles
Dust, a bit all around but mostly spreading out of the cavities





Saturday 27 June 2015

Learning things

Started learning 3ds Max to be able to add it into my toolset. As a dedicated Maya user since the dawn of my 3D adventures, I was a bit worried that it will be difficult to learn and Max has always seemed quite confusing to me. Surprisingly it took less than a day to figure out the UI and learn how the program works and while my muscle memory is still screwing me over from time to time I can definitely see why some people prefer Max over Maya for modelling, it is actually quite awesome.

Huge thanks to David Lesperance for the "Intro to 3ds Max" gumroad series! Would recommend it to anyone looking to pick up Max: https://gumroad.com/metalman123456123

I have also started diving more into Substance Designer, more specifically the procedural texture creation. I've been using SD for a while, but mostly only for baking and compositing/editing maps that were brought in from the outside. One of the goals I've set for the Abandoned Farmhouse scene was to learn and use Substance Designer more to create the textures procedurally (or Zbrush if I can't do it in SD) and then add some final touches in Painter, rather than using photo-sourced textures and relying a lot on Photoshop which is what I've been used to doing in the past.

I tried to create a country-side road type of material completely procedurally to replace the placeholder one I have in the scene right now, and while I can spot a lot of mistakes looking at it now, it was really fun and taught me a lot about different nodes.

The first thing was to collect clear high res reference images which I think is very important so you're not doing anything off the top of your head. I then scanned through them to figure out what makes that material recognisable, what kind of detail I will need to create etc. I also took note of any unique details that I liked which may only be present in one or few of the images I had, for example small grass patches growing out or small pieces of red brick buried in there.

Then I moved to figuring out how to create the kind of detail that I needed to do (stones, grass patches, small twigs etc), which nodes to use and how to use them. I started with working on the Normal map and then from there used the same masks to create the other maps such as Albedo.




Looking forward to exploring it more

Sunday 21 June 2015

Some high poly modelling

Started doing some more high poly modelling, this one will be for the main door of the house




More WIP

Some more progress on the scene. Mainly working on the roofs lately, learning how houses/barns and their roofs are built, redoing some of the structural assets as well to make sure it's cleaner and reimporting parts as individual pieces rather than having them combined so I could instance them, adding some new placeholder assets in as well and iterating stuff.

Regarding the roofs, I originally planned to have corrugated metal type on the barn after looking at some references, but after some tests it just stood out too much and looked odd, so I switched to tiles. Studied the roofs in Assassin's Creed: Unity to figure out how to do them nicely so they wouldn't look flat as hell. It came down to extruding some of the tiles out, mainly around the edges of the roof to make the silhouette nicer, but also all around the roof. also selecting multiple ones in several places and extruding them in a little, and deleting some of the tiles to reveal the planks underneath which is something AC: Unity didn't do but I thought for an abandoned building it would look interesting:


(The dark patches are lightmap errors)

I tried tessellating the tiles as well since I had a height map baked out, but it looked quite awful and distorted, and it also required me to add an edge loop around every single tile to avoid it looking even more distorted, so I thought I'll stay away from it. Might experiment with a POM shader in the future though.

Right now I still need to finish them off and do some vertex blending of moss, dirt and broken tiles to break up the tiling and get the roof to look less plain.





Saturday 13 June 2015

Photoshop PBR value swatcher


I was looking to start a swatch set to store base sRGB albedo values for different surfaces, so I wrote a quick Photoshop script to make the process faster and less tedious.

It's pretty self explanatory, but I'll quickly go through it. You can input linear values (in either 0-1 or 0-255 range) as well as names into the textfield, separated by a comma and one per line i.e.:

0.25,grass
0.04,charcoal
0.85,fresh snow

and the script will loop through them all, convert the values to sRGB and add them into your current swatch set.

There is a checkbox called Colorize, when ticked it pops up a color picker dialog for each value before adding it as a swatch, so you can tweak the color if you don't want it to be a greyscale value.

You can find the values on the charts that are available or somewhere else on the internet.

Download the script here: 
http://edpetrauskas.co.uk/downloads/pbr_value_swatcher.js

Place it in your "photoshopdirectory\Presets\Scripts" and access it through File->Scripts in Photoshop, or make an Action or something and bind it to a key :)

Monday 8 June 2015

Puddles!

I wanted to add some puddles into the scene. I checked out the awesome article from the "Remember Me" guys (https://seblagarde.wordpress.com/2013/01/03/water-drop-2b-dynamic-rain-and-its-effects/) and it seemed pretty straight forward on how to do it, except that I wanted to have the puddles on UE4's Landscape and not a static mesh, so it quickly became a bit less straight forward :D.

While in general it worked, the main problem was that there is no way to get the value of the landscape paint layer (or at least none that I could find) the way that you can get the value of the vertex color that is painted on a static mesh. It was important because the value controls the transition between puddle and dry land in the material to tell it how saturated / opaque it is etc.

The solution was... pixelz! I created a black and white texture mask where I wanted to puddles to be and then I was able to plug it in my landscape material on top of the landscape paint layers to add the puddles in. Not the best solution, but for a small scene like this it worked well and because it was a texture, I was able to get the value of it to control parts of the puddle material where normally vertex color values would be used.

Since the landscape is pretty huge and it would require the texture mask to be gigantic in size, to get better texel density I tiled the mask on the terrain in the way where the puddles still roughly align to where I originally wanted them to be, and then any of the ones that end up repeated around are removed using another mask which can be low resolution.




I also decided it would be nice to add some subtle wind to the puddles, since the scene is a bit windy. A quick and dirty approach for now was to pan a tiling wavy normal map across puddle, which is lerped with a flat normal and the alpha of the Lerp is controlled by Time plugged into Sine nodes and randomized a little.





Progress on the scene

Some slow progress on the scene.

I gave in to the idea of surrounding the area with trees (breaking bad scene all over again! ;D). I thought it will look better and definitely make more sense from gameplay perspective instead of leaving it open as it was before. I didn't want to close all of it off though, so I left a part of it open which shows vistas of buildings of a city that is nearby. I thought the idea could be that it is the destination for the player(s), who emerge from the forest and are forced to explore the farm house and stay there overnight because it's getting dark and they are too low on supplies to continue on the path to the city.




Reorganizing and custom tools

I'm not dead! Just been a bit busy, but I've spent some time tidying up the project and thinking of ways to stay more organized and work faster. One of the things I did was revisit Mel script so I'd be able to write myself some tools to improve my workflow for this as well as any future projects.

I noticed that my projects were always becoming messy and it was really slowing me down, so I rethought my folder structure and then wrote a little Maya tool to help keep myself organised and work faster:


It let's me add/remove categories for assets and specify export folder for them, for instance Foliage, House Interior, Exterior Props etc, and then assign them to any mesh in the scene which then allows for fast one-click exporting as well as having quick access to all of the assets if I want to open them or insert them into the current scene, without having to search through the folders.

It also allows for one-click texture exporting, it grabs the textures plugged into the shader of the model, asks me whether it is a tiling or unique texture and then copies them into the correct folder inside my project directories.

Besides that, it has some smaller features that I found are quite useful, for example creating a new asset, which allows me to pick a starting shape i.e. cube / cylinder / plane etc., and creates a new scene with it as well as a scale reference on the side of it which is semi transparent and added to a layer that is set to be Render-only. Apart from that I am also able to add a new scale reference in and quickly apply a checker material to a selected object.

I found that the tool works really well together with UE4's auto import. I made it scan the folders to which my Asset Manager tool exports the models and textures to, and auto import them into the project. Works super smoothly!





Next on the list is to identify some of the common workflows I use while creating certain type of assets for example foliage or architecture and create a tool to have quick access or to automate some of the aspects.

I've also looked into hotkeys which for whatever reason I never really used much in the past. Maybe because of the clunky pre-maya 2016 hotkey editor, which they have now updated to be much nicer to use. I've set up keys for some of the most common tools I use e.g. extrude, bridge, multi-cut, merge verts, bevel etc., as well as some custom commands. One trick I found to minimize the amount of key combinations, is to assign different commands to the same key combination but based on the component that is selected. For example having edges selected activates the Connect tool, having whole model selected activates Add Edge Loop, and having faces selected activates multi-cut. This requires some Mel (or python) scripting, but it works really well ^^

Sunday 17 May 2015

A start on some foliage

For the breaking bad scene I left foliage till very late in the project and then ended up rushing it and had it looking quite awful, so to not repeat the mistake I thought I'd work on it early this time. I spent most of past week looking into games that have pretty foliage like Crysis 3 and studying it to try and understand their approaches. Learned quite a bit and figured out some nice techniques, especially for ivy, so will be putting it into practice soon and might also write up a tutorial for anyone interested :)

Started working on and setting up some ground foliage, the grass has been a nightmare but I think I finally got it to look better. Started blocking out the barn at the same time as well, still super rough, not sure yet if I'll keep it red paint with most of it being chipped/worn off, or just plain bare wood

Some screenies:







High poly dandelion:





High poly grassblades: