Archive for May 2012

Blending Lightwave, Part 2

So, as mentioned back in Part 1, I’ve been having a lot of trouble with Lightwave and FPrime lately.  I’ve recently gotten a lot more familiar with Blender … and I’ve discovered some new Blender features that suit my workflow.  All of which leads me to the point of that story…

As I learn, I’m slowly adapting my Blender setup to the suit the needs of a longtime Lightwave artist.  I have some files here that may help other Lightwave users to ease into it.  They are nowhere near a complete overhaul of Blender, but they are a start.

When placing these files, you will need to know your Blender user directory.  This depends on your operating system; the locations are specified here (the user directory is the part before config; it is the folder named after your current Blender version number).  Locations will differ for Blender Portable, too, as described below.

  • My startup.blend file – This normally goes into the config/ subfolder of your user directory (as specified on the page linked above).  If you are using Blender Portable, it instead goes in the Data/user_config/ subdirectory of the folder that contains BlenderPortable.exe
  • cycle-select.py – My blender addon, Cycle Selection Modes, which cycles to the next mesh selection mode in the list (vertex, edge, face, repeat) each time you use it, in much the same way that Lightwave Modeler swaps between point and poly selection mode.  Install this using the button on the Blender’s User Preferences/Addons window, and Blender will put it in the right directory for you.  Once installed and enabled (check the little box on the right of its entry), it adds a button to your tool shelf (visible only in Edit mode).  More importantly, it can be keymapped using scene.cycle_select_modes()
  • lightwave.py – A very preliminary version of a Lightwave preset for the keymapping section of the User Preferences Window/Input tab.   It currently only makes a few changes: The Cycle Selection Modes addon is mapped to the Spacebar (Blender’s “Search Menu”, which was originally on that key, gets remapped to Alt-Spacebar).  Also, when you are in Object and Mesh modes, left-clicking out in space will deselect everything (similar to clicking an empty area of the Lightwave Modeler UI to deselect).  Unlike the other files, I couldn’t get this one to work properly from the user’s data folder.  Instead it belongs under Blender’s program directory, in the (version number)/scripts/presets/keyconfig subfolder (there should be a file named maya.py in the correct location).  In Blender Portable, this goes in the App/Blender/(version number)/scripts/presets/keyconfig subdirectory of the folder that contains BlenderPortable.exe
  • lightwavesque.xml – It contains my theme preset for the colors and shading of the UI, reminiscent of Lightwave 5’s yellow, black, and grey color scheme (I always preferred this look, even over lightwave 8’s colors).  I probably haven’t themed some of the UI consistently (the parts I haven’t used much yet).  This file is technically unnecessary if you use my startup.blend (because these are the colors I use), but if you want to add the colors to your own startup file, or think you might need to reload them, install it.  Normally, this goes in the scripts/presets/interface_theme subfolder of your user directory.  For portable, this file goes in the Data/user_scripts/presets/interface_theme subdirectory of the folder that contains BlenderPortable.exe

My startup.blend file contains a decent default scene (with Cycles active) — a camera, a cube sitting on a plane, a two-point light setup and an area light object, all aimed at a target — sets a number of my preferred settings (e.g., swap the mouse buttons because UGH Blender’s default is weird and nonstandard) and loads some addons.  It also controls the layout (mostly at this point you will be interested in Dyne.Model and Dyne.Texture.Node).

The screenshot shows the results of using these files.  Dyne's Blender Startup fileIn Dyne.Model I have two main 3D views in the center of the UI.  The lower one is usually my Cycles preview (Rendered draw mode), while the top is what I usually use for editing.  There is one tall vertical window to the left, and another to the right.  These are present so my tool shelf and “numeric” properties will extend the full height of the UI, to avoid scrolling so much.  I hide these panels and make the central windows larger by dragging the window’s vertical border farther away from the two central windows.  This method saves me from having to hover the mouse over the correct 3D view before hitting T or N.  If I do hide the tool shelf with the key, the left window can double as a top orthographic view, if I feel I need that in a separate window for some reason.  The button added by my addon is the bottom-most one on the Tool Shelf in the screenshot

There are also two versions of a Lightwave Modeler-like Quad view included (Dyne.Model.Quad-1 and Dyne.Model.Quad-2), but Quad views leave something to be desired in Blender.  Since it is very easy to get used to using the 1, 3, and 7 buttons on the numpad to change any 3D view to front, side, and top orthographic views, I don’t use these layouts myself.

The problems with Quad-1 are, specifically, that the individual sections of the quad view can’t be resized, and all four panels always change rendering mode at the same time.  In contrast, since Quad-2 is implemented as four different windows (with vertical windows for the tool shelf and numeric panel, similar to Dyne.Model), so their positions and zoom ratios can’t be linked like you can do with Quad-1 (via Numeric panel/Display/Box).  Neither is really ideal.  In Quad-2, use the plus marks at the top of each panel to show the panel’s header.

