Don't stand in the way of my actualisation as a man
Ramblings of
Alex Lovett


Up a Level - error_log - Experiments - Store


Unity5 - Reality_2.0 - Math_Art - Lilly - Drawing - GameDesign - Inspiration - XFactor - Valideus - Food - WheelReview - GKN - Lumen - WishList - RoundTree - Painting_with_Light - House - Website - Fridge
Tags: - Programming - Games - Unity - Shadowood
Show comments

Some stuff I am playing with right now for game I am programming.

Show comments for 'Fluid Displacement'
Tags: - C4D - Games - Unity
Show comments

I recently saw some impressive Arch Vis videos here ( done in realtime )

Link: --- showthread

Link: --- unreal-engine-4-and-archviz-by-koola

Those already look better than anything I got in Cinema 4D with Vray.. though mostly because it crashed all the tim, came with nothing correctly setup by default, and was insanely slow on my machine.

And yes this was achieved with UE4 ( Unreal Engine 4 ) Which is a very very impressive bit of kit if your machine can run it and you don't mind C++ A discussion on the pros and cons of that is a lengthy one, each to their own.

As a huge fan of Unity 3D, things like this inevitably annoys the hell out of me. As far as Unity has come over the years, Unity 4 cannot get even close to UE4 in terms of graphical amaze balls.

But Unity 5 I hear you cry! is coming soon!

And we have been promised all sorts of amazing newness like PBR ( Physically Based Rendering ) in Linear Gamma colour space with HDR Lighting. Even Realtime GI ( Global Illumination ) at long last, I have waited for this for half a decade after seeing the first Enlighten demo.

So can it compete now? kinda... almost.. so close
And getting close in of itself is a huge achievement from where Unity began.

Lets see how close I got

And this is all done in the beta version, things will change, things are being fixed and added still

FYI There is more on this here:

Link: --- Y2014-Mo09-Unity5

Humble start

So far not impressed as light seems to leak in / bounce way too much. But this may be configuration woes, saying that as soon as you Bake the GI instead of using realtime it looks way better in terms of having truly dark areas where they should be. And already annoyed as you cannot use Area lights with the realtime GI ( yet ) but also Point lights cannot be USED! ( though this appears to be a limit that will be fixed by release )

You can cast nice Shadows with the baked GI, but that is not possible with the realtime

You can mix the realtime GI with baked though so all is good.. well that is if baked lighting ever behaved properly.

Problem is with the baked GI it HATES you, and it hates UV seams even more, which is bad given it is often impossible to not have UV seams.

I find it hard to believe the new GI suffers just as bad with seams as the old Turtle Beast powered one. Surely this is a basic thing to solve with math and cleverness.

As if UV mapping isn't torturous enough, but now you have to UV map really really well. If your UV faces are not perfectly joined together it will result in terrible glitchy ugly baked lighting.

It is so bad and so crippling I MUST be doing something wrong.


And where things overlap sometimes you can an impossible ( for me ) to solve problem:

And whoever wrote the UV spacing code should be violently eviscerated:

Event the worlds most naive implementation could do a better job of space use. Key take away is to never have long thin sections of UV, say you have a really wide but narrow cylinder. Break the UV into separate pieces, but this creates seams in the lighting!!!! so better break the model up into separate pieces and pretend it was some kind of building limitation say they can't make pieces of walkway bigger than 8 meters


Oh screw you, how can it be that bad. No I do not have any weird overlapping polygons, or bad UV's

This is what happens with lots of long thin UV's this is the built in Uv mappers idea of how to do the job:

Worst part is that UV map is out of your hands, as it is a combination of every object in the scene and you cannot manually edit that.

Trying to make surfaces reflective with cube maps / reflection probes is a joke. They are only suitable for very very vague reflections on large areas like walls and floors. I tried having multiple probes but it just makes things worse and Unity doesn't interpolate / blend between probes so if an object moves around the scene the reflection just jumps from one probe to another suddenly.

