Featured

Hello and Welcome!!

Should start with some introductions, but there’s not a lot to say about me or us, so I’ll keep it brief, then move on to more interesting development highs and lows (with pictures 🙂 yay! ).

at1-new_player_ship
Learning Blender to make low-poly models

I’m the lead coder and artist in our group (coding and drawing most of my life), based in England, moreorless in the middle of the country, and nowhere near the ocean (unfortunately). The current plan of action is making games, and we’ve started one, but it feels like we’re trying to walk before we can crawl, so everything’s slowed down whilst we get the fundamental stuff mastered (modelling, art, legal, business strategies, who’s in charge of making the coffee, et cetera).

The first thing on the radar is really getting everything to look nice, this being the modelling/art side of things, and to help with this we’re going to be putting a lot of model assets on the Unity Asset Store (game engine of choice), see how things pan out, and take it from there.

learning_unity_uvs
Unity and Blender starting to play nicely together …

Thanks for reading this far, and if you’ve purchased assets from us and need assistance, just fire us an email. We’ll respond promptly (usually within 1 day).

2017-03-04 (Test tubes 001)

Unity Asset Store Link ($2)

Latest asset to be accepted by Unity is the test tubes + wooden stand.

test-tubes-001-sketch
Yes, another break-time doodle …

Now, I like Sketchfab. Once upon a time, in the early days of selling models on the Unity Asset Store, I tinkered with Sketchfab, but it rarely displayed my models correctly; things flickered and there were strange visual distortions. But, Unity displayed them fine; so did Blender, and lots of other 3D packages I used. So … I decided there was something wrong with Sketchfab’s engine, and called it quits (it’s been nearly a year since I last visited the site); if it couldn’t display a simple model correctly, then what was the point? The research I did into the issue pointed me at some strange dark magic within Sketchfab’s codebase, and the devs didn’t seem to know what had happened, though they gave suggestions for anyone using Maya / Max. I mostly use Blender to model, and what they suggested I couldn’t translate across.

Woke up a few days ago, and thought: what if Sketchfab cannot correctly display N-gons? In my early modelling days, I thought N-gons were a silver bullet; suddenly, you could model anything in anyway you saw fit; it was like magic, and I used this magic a lot. But, no: N-gons are nothing but a tool, and should never be left in a production model. Most engines will triangulate them (which is why they displayed fine in Unity / plus, I’m mostly a hard-surface modeller, so the auto-triangulation would never be apparent, as animations rarely deform the model’s surface).

I tested this by importing a chunk of my newer, N-gon free models into Sketchfab, and despite their significant increase in complexity to my earlier stuff, every single model looked moreorless identical to what I saw in Unity. Problem solved: Sketchfab doesn’t auto-triangulate models, and cannot correctly display N-gons (or, something along those lines).

Would have been nice if the Sketchfab engine pointed this out — dude, N-gons aren’t supported. I wouldn’t have understood what it was on about, but that would have prompted research into the matter.

So, to sum up: Sketchfab is pretty damned awesome (now I understand its limitations).

2017-02-26 (RMH Vial 002)

Okay, I admit it — I totally forgot this blog existed (too busy sketching, assembling 3D models, texturing, and pondering over what to model next). Probably should be a New Year’s resolution (somewhat late, granted): Keep the blog updated! (and, remember the blog exists …)

0img_0592
It did pose a mild topology puzzle, going from a square to a circle in a seamless way …

The latest asset of mine to be accepted by Unity: RMH Vial 002. It’s just a simple vial thingy, seen a million times in various RPG-type games; but, like the RMH Vial 001 asset, the liquid inside is scaleable via its Z-axis, and because it doesn’t have a texture map, you can use Unity’s Standard Shader to customise it however you like.

It comes with 3 texture map variants (3 glass patterns with 3 cork textures, or just simple glass with 3 cork textures, all are prefab’ed).

The main thing here (for me, anyway) was, it was this point that I realised presentation is very, very, very important. Yes, it’s the part I have always disliked (despite having an art/photography background); but, if you spend a little time (okay, a LOT of time) correctly lighting / composing your assets for your Key Images / screenshots / videos, then everything looks a whole lot nicer, and it’s not such a stretch of the imagination to think that things that look nice, will sell better.

So, ended up with:

large
Fairy dull, but the upper right vial light is nice, and the corks have cork-looking textures this time

With a cute icon of:

icon-b

And, a YouTube video to cap it off:

So … I’m not saying: MY GOD, LOOK AT THESE AMAZING SCREENSHOTS!!! OMG!!! But, I’m starting to get the hang of making things look pretty.

