Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
17. December 2015

 

One of the major weak points for Blender, especially for game developers, is it’s FBX support.  You see, Blender is GPL licensed, which among other things means it can’t link to closed source libraries.  On the other hand, FBX is pretty much the industry standard interchange format these days, but it’s owned by Autodesk.  Autodesk have made an SDK available for years, but due to the GPL, Blender can’t use it.  This means their FBX implementation is a clean room reverse engineering of the format… and this results in… issues.

 

Thankfully, if you are like me and don’t give a damn about the GPL, there is a great option available.  There is a Blender add-on available that makes use of the Autodesk FBX SDK.  The install process is a bit non-intuitive though.

 

First download UmComv, this is a version of the Autodesk FBX SDK compiled for you.  Inside the archive, copy the folder umconv to the root of your Blender directory (same folder as the Blender executable).

 

Next download the addon zip file available here.  Extract the contents of this zip file somewhere, the file you care most about is io_scene_bos_fbx.zip.

 

Next in Blender, go to User Preferences…  Add-Ons and select Install From File…

image

 

In the resulting dialog box, locate and select io_scene_bos_fbx.zip.  Next locate the newly added add-on and make sure it’s enabled:

image

 

Now you will have additional import and export options available in Blender:

image

 

There may still be times where you want to use the built in FBX importer/exporter, but this certainly gives you more options and I have found does a MUCH better job supporting animation and other features.

Art


26. November 2015

 

Each year Black Friday has more and more game development deals.  Each year it also gets earlier and earlier… Black Thursday, Black Wednesday, you name it and of course they are trying to stretch it out with Cyber Monday.  This post is an attempt to capture the Black Friday/Cyber Monday deals most relevant to game developers.  If you know of a applicable sale I missed on this list, please let me know!

I will edit this list as new deals are located.  Have a gamedev deal to announce, email me at [email protected], leave a comment below or in this reddit conversation.

 

Steam

 

Amazon

 

Phaser.io

 

3D Coat

 

YoYo Games

 

Udemy

 

Adobe

 

Microsoft Store

 

Misc PC Manufacturers Black Friday Sales Pages (US Store links)

 

The Foundry

 

Daz3D

 

Allegorithmic

 

Smith Micro

 

XFrog

 

CG Axis

 

Marmoset

 

3DRt

 

Mobile Game Graphics

 

Game Salad

News GameDev News General


20. November 2015

 

Recently I just finished a tutorial covering creating isometric maps using the Tiled map editor.  One commonly occurring question was “where can I get tiled-friendly isometric tile sets?” for free.  The answer unfortunately is there aren’t a ton of options.  There are a few good isometric tile sets out there (I may coverisometrictitle this in a different post), but not a ton of choices.  So instead I’ve decided to look at the process of making isometric tiles in Blender and thankfully it’s not that difficult.  The process follows.  There is also an HD video version of this tutorial available here.

 


First load up blender.  We are going to start by just making a 64x64 pixel tile of the default Blender cube.  For this exercise we are going to have our object centered about the origin.  Precision is of critical importance to this entire process, so we are going to be working numerically in the properties panel(N key).

 

image10

 

Now let’s delete all of the faces except the base:

GIF

 

The majority of the work is actually in setting up the camera.  With the camera selected we need to position it.  Since our object is at the origin, we need to offset away from it.  As the isometric style is from above and at an angle we offset 60 degrees on the X axis and 45 degrees around the Z axis.  If you are using a more skewed perspective ( not 2:1 ratio ), you will choose a different  rotation.  We also move the camera back along the Y axis and up the Z, we will be moving the location slightly later.

image

 

Next we set the dimensions of our camera in the Camera tab, we are going to start of with 64x32 at 100%, like so:

image

 

Now in the Properties editor, select the camera icon and we need to set the camera to Orthographic.  We then adjust our Orthographic scale until the camera extents capture the cube.

image

 

In 3D view switch to camera view (0) then adjust the Orthographic Scale and Z axis of the camera until your image is framed, like so:

image

 

Now change the camera dimensions from 64x32 to 64x64 and adjust the z value of the camera until the base tile is aligned to the bottom of the camera frame, like so:

image

 

Now render it out to texture.  We already set up the render dimensions, now we simply need to set the renderer to render transparency:

image

 

In Shading in the Rendering tab set alpha mode to Transparent.  Now render your tile and TADA:

tile

 

Now let’s extrude our tile to the extents of our camera frame, like so:

image

 

Then render it out:

tile2

 

Now you can test our two isometric tiles out in tiled:

image

 

Now you will notice the tiles look remarkably, um, tiled.  This is due to the shading.  In the materials for your tile, set Shadeless on, then the results look cleaner.

image

 

Creating a Reference Cube

It’s possible you want a framework to model non-cube shaped entities in an isometric style.  Thankfully it’s incredibly easy to create such a thing. 

First take your reference cube, then apply a Wireframe modifier to it:

image

 

This now gives you a nice shape to use for reference, like so:

image

 

Now chances are if you are going to model within the reference you are going to want to make it unselectable and mark it so it doesn’t show up in the renders, like so:

image

 

Now of course you will probably want bigger than 64x64 tiles.  One option is to simply duplicate our cube, then move it by 2 units (as our cube is 2x2 in size) along the X axis, like so:

image

 

We can then render each tile by moving the camera by 2 along the X axis, setting all other tiles to not render, although this could easily be scripted.

 

Chances are we are going to want to make several tiles at once too and this would also be extremely easy.  Simply take your reference tile and apply an array modifier then another array modifier, like so:

