Matt's Dev Diary 003: Fun with Blender and a bit o' scripting

  • warning: Creating default object from empty value in /home/buckman/public_html/neo/modules/advanced_forum/advanced_forum.module on line 492.
  • warning: Creating default object from empty value in /home/buckman/public_html/neo/modules/advanced_forum/advanced_forum.module on line 492.
  • warning: Creating default object from empty value in /home/buckman/public_html/neo/modules/advanced_forum/advanced_forum.module on line 492.
Matt Barton's picture

Spent most of today working my way through the Blender book and hitting some of my Unity books. I'm really starting to enjoy working with Blender; the book has been fantastic, and although I still feel like I'm muddling my way through, I already feel less like a drunk driver and more like an eager 16-year working on his learner's permit. I'm constantly seeing things in the book and realizing I've been doing so much stuff the HARD way, but if you put the book down for a minute you've already forgotten the shortcuts and have to dig through it again. Still, once you realize there's an easy way to do something, at least you know it's there for the digging up.

One thing I didn't work with before was the modifiers you can apply to objects. Much like filters with Photoshop or GIMP, you can do a lot of nice art just by applying these tools (no actual artistic talent required).
Three Cubes: Applying some simple modifiers makes each one look different.Three Cubes: Applying some simple modifiers makes each one look different.
There's also techniques to quickly create four table legs and such. It's not quite as easy as just copying and pasting, but a helluva lot easier than trying to create four different ones and move them into place by hand. That's a nightmare.

As far as Unity goes, I spent most of my time there reading about the scripting system. There's three options: Javascript, C#, and Boo. From what I hear, nobody uses Boo, noobs use Javascript, and anybody worth his salt uses C#. However, I keep encountering conflicting advice. Javascript seems to be able to handle almost any scripting need you might have, some say, so C# isn't needed. I can't seem to get a definite answer on whether, for all intents and purposes, Javascript is fine, or if you really do get a huge performance increase of some sort by working with C#. One strong thing in favor of Javascript is that it's the language of all the books and tutorials I've seen so far, and I've heard it's the norm for anyone who isn't a programmer by trade.

I was able to make a bouncing ball today and read up on collision. I'm also excited about something called "orthographic," a special mode ideally suited for strategy and (hopefully) my combat mode. From what I can see, it's what you'd expect to see in a Civilization V style game, where identical buildings and such are the same size regardless of where they are on the map. I think it's going to be PERFECT for my combat mode!

I also had some fun with some particle effects in Unity. Not part of any lesson yet, but I saw them there and got curious. So pretty soon I had a box spurting fire, sparks, fireworks, and a water fountain. Pretty silly stuff, but it means that creating torches, fountains, and cool magic effects will be a SNAP.

I also noticed that iTween (a tool recommended by Stardog has an example of grid based movement and rough terrain; lots of good stuff. Combining a couple of these should be perfect for my combat mode, though of course I'll want hexes instead of squares (hopefully that won't be too much of a pain). However, I'm a bit worried I won't be able to get good enough documentation to use these add-ons effectively. The documentation is sparse and a long ways from actually helping you build one of their examples, so hopefully I'll be able to find some YouTube tutorials or something to bridge the gap.

The main thing I'm worried about now is character animation. I suppose if I'm smart I'll set the cameras up far enough away where I won't have to worry about a lot of detail, but I'm still kinda mystified by it. I'm especially worried that it'll be really tough or work-intensive to show different kinds of armor and weapons on the characters...I might end up have to just leave this stuff to the imagination and just show a generic battle animation. From what I've gathered, ANY kind of character animation is a massive undertaking, so I might just be way out of my league here. Still, I've yet to hit the animation chapter in my Blender book, and I know there are lots of models (free and costly) that you can add. When I feel like I have a better handle on the coding and basics, I'll definitely scour all the free assets I can find and see where the gaps are.


Stardog (not verified)
It's actually UnityScript,

It's actually UnityScript, not pure Javascript. I find C# easier to read because it's cleaner and everything's typed.

Javscript example:
var myVariable = cheese;

So what is myVariable/cheese? An int/float/GameObject/Vector3??

C# example:
int myVariable = cheese;

Ok...myVariable is a number.

They're not that different, you should be able to convert one to the other quite easily.

Alan (not verified)
Character animation does take

Character animation does take bloody ages and usually looks amateurish. I just tried some in Blender this past week. It took ages just to make an robot wave his stick arms around. There are some cheats, though.
-Download some free mocaps
-Rotoscoping. Blender can load videos and you can "trace" the positions of the actor. You've probably seen the home videos that were the basis for the original Prince of Persia.

gilgamesh (not verified)
JavaScript would be ok for

JavaScript would be ok for scripting. The performance bottle necks lie elsewhere and modern interpreters are very good at optimization.

The problem is that Unity does not use real JS, but something proprietary that deviates in fundamental ways from the standard. I'd say go with C#. It isn't much harder to learn, there are many nice tools and you can easily migrate your code to other engines should the need arise.

You know that you can assign one skeleton to different models? E.g. make one male/female walk, swing, parry and thrust.

Matt Barton
Matt Barton's picture
Joined: 01/16/2006
It sounds like C# would be

It sounds like C# would be ideal if I already knew it or had plans to continue on with programming, but Javascript is fine for my purposes. I'm guessing there's a lot of contention about all this within the Unity community; if it really was just subtle differences, I don't know why Unity wouldn't just go with one or the other. You know what happens when you try to please everybody. :)


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.