Category: maya

Hello there!
First I’d like to say thank you to those giving me feedback on this blog series, through comments, forums, Twitter and the Blender IRC channel! It’s been very positive and that makes writing these posts a lot easier. The main reason I’m doing this is to get more users out there to understand that Blender can be a viable alternative to their current commercial software, and at the same time I tend to learn things much better myself when I try to teach / demonstrate the workings of something. Well, on to the real content…

This time around I’m going to cover the general tools and workflow in Blender compared to software like Maya and Modo.
As you all know I’ve just started using Blender a couple of weeks ago myself, so I’ve had to do some serious experimentation and reading to get comfortable enough with the different tools to present it to the public! But now I finally feel that I’m ready to embark on a real project in Blender, even though it will take more time than usual, because I’m not fluent with the hotkeys and tools just yet.

What I’ll do in this post today, is to present some tools and their hotkeys that I’ve found myself using a lot and describe their usage and sometimes compare them to similar tools in Maya and Modo.

Many new users complain that Blender is so hard to learn because of all the hotkeys involved. For those that’s just starting out in the world of 3D this is totally understandable, but for users coming from a different software it should not be a problem learning the most important hotkeys needed for let’s say modeling. It all boils down to laziness if this is an argument for not learning Blender! Besides in the recent versions, Blender has gotten more comfortable in sense of the user interface, and most things CAN be done using menus and buttons. The way I feel about it is that no matter what software I use I’ll want to learn the hotkeys. It speeds up things considerably, and it’s no different learning the Blender hotkeys than learning the Maya or Modo hotkeys, it’s the same thing.

When deciding to cover Blenders toolset I had to make some decisions on how to organize the material of this post so it makes sense and follows a pattern of some kind. It is a lot to cover, and I landed on a different approach than what I planned in the first place. Instead of creating one gigantic post, I’ll spread it over multiple posts, each containing bite-sized chunks of information. I think that makes more sense, as I’m new to the program myself, and I want to feel that I know what I’m talking about.

Blender has so many uses and tools for doing everything from the “usual” modeling / texturing / rendering to advanced animation, physics simulations, video editing / compositing, game creation, basic sculpting, and the list probably goes on. Covering all of this would be a serious undertaking and I’m not gonna do that! I’ve not even started to scratch the surface of all this functionality myself, so I’ll limit this introduction to the modeling tools for the time being, touching a little bit of texturing and rendering a long the way.

Let’s start with the basics of the modeling tools, looking at how they compare to the similar tools in Maya.
When I first started to use the tools in Blender I thought “What? Is this it? These tools are crap!”, but after reading up on them in the Blender Manual and experimenting a bit, I started to see that they are at least as powerful as the tools in Maya, if not more so. Even after the short time I’ve been exposed to Blender I feel that I’m gonna like these tools better than the tools in both Maya and Modo! Seriously! You just have to understand how they work! Off course I can’t just say that and not give any examples to prove my case, so I’ll give some examples along the way pointing out what I like and why I think they sometimes are superior. Understand me right, I’m not saying that everything is better in Blender, but some tools have options that I miss in other software.

And what is the idea behind this 3D Cursor thing!? Well, it can work as an insertion point, a pivot for transformation and as a snapping target.
It’s nice to be able to specify the object’s position before creation!
This can be a little annoying when you’re not used to it, but a nice feature all together.

For each section, I’m gonna start with a list of the tools and their hotkeys that I’ve found myself using a lot while modeling (well some of them only sporadically), and then go on to describing them in practice with some pictures and screencasts.

I’LL USE CAPITAL LETTERS IN ALL SHORTCUTS FOR READABILITY, WHEN SHIFT IS NEEDED IT WILL BE INCLUDED IN THE HOTKEY!

First we have the basic move, rotate and scale tools. In other applications there wouldn’t be much to say about these tools as they are self-explanatory but in Blender they have some nifty options worth explaining. These tools have some options that are common for them all:

Hold Ctrl while transforming to use step values, and shift to use partial (more exact) values.
You can constrain the movement,rotation and scale commands by pressing X, Y or Z, or
lock it to a plane by hitting Shift + X, Y or Z to ex. move only in X, Y space, hit Shift + Z
You can have Blender constrain to the dominant axis under your mouse using the MMB while transforming the object, but this is not always intuitive imho.
Finally, you can use numeric input with the transform tools! Very nice.
ex. to move the selected object or components 5 units in x, press:G (grab) + X (constrain) + 5 (units) then LMB or Enter to confirm.
This works with both positive and negative numbers off course.
Another way to apply numeric transformation is by using the properties region (N to show/hide)