2 blow are UE4's example scene for reflections. Mind is blown

Then I discover Candela for Unity, Screen Space Reflections woo ( graphics card screams in the background )

Next up some nice bloom and lens dirt, made famous by battlefield, which does it famously bad below:

My attempt using Sonic Ethers Bloom in Unity, keeping it subtle
Also note my attempt at replicated an IES type light effect using multiple realtime ( no GI or bounce ) point lights with a light cookie
Note Cookies and 3D Cube cookies fail to bake ( they used to work in beast ) but I heard they are adding that to Unity at some point
So I have an area light for the GI and then several realtime only lights with cookies on over the top.

I tried adding some floating dust particles in the air that you can walk thru but it failed to composite properly with the screen space reflections. It does work if I put it on a separate camera and compose those 2 together though, but setting the layer masks was broken in the beta so I removed it:

Even the floor is nice to look at now, if you can ignore the fact that the Light Probes seem to be ignored for the normal map / diffuse lighting so you can only see the tiles bump when the sun light moves over it

Getting serious now with the addition of the plastic chair!

Even more serious now with artistic angle and liberal depth of field

And now to make a more complex scene than just cubes


But I get a bit carried away as I do

Rendered in Cinema 4D

Got carried away trying to make some modern art and failing:

And now over to Unity, ugly at first but give it a moment

Adding some walk ways and coolness

Getting better, also added bonus you get treated to random abstract art by the post effects:

And from underneath, if you see this, it is the last thing you will see as I have no code to reset your player position:

Decided to make this place his home:

Turns out using deformers to bend basic primitives is a sweet way to do things

Procedural-ish Steps
So I can add more steps if needed without having to remodel anything

And at Low GI

Getting fed up battling low resolution shadows even at max settings. So only solution is to break the largest pieces up into smaller ones even more.
I'm sure braking this up into even more models and polygons could only yield better results.. or more spectacular failures, place your bets...
Realtime GI below.. looks better, fancy that:

Show comments for 'Unity 5 Realtime G Bits'
Tags: - Photoshop - Shadowood
Show comments

Finally, it is done, I have a company name, and domain name. *dances* managed to get and the new .uk

The domains and hosting are provided thru an excellent company named TSOHost, I have been really pleasantly surprised at how helpful they have been, there are a lot of cowboys selling or reselling hosting so it is nice to have the peace of mind of a solid company behind my hosting. And it is 'cloud' hosted so not the typical solitary server shared by 200 customers, but on numerous servers so it should handle sudden large spikes in traffic, always be prepared for success


and SSH / SFTP / RSYNC support for the nerd in me is a huge boon. Anyway enough gushing, I don't even have an affiliate link.. ok now I have one



Link: --- aff

Or use the Voucher code: TENOFFTSO

Either way you can get 10% off

The Full Article about the logo design and naming "process" here:

Link: --- Y2011-Mo11-RoundTree

This has taken a disproportionate amount of time for how important it really is. But it mattered to me personally to get right.

No real website yet just a placeholder, will keep it simple ( for me ) and start on that when I have more of my actual game finished!

The original round logo on fire used on my personal Portfolio / Gallery was started in Jan 2006
And the reworking was done November 2011 which produced 'Roundtree'
Though it bugged my how it sounded like a famous brand Rowntree so I restyled it to the Lonetree name around July 2013 which served me internally for a year and shows up in the work in progress for my game.
To then start redoing the name again in June 2014 as I was finally buying the domain and hosting and just didn't 'feel it'

Some of the work leading up to the final design, It's not that I'm so smart, It's just that I stay with problems longer -- Einstein

Show comments for 'Shadowood'
Tags: - Games - Unity
Show comments

Took a 'break' from working on my game to make a hover car.

Took me forever to add a basic self righting / stabilisation mechanism due to the confusing nature of rotations, gimbal lock and quaternions

