Monday, 11 March 2013

Rocks revisited

Having felt somewhat defeated last time I tried rocks, I gave them another go.

Again, I tried making small parts of rocks in mudbox:


I made quite a few rock pieces, then loaded up 3D Coat. The plan here was to use their voxel-based sculpting to merge the several pieces together into one rock, so that they could then be sculpted together seamlessly.


However, when i started to sculpt them together they ended up looking strange and I was not able to get what I thought might work nicely. However, with them apart worked nice enough so I fiddled some then brought them into max for the retopology and baking.

I started off retopologising by hand, but this was taking a long time so I tried using ProOptimizer, which did a decent (ish) job and after some cleanup and unwrapping, I was ready to bake.

I used my Autobakerrr script and slapped the same rock material texture as the stone wall underneath the rocks. I'm really pleased with how well Autobakerrr is working, its really saving me time and gets such a nice result. Up until I baked the textures and applied them to the model, I was unhappy with the work so far, but once they had texture on them, they looked a million times better, and now I'm fairly happy with the look of these rocks.


I was a little concerned I had used too many tris, so as an experiment, I thought I'd make the low LODs to see how they came out. Surprisingly well is the answer! Also, bashing the same model together yielded a pretty nice result without obvious seams.

My only concern at this time is that its using a 1024 texture. I may have to make a detail texture and scale it down to 512 for efficiency's sake, but we'll see.

Stone Wall

I've been tinkering with a stone wall texturing process. Although I may redo the texture, I'm very happy with the process and end result.

I started with several boxes in 3ds Max, positioned so that they would tile horizontally and vertically:


I then sculpted these in Mudbox, then brought them back into 3ds Max and repeated them for the bake:


Using my Autobakerrr script and a little fiddling gave me this in about fifteen minutes:


Slapping a tiling rock texture behind it, and making a few fairly quick adjustments gave me a pretty nice result using diffuse, specular and normal. In engine, I will also be able to use the height map to tesselate/pixel offset if I desire.


Thursday, 7 March 2013

WIP Runthrough

quick playthrough of the level so far.

(again, lots of UDK stuff which isn't mine)


Wednesday, 6 March 2013

Mixescripts

I've found myself wanting Maxscripts I've written at home when I'm in the labs, and keeping a repository of the little script snippets I've done seemed like a good idea, so I thought I'd record them in a blog.

http://mixescript.blogspot.co.uk/

(Mike's Maxscripts... Mixescripts... geddit?)

currently I've written scripts for the following:
  • Flatten unwrap selected objects (for UDK lightmaps)
  • Make Planar per face (for fixing skewed polygons)
  • Bounding Box Dimensions (accurate even when object has been rotated)
  • Export Selection Individually (for exporting UDK tileset pieces)

Tuesday, 5 March 2013

Architectural Tileset

So I've been working out what pieces I need for the architecture. As I looked into what I wanted, I found more and more that I didn't really want heavily ruined architecture like I first imagined, and I leant more towards gothic architecture. In particular, flying buttresses and cathedrals. So I ended up with the following pieces:

I developed these as I was placing them in the level. These are currently just placeholder. They are the exact dimensions of the final models, but I expect to make the final models with a bit more geometry to make them look nice.

Here's what I put together so far (again, i have to stress, theres a lot of default UDK assets here still which arent mine):


Bridge/platform and Tower:


Saturday, 2 March 2013

Lighting Frustrations

The lighting in UDK has been somewhat frustrating for me. The fundamental problem is that UDK has been set up expecting to use precomputed lighting. This works fine for indoor areas, but I need realtime light to allow me to do a full day/night cycle and as a result, I'm working against the grain of what UDK knows how to do.

My various frustrations include:
  • Although UDK can perform deferred shading in directX 11 mode, I do not have access to the normal, diffuse or specular buffers to make any adjustments nor do I have the ability to modify the cascaded shadow map before it is compared with the scene.
  • The results of the cascaded shadowing are not blurred or dithered and because of the above, I cannot make these adjustments myself. So the shadows are either pixellated or blurry, never how you'd want.
  • When rotating the light, updates to the cascaded shadow map appear to happen only when the light has rotated by more than (complete guess here) 0.1 degrees. Although this sounds like very little, it results in the jittery movement of shadows
  • Due to the way cascaded shadow maps work, their results as the light is rotated vary quite considerably, leaving jerkily updating shadows
  • Due to the way cascaded shadow maps work, I have to comprimise between undesirable self-shadowing across oblique angles (causing shadow striping), or "floating shadows" caused by an offset.
  • I am unable to use custom lighting on terrain to hide the undesirable self-shadowing at oblique angles.
  • I have been unable to find a way to interface with the baked lighting in any way
  • In the dumbest bug to date, when a light is rotated very slowly, if you're looking horizontally, it doesn't move. look up ot down to get it to carry on moving. just... what?!
All of the above appear to be pretty much unavoidable, and have to be hidden away and mitigated as best as possible. A couple of features which I may be able to implement but are not currently implemented in UDK are:
  • The current post-processing chain built into UDK is very well-featured, and probably well-optimised, but is costing 5-10ms per frame... this is cutting frame rate by about 30%. I may have to live with that, but if I have time to implement my own post-processing solution I may be able to cut some of the features I don't need for a fairly substantial framerate boost.
  • UDK's out-of-the-box bloom does not feature bokeh (shaped) bloom (it does feature bokeh depth of field but that's not really what I want). This would be probably the hardest thing for me to implement, but I'd really like to give it a go if I have time at the end. It looks super-nice when water catches flecks of light and you get a bokeh effect on the highlights.
  • Post-processing parameters are not kismet or matinee-accessible, but can be adjusted in UnrealScript.
Don't get me wrong... I love UDK. With it, I can do all of the effects I want, and I'm hoping it'll pay dividends when I come to that part... But its frustrating when I see somebody create a new level in CryEngine and within minutes has a day/night cycle with none of the problems above. and it has bokeh bloom. and a better frame rate. And such pretty water...

Really wish I was using Unreal Engine 4 to do this stuff. :(

Friday, 1 March 2013

Blockout WIP

I've been working on my blockout for my environment to help me figure out what stuff I want in the scene.

I started in 3DS Max trying to figure out a good layout, but found it very hard to get a sense of scale or really imagine the environment from the player's perspective. As a result it came out pretty flat and boring.


I took the result into UDK and made use of the terrain tool and existing UDK assets to get a better sense of what I wanted. After showing the environment to half a dozen students and  getting feedback from them and watching them play through the environment, I made many revisions to the layout and flow of the level. The main areas I improved were:
  • Allow the player to explore a little more (less "on-rails")
  • One area needed better guiding to help the player go the right way
  • Improve the sense of depth in the background
  • enhance the scale a little more by making things taller
  • adjust the field of view to allow the player to see more content on screen
  • many other tweaks
... so now I'm pretty happy with this layout and the content of the scene. None of the assets in the pictures that follow are my own.




I dare say I will make further adjustments, but I don't expect them to be particularly huge changes any longer.