In Maya you have off course the basic operations of move, scale and rotate, but no way of using the keyboard to enter numeric values directly into the tool, you have to use the input boxes. Also, it is not as easy to constrain transformations to a given axis. You have to use the manipulator and select the axis you want to deactivate with your mouse, then you have to activate it after. All over, I’d say that the differences in these tools are small in practice, but more controllable using Blender. Less mouse clicks are always a good thing 😉 The ability in Blender to constrain, then numerically enter the transformation in units with the keyboard is really helpful and not as easy to do in Maya. Also, the “Continuous Grab” option in Blender, that makes the cursor continue to affect the values when you move out of the viewport, by jumping it through and through is really a lifesaver. But that probably made no sense what so ever to people not using Blender, so I’ll demonstrate it with a little screencast:

Now isn’t that something! 😉

Blender sports some really cool proportional editing tools, that operates kinda like the falloff in Modo and the Soft Select in Maya, but includes options that extends the functionality of some of these tools, like the ability to randomly transform components, making it easy to create landscapes and mountains, rocks and other things that has random form qualities. The way you can use these are as follows:

To do any kind of serious modeling you need to be able to control the pivot point of your object, and to control how to make the tools operate from the correct “action center”. Modo is exceptional when it comes to doing these things, Maya is not as good and I’d place Blender in between, above Maya when it comes to ease of use and functionality. To control the Pivot you can:

To control the axis of operations you use the Alt + Space hotkey to select between:

Global, Local, Normal, Gimbal or View

Before I leave the basic transformation tools I’d like to say something about the “feel” of these tools.
The manipulators are not blocking the selection ability! This is VERY nice compared to Maya, where the manipulator always gets in the way of selecting mesh components.
When it comes to selecting components, the automatic selection of faces when selecting the verts that makes up the faces without the need to convert selection to faces as you do in Maya is also very nice.

Where to go next? I guess you could go in all sorts of directions, but I’ll use a list of hotkeys that I’ve found myself using pretty often, explaining some of the tools where the functionality differs from how other applications mentioned operates.

If you’re just starting out in Blender, I urge you to fire it up, and try to use these hotkeys to get a feel for how they work!

Ctrl + LMB = Extend / Create point (Can be used as a simple extrude!)
This is a universal command that adds a new point, edge or face to meshes and creates a new
point on curves / F-Curves, beziers and the likes.

F = Fill/Make Edge/Face (Can fill three or four vertices with a face, join two vertices with
an edge)

Tool for subdividing and many other things are found under the W hotkey “Specials” menu.
Also you can find special tools relating to edges with the Ctrl + E hotkey, Faces with Ctrl + F, and vertices with Ctrl + V.

Well, that’s it for this post! Hope you enjoyed it and hopefully you picked up something useful while reading it…

I have to mention one more thing about the Blender community:

The community is awesome!

I missed the ability to toggle between the actual manipulator handles (Move/Rotate/Scale) with a hotkey.

So, I posted it to the developer forum, and an hour or so later, I had a Python script that did just that! Now that is not something you’ll get when contacting Autodesk! (And I doubt that the Maya forums would give me this kind of service either…)

Truly amazing…

Well…

As I said earlier, I’ll continue to post my experiences with moving to Blender over the next few posts to this blog, so please subscribe if you find this interesting! You can also follow my Twitter at: @furiousape that gets pinged every time I post to this page.

So. I have used software like Maya, Lightwave and Modo for some time now. The reason I could do this is because I have gotten educational licenses for the software. Well, I actually have a commercial license for Modo but anyway…
If I want the latest editions of these packages, I would have to upgrade my educational licenses to commercial, and that is anything but cheap!
My economy these days suck big time, so I soon came to the conclusion that this would be impossible.
So what are my options? Blender!
I have tried Blender many times before, each time there is a new version I download it and goof around in the the viewport, but every time I have been put off by the non-standard way of doing things compared to my other software.