Uses a configurable grid of hover forces under the car also so it isn't disturbed by small objects

Can set stabilisation force for when on ground separate from when in air

If you set the stabilisation force high for on ground it will stay level even when climbing a slope

And just played with it using the wireless xbox controller, tis fun!

Used Tattiebogle on Mac to use the controller

Link: --- Xbox360Controller

Show comments for 'Hover Car'
Tags: - Apple - Tech - Games
Show comments

Nerding out over here with the new Swift programming language from Apple
Read the ebook, quite impressed with how elegant it is, minimal but powerful pushing the functionality to the frameworks like Cocoa and SpriteKit, GCD for asynchronous code and so on.

Most importantly is, I can already write code in Swift, I cannot even read most code in Objective-C

Super nerd points for writing Swift code in a command line terminal window:

Even bigger nerd points for doing the same with C# and Unity:

I'm already jealous of a few of the language features that C# is missing, like easy to read write Tuples, and the range syntax '0.0....120.0' nice they stole that from Python I think.

The fact that it looks so much like a script language, yet is really compiled down to machine code is a key detail here. The fact it looks like a script but has no garbage collection is also significant. So very very glad I chose to learn C# instead of Objective-C as it has pretty much already taught me to write in Swift, people going from Objective-C to Swift will probably find it harder


Also very jealous of the ability to write into this realtime 'playground' where it runs your code as you write while showing visual representations of values, code ran over time even fully rendered graphics object on the right side of the screen. The Ability to scrub your playback back in time.... awesome.

The fact it is a closed spec/compiler and will only run on Apple devices, well what do you expect.

And this had to be done with the new playground:

My talents are wasted

But swift is really elegant and minimal, while allegedly very very fast.

versus c#

So very very similar looking to C#.. and semi colons are ugly

Also I just I write a nice script that you can drag/drop a Unity project folder onto and it will inject preset hardlinks ( like symlinks but craftier ), so say you have a Standard Unity Project folder with a bunch of utility scripts, standard images and stuff you like to always have in a project, it can link to that ( can show a lis. t of items to pick from if you only want to include some not all of the items also ), and another script you can drag the folder/folders onto that will remove those links. Tested it all and It's completely safe regarding deletion. Which means I can finally start using separate Projects for things instead of lumping everything into one big monolithic super project that takes over 10 seconds to compile every time I change something in the editor :-S

Producitivty Ho!

Trying to implement something similar to Swifts built in language support for Tuples

Creating a generic list of an anonymous type, simple enough

But how do I return an anon type from a method?

Using anonymous types and casting using an extensions method, is how:

Once you hide all that extensions method stuff away It's not too ugly, you are left with a function that returns an object. And you take the result and just do:

whateverResult.CastTo( new{ name="", age="" )

And then you can access the properties as per usual, but this will get real ugly for lists of anon types, and yes I realise I have age as a string not an int

And yes with dynamic type you can probably do this nicely, but I target iOS with is ahead of time compilation AOT, so cannot do dynamic

Still.. .swift is better

And next C# has Tuples but they are completely useless ( thought I think they are improving this in C# 6 )

You can't name there arguments, and it looks ugly as sin, I hate angle brackets

I also saw someone creating a class that inherits from the Tuple type, allowing you to add names to it... not sure why you would ever do that.. I guess it saves you having to implement IComparable, IStructuralEquatable and friends on your own custom type.

So back to using 'out' parameters, which are kinda nasty... very nasty really, just not as nasty as the above

Show comments for 'Nerd Day with Swift'
You have reached the end of this page - But there's more! Click Older for more
Subscribe to my News Feed.. or screw you then!
Pretend to be completely in control and people will assume that you are -- Steve Jobs
Copyright © 2006 - 2024 - Alex Lovett
Site and content designed, built and massaged by
Alex Lovett
( HD6 / HeliosDoubleSix )
contact me by email:
Page Rendered in: 0.031 seconds, like a boss