At any rate, I hope these files are helpful.  I will probably update them every so often as I tweak my own setup.

Posted 2012/05/20 by dyne3d in 3D Apps

Tagged with ,

Blending Lightwave, Part 1

Been awhile, eh?

I often go a long time without posting anything to my various sites, but today I have some mildly useful information to put out there.  This first post just contains the backstory … if you want the actual useful stuff, see Part 2.

If you’ve read my earlier entries, you might know that I typically use Newtek’s Lightwave 3D, and have done so for a long, long time.  This is due to my background as an Amiga user; when I moved to the PC, it made sense to keep using the software I had already learned to love.  However, the version of Lightwave that I have (8.5 for those keeping track) is starting to show its age, and I won’t be able to afford to upgrade it for the foreseeable future.

Don’t get me wrong; I still love the program, but its issues and limitations can get really frustrating.  I’d also generally like to expand my 3D application skills, and if I can’t upgrade Lightwave, I’m certainly not going to be buying Maya or Max anytime soon.

Enter Blender.

Now, I’ve known about Blender for years (since before it went open source in 2002), but I was never able to get enough of a handle on the quirks of the 2.4 and earlier interface.  When Blender 2.5 was released, this seemed like a significant enough change to warrant another look, and it was indeed quite a bit more comprehensible.  But I still wasn’t quite ready.

The problem is, learning your second 3D app is considerably more frustrating than learning your first one, because 3D application UIs are not even vaguely standardized (seriously … they can’t even agree which axis is the vertical one).  You have the constant frustration of knowing exactly how to do something in your old app but having to ignore your intuition because it is useless (or worse, an active hindrance) in the new package.  Trivial operations that take 30 seconds in the old app can cost you hours or longer, depending on how long it takes you to figure out how to perform the equivalent in the new app … assuming that it has an equivalent.  Plus there are a lot of key and mouse movements to relearn … which just screws you up when you go back to the old app.

Late last year, I finally got annoyed enough to upgrade my decrepit computer, which was even older than my copy of Lightwave (my new machine has a hex-core CPU and eight gigs).  Aside from gaming, this also promised to speed my ability to render things enormously.  I wasn’t actively working on anything 3D related (as it turned out, I didn’t even get around to transferring Lightwave to the new machine until mid-April).

I was fiddling around with game modding in Epic’s Unreal Development Kit, however.  Epic had a series of tutorial videos made by 3Dbuzz.com, which were quite effective and easy-to-follow.  I popped over to the site to see what else they had … right around the time that they posted a whole series of free videos on learning Blender’s UI and making a basic character from scratch.  Yoink!

Those videos took me about a hundred times further with Blender than I’d ever gotten before, even after the 2.5 UI rewrite was released.  Still, since I wasn’t feeling very inspired over the last few months, I stopped playing with it after I finished the series, and started to backslide.   But the stage was now set…

A few days after the start of this month, I decided to engage in an animation project (which I won’t talk much about until I finish it).  I was on vacation for part of that time, and wanted to get the project pretty well on its way before my vacation ended.  I almost immediately ran into problems with Lightwave.  The Lightwave/FPrime combination is now extremely unstable.  I must’ve crashed Lightwave twenty times in the space of a few hours.  I also stumbled across a new limitation of Fprime on Lightwave 8.5 (on top of its inability to use Lightwave’s shaders and lens flares): It also can’t use enveloped surface channels and texture layers … or at least I could never get it to recognize the changes.  As I was heavily using these in my project, I have been forced to go back to Lightwave’s very dated native renderer (if I want speed) or native radiosity (which is very very slow, but is closer to FPrime’s look).

Finally, I got fed up and decided to take another poke at Blender.  There are a few problems and many things that I don’t know how to do yet in Blender, which prevents me from importing my current project wholesale, but I discovered that Blender 2.6.3 added N-gons and a whole new rendering engine which … works a lot like FPrime!  GPU accelerated interactive rendering with super-fast quasi radiosity?  Yes!  It’s called Cycles.

I’m not fully adept with it, but in the course of this current project I’ve pushed my knowledge of Blender a lot further, especially in the last week.  Even unto scripting.  I was never any good with Lightwave’s LScript, but I’ve been using Python almost as long as I have Lightwave, so I just need to learn the API.  At least one model for this project has already been constructed mostly in Blender.  And that growing familiarity is starting to finally bring practical results, which brings me to end of the backstory.

Continue to Part 2 for the conclusion of the epic tale (and the actual point of all of this)…

Posted 2012/05/20 by dyne3d in 3D Apps

Tagged with ,