The thing is that Blender IS a bit different from everything else, but that is not necessarily a bad thing.
It just takes some getting used to. I have never before actually tried to LEARN Blender, but this time I have seriously committed myself into learning this software.
I will not lie, it has not been all easy, and I still am in the very early stages of “Mastering Blender”, but for each day I learn something new, and discover the cool things that is different, but good.
So, my goal with this series of posts will be to share my experiences with moving from commercial software packages like Maya, Lightwave and Modo to Blender.
I’ll compare features and methods of doing things along the way as I discover this myself.

A new rendering engine with a superb node based shader system (Cycles)

Great modeler (once you get used to it)

Some of the best UV tools available both commercially and free

So this is a pretty impressive list if you ask me.

I’ll continue sharing my experiences with this project, hopefully some of you will see that there is actually an alternative to Autodesk!

I don’t say that Blender is the best tool for everything, but neither is any of the commercial packages. All has its flaws.
But if you ever thought of switching to Blender, now is a good time to do so! New tools and features makes Blender a serious competitor in the market of professional tools for creating Digital Art.

My last post described the GI indirect lighting method that uses photons to create the secondary lighting.
Another way to achieve indirect lighting is with Final Gather, that in contrast to GI looks at the information in the regular direct light and based on that it sends out Final Gather Points. These points land where the regular light rays land and from there it sends out their own rays that collects information about their surroundings and adjusts accordingly to how the point is to be lit. In the end, all the points average their values to get an even distribution of light in the scene.
When you use FG in your renders, you can actually use geometry as lights in your scene with a bright surface shader, so that the FG points sends this out when hitting the geometry.
Final Gather gives very nice looking lights which are soft and delicate, but it isn’t really a “true” indirect light. It is kind of fake compared to real indirect light, and therefore it isn’t the most authentic looking light out there. But it is easy to set up and works very well in many situations. Besides it is faster to render than Global Illumination.

With Final Gather the default settings in Maya usually works ok as a starting point. If your render gets noisy you can increase the accuracy in the render settings. If you set this too high, your render times can drastically increase.
Point Density controls how many points getting sent out.
The default usually works well.

One common problem with FG is that you can get noisy areas in the tight shadows in your scene.
You can remedy this by increasing the accuracy and adjusting the Point Interpolation upwards. This makes the points blend better, but at the expense of loss in detail. You can get the details back with the use of Ambient Occlusion, that I’ll explain later.

The Scale sliders (primary diffuse and secondary diffuse) is used to tone down the intensity of the FG light effect. A darker shade gives less brightness. The secondary diffuse implies using the Secondary Diffuse Bounces.
The Secondary bounces works so that the points that land on a surface, spawns another ray that bounces from the original target and creating a new sample point on the next surface.
This increases calculation but gives more even distribution and more authentic lighting.

Direct light is the light we see in our scene without Global Illumination turned on. GI will trace the light and make it bounce between surfaces to give a more real-life light behavior.
The thing that makes GI work is the use of light photons that is emitted from the light source and travel through the scene, illuminating the surfaces by Gathering information about color and luminance on the surfaces they come in contact with. This information is picked up and then the photons bounce to the next surface repeating the work.

Choosing the light type to use is important, as it will affect the way photons work within it. Generally you can think that the photon emission will follow the light emission for each light type.

There are two types of photons in Mental Ray, the first being Global Illumination and the second is Caustics.

The photon intensity setting of the light refers to the light-energy used for the photons when they leave the light source. The default value in Maya is set to 8000, which is pretty intense and often leads to blown out renders when used with small scenes.
The Exponent setting determines how fast the photons will lose their energy as they travel through space.
High values give shorter life so they lose energy faster.

Keep in mind that all these settings are calculated on values that exists in the sizes of objects and the size of your scene in the Units setting in Maya.
So if you build a scene that is many units in size this would need totally different settings in Mental Ray than if your scene is only a few units in size.

When using GI in your lights it is easy to forget that you also need to consider the direct light property, so that the direct light intensity is adjusted up or down depending on
the light you are trying to mimic. These are independent settings and can drastically alter your overall lighting!

There are many settings to control in the Indirect Lighting tab of Mental Ray. I will continue to post tips and tricks on lighting and rendering with Mental Ray in the time to come.

I don’t know why, but every time I have to set up Mental Ray between different platforms I always stumble some before everything works perfect. Today I configured my quad core Windows computer to do the chewing when rendering from my MacBook Pro laptop.

