Saturday, September 3, 2016

Unity Fitbit Class finally online!


Hey everyone. So I've done 2 posts on Unity and Fitbit and how to get it up and running before.
Lots of people have been asking about the UnityFitbit class that I either mentioned I would get online (and have just been busy/not wanting to refactor so you guys can actually use it :P )

Well today I finally sat down and refactored it out so it "should be" ready to be used by other people

Find it on Github and feel free to submit fixes/updates etc. to it as well.

By all means there is some crap in there that I should clean up (the Json convert to XML for starters)
But this is just what I've been using because it's what "I" need personally for my project.

If you think you can help out by making it work better and just in the JSON by all means please make a branch and submit some pull requests :D


PS: Make sure to check out  if you need to figure out how to get it all working natively (as per Fitbit's ToS)

Thursday, June 2, 2016

Photoshop Extensions


Well it's another post about Photoshop and some extensions I've made.

If you remember from a few months back I made and released Layer Cake out into the world and just last week I released another called Normally Panel.

So Normally Panel allows you to do things like Rotations, Inverting and 2 different types of blending on Normal Maps in Photoshop.

Today I released (like literally 30 mins ago) Lazy Save.
Lazy Save was made for my own use at the start because I was getting annoyed that I had to keep doing
  • Save As
  • Select my image output type
  • Append or even change the name of the file I was going to save out
  • Finally Save
So Lazy Save you select the folder you want to Save to. 
Select your naming convention (there's 4 options to choose from currently)

-Do not use Group Names -> this will save your image out as your file name (if it's Example.psd, your image will be Example.jpg/png etc.)
-GroupName as prefix -> this will save your image out as MyGroup_Example.jpg/png
-GroupName as postfix -> this will save your image out as Example_MyGroup.jpg/png
-GroupName as output name -> this will save your image out as MyGroup.jpg/png

Here's an example of it in action also with going through all the types of naming conventions.

TGA also pre looks at your channels to determine if you are in RGB mode and then if you have an alpha channel. If you do, it will auto save it as a 32bit TGA and if you don't have any extra or you're in a non RGB mode, it will save it as a 24bit.

I hope people find this handy I know I will/have already.


Sunday, March 6, 2016

Layer Cake, Growth from a script to an extension!


So my last post was about how I made a little script for Photoshop called Layer Cake that allowed for offsetting multiple layers at once (instead of the tedious manual way that people are doin it now :P )

So, since that post, I gained feedback and feature requests on  the Polycount thread and because of this, Layer Cake is now a 4 script Photoshop Extension.

Grab the extension from

It's currently available (known and tested) in CS6, CC 2014 and CC 2015!

You can see a NEW AND IMPROVED feature video about Layer Cake below!

In short, Layer Cake is now:
Layer Cake 
Multi-Layer Offsetting of selected layers.  No more hiding layers you don't want to offset, just select what you want to offset (even groups!) and hit Layer Cake. You can even preview your offset, so you know where it's going to end up.

Whatever values you used last to offset with Layer Cake, you can now hit Rebake to use the same values to offset WITHOUT having to open the UI.  Great when you're doing the same offset amount multiple times!

Preview your Tile in a 2x2 size document to quickly check for seams or see how busy it is. Want to see it in a bigger set? Hit Icing again on your new document to essentially see it in a 4x4 (you can keep hitting Icing to get bigger and bigger but beware of how your computer handles big documents)

Gaussian Blur and Smart Sharpen for tiling textures.  Run Spectacles on your tile to have Spectacles put it in a 3x3 where you can put some Gaussian Blur or Smart sharpen on it with less chance of making seams.  When you're done, hit "Done!" to end up with your newly made layer back in your starter document.

I believe there is always more to do, so if you think there is more things I can make to help speed up (note SPEED UP, not DO FOR ME) tiling texture creation I'm all ears.

And I'd LOVE to see or HEAR about what you guys are making with Layer Cake so feel free to let me know!


Wednesday, February 10, 2016

Layer Cake, a Photoshop script to Offset Multiple layers at once!


So I have been working on a script recently for Photoshop at the request of Jessie Van Aelst who was working on a tileable texture and hated having to manually offset each layer with Adobe's built in Offset filter.

I agree that it's quite tedious that to offset more than 1 layer at a time you have to keep hitting Ctrl F after you do it once...and keep tweaking your offset etc.  So I started working on Layer Cake!

Layer Cake is a script that will take your visible selected layers and offset them all the same amount as you specify.  I had found another script that offset every visible layer in your document but that isn't very user friendly since you'd have to turn off any layer you don't want offset etc. so Layer Cake fills a void pretty well I think :)
Click to Enlarge
I gave all the same options as the built in Offset has (currently minus the preview, but I'm working on it!) to make users feel at home with it.  I also Ctrl Z a few times in the gifs to make sure you can see the images are offset.

Click to Enlarge

You can grab the script HERE. It comes with a Read me that tells you where to put it and how to use it  as well :)

I hope people find this script useful and feel free to let me know if you run into problems with it so I can try to improve it and make it as useful as I can!


Tuesday, January 12, 2016

Fitbit, Unity, OAuth 2 and NATIVE browser...and about a week of cursing.


SO! I found out not too long after my last post that I (and everyone else using Fitbit data) would not longer be allowed to use Webview based solutions for gaining access to Fitbit data via OAuth 2.

This creates quite the predicament as when you're using Unity there's no Unity specific way of getting the OAuth return code from the browser (such as Chrome, Safari etc.)

This meant that I had to spend about the last week cursing while trawling the internet for solutions. Unfortunately there is a bunch but some of them do not seem to work. THANKFULLY, how ever, there is one that I found that DID work and I have to definitely give credit where credit is due and say that without Ofer Reichman's blog post I probably would not have gotten this to work.

You can pretty much follow his verbatim to get it working but I will also transcribe some small differences in things that work for Fitbit .  Also I'm working on refactoring my FitbitAPI class for Unity. I'm likely to just release it on Github for the betterment of the community and so others can help to make it better and learn from it as well.)

So without Further-Ado:

How to Do OAuth 2 authentication in Unity FOR Fitbit..With a Native Browser (Known to work with Android)

**If you want more in depth reading you can read Ofer's post but I'm just going to cover the nitty gritty of getting it to work with Fitbit**

Assumptions by me:
-You already have an app registered with Fitbit
-You already have Android SDK's installed
-You already have decent knowledge of Unity

I'm using :
Windows 10
Eclipse Juno (but shouldn't make a difference if you're using a higher version)
Unity 5

Hope this helps :) Feel free to comment and hopefully I can help (no promises though)