And, thanks Alex at Unity for pointing me to the revised image submission guidelines (link / section 2.4): this really made my workflow faster and provided very specific info on what the Asset Store Team are expecting from publishers.

Barrel Distortion

Further to the post about colour correction and how making the pictures look good in-camera saves a chunk of post-processing time, thought I’d mention how correcting as much in-camera as possible saves lots of time. A well thought-out workflow also saves time; this also includes thinking about how you’re mapping your UVs — if you just place your islands down willy-nilly and export this layout, you’re probably adding a lot more work for you to do; if you’re constantly rotating layers to match your UVs, or placing islands arbitrarily so you need to search for where the texture piece belongs, it all adds to your post-processing time, and — as I have found out — longer the post, the more of a demoralising effect it has on you, or whoever is doing the post graphics work.

Barrel Distortion is one of those things you should be very aware of when taking pictures to use as textures. Quickly: barrel distortion either creates a bulging or pin-cushioning effect in your pictures, which leads to you having to use a lens correction filter in whatever graphics package you have, this increasing post time.

One example is the current photos I’m taking: I decided to use my trusty f/1.8 prime lens because … it was attached to my camera at the time; I just used it … because. Zero thought went into it other than I like the lens. Had I given it some thought, I would have been aware this trusty lens suffers from horrific barrel distortion effects, which led to vast amounts of time correcting the effect; and, had I given it some thought, I would have packed the f/1.8 away, and selected a lens that has virtually zero barrel distortion around a usable focal range.

The upside to the prime lens is that you can place your camera very close to the subject, and the downside to the 55-200mm lens is that my camera is now halfway across the room to achieve the same focus. But, the barrel distortion has gone, saving more time in post.

Wanting to get something done is fine, but if you don’t think it through — make the whole process efficient, even if you have to sit down with a notepad to figure it all out — getting it done will cost more than time.

The Hell that is Colour Correction

I’m currently working on the next set of items to be released to the Unity Asset Store (it’s kind of a Technomage study area with highly detailed furniture, etc), and the texturing is being done mostly from literally hundreds of photos I’m taking; cutting snippets from images and pasting them onto a UV layout template. But it’s not that simple (and that, I now realise, is entirely my fault).

The current workflow (revised many times) is:

  • Take the real item to be photographed and clean it
  • Photograph it from all needed angles (Nikon D5100, tripod, and IR control)(10 images)
  • Rinse and repeat until all items are done
  • Cut, paste, scale, rotate, touch-up, and possibly paint all pieces that are copied from the original image onto the UV layout template (22 individual bits in total per texture)
  • Then, let the colour correction begin because these images sure don’t look like the real-life item; they’re more yellow, or darker, or just … wrong. But, that’s okay — I know GIMP; I’ll just patience the hell out of this problem, and I’ll be done in no time at all. Yeah, right. This usually involves changing levels, hue, saturation, curves, levels again, back and forth a few times. This is also per individual piece (and there are 22 per texture; doesn’t sound much, but, my gawd, it is). And, eventually, you get it right’ish.

All that takes around a few hours and leaves you fatigued, especially when you realise due to the complexity of the item you’re texturing, hundreds of images will need to be taken and adjusted — the end is nowhere in sight. Upside is that I’m definitely getting better with GIMP.

However, I used to be heavily into photography, studied countless books on theory, best practises, and all that, even took some nice piccys. And, somewhere along the way I totally forgot the sage advice given — I think — by Scott Kelby: if you get your photos looking right in-camera, you’ll spend very little time working on your photos out of the camera. And this is a very, very good thing, indeed. Because doing post on hundreds and hundreds of images, where each case is mostly unique, sucks big time. So, if you set your white balance correctly (take a picture of a white/grey card for your camera to use as a white level preset), use auto-bracketing to take varying white balancing images, and make damned sure that the photo you take looks 98-99% identical, colour-wise, to the real thing on a computer monitor (camera screens are notoriously bad colour-wise), then the whole post-processing thing is restricted to just copy/pasting/tweaking; no colour correction, no messing around with any of that, or if any messing is involved it’s just minor stuff that’s done and dusted nice and quick. Get the image right in-camera, and do this by calibrating the camera so it can do its job properly.

Guess it’s all just down to finding a good workflow, and constantly striving to improve that workflow, learning from mistakes, making new ones and learning from those, and then having a full-on rant about it on your blog at some ungodly time on a Sunday morning.

Still, I feel mildly wiser. And, tired. Mostly tired, actually. Time for bed.

RMH Battery Pack 001

Sketchfab Model Previews of the RMH Battery Pack 001 on the Unity Asset Store.