This is a super-simple setup, but somehow it wasn’t all click and go today either. First of all, I had the slave machine configured earlier, so when I tried to telnet into the port I googled about it would not connect from my Mac host.
So, I checked with the \Windows\System32\Drivers\etc\services file on the Windows machine and got the correct port number 7412 for satellite connections, then I created the maya.rayhosts file in the preferences folder on my mac containing one simple machine.

Then I tried to add the correct port for satellite (a different port than the one used with MR Stand alone btw) to the /etc/services.
This did not help either.

But, when I also added the “fallback service”, inet 7003/tcp to /etc/services it managed to actually shut up!

# /etc/services
# Mental ray satellite
mi-ray7412/tcp
inet 7003/tcp

So, if anybody out there experience the same “error” message, you know what to do…
BTW, the error doesn’t stop the render from running, but I believe maybe a nanosecond or two will be wasted if the ports don’t match up and the system has to mage a different route… Who knows?

For some reason, Maya isn’t allowed to receive network connections without manually letting it by choosing “Allow” or “Deny” in the firewall pop up message. Even if it is listed as “Allow” in the firewall preferences, it asks again every time.

I’m not sure whats causing this behavior, but it sure is annoying. Finally I found a solution for it!

It has to do with “code signing” and something the developer has forgotten to do after changing the application, I don’t know.

I’m not as paranoid to think that someone has altered the code without my knowledge, so I trust the code from Autodesk and sign it myself to stop receiving this message. I’ll route you to the blog where I found the solution here:

This is the first post in a planned series of posts about Python scripting in
Autodesk Maya. Don’t expect this to turn you into a pro or something, this is
something I do to learn the material better myself.
I don’t know about your experience with Python, but this is not meant to be
a tutorial in the python language. I’ve used Python for some time now, and
I hope you are familiar with the language to get something out of the content.
You can probably do basic stuff without knowing the ins and outs of Python,
but to do something creative you must have some knowledge about the
different datatypes and constructs that defines Python.
One thing that also is important is that you understand the basics of how MEL
works, as most of the same applies to Python for Maya.
Well, let’s get started!

Getting access to Python in Maya

You can use Python either as a single command launcher from the command line,
or as a full scripting environment in the script editor, I’ll mention both in
sequence.
To start using Python in Maya you have to click the command line where it says
“MEL”. This will change into “Python”, and for one-shot commands this is all
you need.

To access Python through the script editor, click the script editor button
also on the command line, next to the output field.
There you’ll see to tabs, MEL and Python. Off course you should choose Python,
but you already knew that!
In the script editor I also choose “Command” -> “Command Completion” and
“Command” -> “Object Path Completion”.
This makes experimenting with Python a lot easier, as you can try out
different functions without knowing the names.

One thing you should be able to do is to transform MEL commands into Python,
so that you can download existing scripts, modify them to your needs and run
them in Python. Most of the scripts out there are still MEL, but py scripts
start to show up here and there.
I’ve always wanted to learn MEL, but it didn’t really make sense to me, so I
find the Python logic easier to grasp. Besides I use it for other tasks, so
I don’t have to learn a whole new language and tools.

Let’s make a polygon cube!
Let’s see, if I watch my script editor output while creating a cube I see that
the MEL needed for this is:

polyCube -w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0 -cuv 4 -ch 1;

Well, it’s actually not that complicated but this is all the default arguments
used by MEL in the output. The same cube will appear by just typing:

polyCube

Try that in the command line by changing back to MEL and press enter. Whee!
But hey! This is not Python… True. Lets try to switch back to Python
and run:

polyCube()

as all function calls ends with parentheses.
This does not work, because we have to import the namespace that the Maya
commands live in. We can do that by:

from maya.cmds import *

This makes a bunch of frequently used commands accessible to Python.
Now we can try again with:

polyCube()

or, for a change, let’s say that we wanted to change the defaults. Look back
to the MEL command used to create the polyCube. -w 1 -h 1 -d 1 etc.
All these define width, height, depth, sizeX, sizeY, sizeZ and so on.
To access these preferences in python, we have to write it as arguments
with a value in the construction call:

polyCube(w=2,h=3,d=4)

This creates a different cube with changed parameters.

Well, this wasn’t much but I’ll post more soon!
Try creating different shapes with different attributes to get a feel for how
it works.