image

 

The only difference between the two modifiers is the axis of the relative offset.  This now gives up a 6x6 grid of tiles to work with:

image

 

Only problem is, now we have one big tile instead of 36 separate tiles, but no matter, this is easily resolved!  Make sure both Array modifiers have been applied.

 

Now enter Edit mode and press P –> Separate by loose parts.

Next select them all in Object mode and select Set Origin->Origin to Center of Mass.

 

And TADA, 36 tiles ready for editing!

GIF2

 

Of course if you wanted to edit the tiles as a whole (for example, connected terrain) you would do this before performing the separation. 

 

Next we have to render each tile.  Basically grab a tile, translate it to the origin, hide the other 35 tiles, render it.  Now repeat that process 35 times.  Sounds fun, eh?

Yeah, not to me either, good thing I’m a programmer. Let’s take a look at automating this using Python in Blender’s built in API.   Please keep in mind, I rarely program in Python and have never scripted in Blender, so don’t expect brilliance!

import bpy

objs = []
for obj in bpy.data.objects:
    if obj.name.startswith("Cube"):
        objs.append(obj)

# loop true all the meshes, hide all but active, and copy active to 0,0,0 and render        
for curObj in objs:
    prevLoc = curObj.location.copy()
    curObj.hide_render = False
    
    for otherObj in objs:
        if curObj != otherObj:
            otherObj.hide_render = True
            
    curObj.location = (0,0,0)
    bpy.data.scenes['Scene'].render.filepath = "c:\\temp\\" + curObj.name + ".png"
    bpy.ops.render.render(write_still = True)
    
    curObj.hide_render = True
    curObj.location = prevLoc

 

Now if you run that script it will render all of the tiles to your C:\temp directory.

 

Of course the key to making tiles look good is going to be the texture mapping…  but you’ve got all the tools you need to succeed and quickly at that.

 

The Video

Art Programming Design


9. November 2015

 

This is a feature that was quietly added in Blender 2.72 that will be a massive game changer to many potential Blender users.  The Blender UI has always been very keyboard focused and quite daunting especially for beginners.  Over the last couple releases we’ve seen some nice tweaks to the UI to make Blender a great deal more user friendly. The addition of radial menus is another step down the road of usability.  If you come from a Maya background this feature will be immediately recognizable.  Now keep in mind this feature is still under development and not enabled by default and there is certainly a reason for this.  Expects some bugs and growing pains, although personally I found it well worth enabling.

 

Before I show you how to enable pie menus in Blender, let me show you them in action:

Gif1

 

Enabling Pie Menus

To turn the menus on, go to File->User Preferences…

image

 

Next select the Add-ons tab, search for pie then click the enabled checkbox on “User Interface: Pie Menus Official”

image

 

You are now done.  However before you close the menu, there are some settings you may want to configure in the Interface tab.  In the bottom right corner you will set settings for configuring the Pie menus:

image

 

Personally I like setting the radius to around 40-50, which results in the menu being a lot denser, like so:

image

 

Available Menus

Now that pie menus are enabled, you will find several hotkeys perform differently.  Basically all of the things control via this toolbar are now available via pie menus:

image

Simply hit the right key(s) and the menu will appear.  You will notice a number next to each menu item, which can also be used instead of clicking the menu.  For example TAB + 6 will enable edit mode.  Right click or hit ESC to cancel a menu without selecting anything.

 

TAB key – object interaction mode

image

 

Q key – view selection

image

 

Z Key – shading mode

image

 

Ctrl + SHIFT + Tab – Snapping

image

 

. (Period Key) – Pivot

image

 

As with almost all things in Blender however, the bound keys can be configured to the users preference.

 

Again, this feature is under development and can be a bit buggy.  I found the shader menu a bit problematic on my computer for example.  However I view that even today it is worth the pain, especially if you like me work on a laptop without a dedicated number pad.  The new view navigation is a great improvement over enabling numpad emulation.

 

Never nice new feature, great job Blender team!

 

The Video

 

This video, available in HD here, illustrates mostly the same material we just covered if you prefer video form or if I missed a detail.

Art


8. November 2015

 

If you’re using a high resolution monitor such as the newer 4K display or Apple’s “Retina” display, you’ve certainly encountered your fair share of applications that are borderline unusable.  At first glance Blender appears to be just such an application.  This is what it looks like on a 2560x1440 display, I can only imagine what it looks like on a full 4096x2160 display!

image

 

Now it may not look too bad in that screenshot, but consider the dimensions of the title bar to the application menu to get a full idea of how tiny the text is.  Fortunately the Blender UI team was incredibly forward thinking when they updated the UI.  Let’s look at making Blender more usable on ultra-HighDef screens.

 

In Blender, select File->User Preferences…

image

 

Select the System tab, then it’s the DPI section under general you want to configure.  I changed simply doubled it from 72 to 144.  Click Save User Settings to commit the changes so they last if you restart Blender.

image

 

There is one other change you may wish to make.  The manipulator widget is also extremely small on an high DPI screen, like so:

image

 

This can also be configured in settings, instead in Interface tab of the User Preferences window:

image

 

TADA, Blender UI now looks brilliant on your high def screen.  Im not entirely certain why the manipulator doesn’t scale with the rest of the UI but it’s an easy enough fix.

 

I should only hope all other applications implement DPI scaling as well as Blender (*cough*Adobe Photoshop*cough*) in the future!  There is a video version available as well.

 

Video

 

Art


GFS On YouTube

See More Tutorials on DevGa.me!

Month List