Note: DCAM05 battery is missing because Sketchfab isn’t displaying it correctly (says there are issues with the normals, though this has been checked in Unity and Blender and the model is perfectly okay). There are also rendering issues with Volta’s Battery for the same reason as DCAM05; Sketchfab isn’t able to correctly render the normals around the anode / cathode levers — issue with Sketchfab, not the model.

Extracting UV Maps with Blender

Decided to do some tutorials regarding Blender and GIMP, as perhaps they’ll help folks with the basics of texturing Unity game objects (plus, Blender and GIMP are free, so great to use on a budget).

So, you have an .fbx file that you want to texture (or re-texture, perhaps you’ve even bought one of our assets, and you’re thinking, ‘nice model, but I want it to look different, because … I’m worth it‘).

Step One: Open Blender, delete all objects in the default scene, and go to File >> Import >> FBX, select your .fbx, and click Import FBX. That will place the object in the centre of the scene.

aStep Two: Select your .fbx, then go to the layout dropdown at the top of the screen (as in the picture), and select UV Editing. Press TAB to enter edit mode. Next, press A until your object has turned orange’ish — on the left-hand side of the screen, the grid should now display the UV map in all its glory.

b
UV Editing Mode in Blender (oh, the hours I’ve spent here!)

cStep Three: Click on the UV map (anywhere), and press A until all the UVs are orange. Go to the lower-left menu: UVs >> Export UV Layout. A save screen will appear. The only things you are interested in (other than where you’re storing the image) are Size and Fill Opacity. Change the size to whatever dimensions you want and, and — me personally — I would change the Fill Opacity to 0.0 so when you add this as a layer in GIMP you don’t have to mess around with multiplying the layer, or opacity (the usual 0.25 affects colouring as you’ll have to multiply the layer to negate that 0.25). Once that’s all done, click Export UV Layout and open the saved PNG in GIMP.

Step Four: In GIMP, add a new layer and use this as a drawing base. Set the UV map to the top layer, and job done — texture to your heart’s content. One thing I do is somewhere on the image, draw an arrow so you know which way is up to begin with: the amount of times I have spent hours texturing, only to import the finished texture into Unity to have it look a complete mess because I forgot to revert to the correct rotation. Even though the gut-wrenching horror only lasts until you realise you’ve forgotten to rotate the texture to its correct orientation, that horrible feeling just isn’t worth it.

Simple enough, eh?

Where’s the Other Six Batteries???

The original plan of action for the Battery Pack 001 was to release 15 batteries. Yes, sir’ee, Bob. So, why only 9? Better get comfy as I’m in the mood to rant 🙂

bat1
The Abandoned Six Batteries …
bat2
Aren’t They Cute?

The Friday before the submission of the Battery Pack 001 to Unity for review, we were pretty much ready to go, all assets were done, dusted, and polished nice and pretty. But, by chance, I happened to stumble across a post on — I think — Unity’s forum about copyright, and that’s where some suspicions I had were mostly confirmed, and thusly, things began a gentle but definite collapse.

I never considered modelling an exact likeness of an existing object to be copyright infringement, it was after all just a 3D model, something for a videogame or render, and nobody was counterfeiting goods for release to some smoky, noisy, black-market on the fringes of society.

Yes, and no. This turns out to be a very grey area (imo), and after more research into the subject, I found people on various forums spent most of their time arguing every which way, but the most consistent viewpoint was modelling a likeness of some copyrighted item to sell, or creating a modified version of said object was bad, and should the copyright owner so choose, they could sue the hell out of you. Actually, they’d sue Unity, and Unity and any who purchased your asset would then sue the hell out of you.

So, six of the fifteen batteries modelled (2 Sonys, 1 Canon, 1 Nikon, and 2 Nintendos), were painfully ripped from the pack (they cried, but you can’t show mercy to batteries). All the nice logos I created for imaginary battery companies were also removed. Because these batteries were created last, they showed off new texturing techniques and pretty stuff. I did consider contacting the respective copyright owners for permission to use a likeness of their property, but decided against it — why would they agree? Nope. Chalked the whole thing up to experience, one that taught me a lot about many things (mostly this isn’t the wild west, and you have to respect others’ stuff; they probably spent a whole lot of time designing it).

It there a moral to this story? Uhmm …. Getting sued is bad? Probably need to consider the whole picture before making plans? If you don’t do your homework, some of the things you create / blatantly copy may never see the light of day?

My personal take-home-point is: in future, I’m just going to imagination the hell out of everything I model, or, copy things that can’t be copyrighted.

Sounds like a plan.

Oh, and if you’ve not got a clue what I’m talking about. The RMH Battery Pack 001 has just been accepted into the Unity Asset Store. Follow the above link to have a gander.