The State of Open Source 3D Modeling
gmueckl writes "Since Blender was released as open source in 2002, it has basically owned the open source 3D modeling scene. Its development has seen a massive push by both the community and supporting organizations. However, the program has been showing its age all along and efforts to improve on it have either been blocked or have failed in the past (note the dates). Authors of new modules are forced to jump through hoops to get their work glued onto the basic core, which still dates from the early 90s and has gone almost unchanged since. There are many other active projects out there like Art of illusion, K-3D, and Moonlight|3D. Each of them offers a modern, much saner, more coherent, and more powerful basic architecture and could match Blender in a couple of months' time with some extra manpower. So how come these projects don't get the level of support they deserve? How come developers are still willing to put up with such an arcane code base?"
How about "lame" ?
they're stupid...that's why everyone does everything
As much as people may hate Blender, the main advantage of the program is that it is there, and that most things work. Some parts are even great. Personally I happen to like the poly-workflow, which is very fast. The main problem with blender for most users is that it takes a while to learn, but once it's learnt, it has a very effective workflow.
I think that the OP is very optimistic when he sais that it takes only a few months to port everything (and the kitchensink) to another app, that is just impossible, even with open code.
I dont think blender code is that arcane, i know Tom was doing some rewriting, they are aware that the core needs updates and they are doing it, it just needs time. Game engine was coded again with a different engine, render path it hink got updated too.
I heard they're being sued so they aren't really focusing on their program.
It's easy to pick on the XML bit (though I don't understand why XML is so awesome it has to be used), but that's a pretty small demerit compared to all the major feature enhancement Blender has attained over the past few years.
l ender-243/
It's earned a fluid simulator. Particle effects have been dramatically improved, yafray integration was a huge improvement for rendering, materials can now be created with a node based system.. the list goes on and on. The feature enhancements that went into the latest point release is worth an essay all on their own:
http://www.blender.org/development/release-logs/b
Blender stays afloat because it's seeing active development and is already a mature platform. People are used to the interface (one that newbies hate, but veterans fall in love with), and it runs on all three of the major operating systems.
I don't think an aging codebase is a critical flaw. Too often people think redesigning the wheel is a panacea for repairing a kludgy system, without realizing that all code projects fall prey to this at some point in their life. Sure we could rewrite Blender.. but to what end? It'd take another 5 years to get where we are now.
So how come these projects don't get the level of support they deserve?
/. until now.
Because the issue hasn't been posted to the front page of
This is not the greatest
K-3D would probably get more attention if their website worked.
There have been huge changes to Blender over time. For example, the physics engine in the game engine was replaced with a much better one. The original poster is apparently wound up about some XML import/export thing, which is minor. You can write Blender import/export filters in Python, and many such filters exist.
Blender has some problems, but converting its files to an XML format isn't one of them.
I dont't see any open source competitor for blender any time soon.
blender already has quite a lot of features, not to mention game engine and other tools.
plug the fact that it's light weight, fast and cross platform. (while maintaining the same UI everywhere.)
blender may have some old cruft every here and there.
but it doesn't really bother me.
so what do these are "not yet here" apps offer me?
Well instead of trying to match Blender, maybe it would be a good idea for them do do everything right that Blender does wrong.
But it doesn't matter anyway. Basically, the hype and bullshit surrounding the 3d modeling app market is already so saturated and misinformed, it makes a SNES vs. Genesis debate in the cafeteria in the 6th grade look like a congressional fact finding comittee. Almost anyone involved in 3d modeling as a hobby develops their own ideas about what is good and what is bad for their way of working. Most of the time, Open Source modeling apps fall in the "bad" column.
Blender's UI is the Emacs of the 3D Modelling world, it's got a steep learning curve but when you get it(in the three or so years it'll take), boy will you be marginally productive.
http://my.telegraph.co.uk/dublinclontarf
Blender now has sculpting tools, a very modern feature not even available on many expensive 3D programs.
I think more people use Wings3D than Blender as an open source 3d modeling program.
I wonder whether, if you read the current blender development mailing lists, you would still think this.
A program I've been meaning to try since the project was launched.
There's also equinox3d which is free as-in beer.
...if the author included the correct URL: http://sourceforge.net/projects/k3d/
I looked at K3D for a bit...one of the most awesome features I saw was the record/playback used for tutorials. The K3D interface, at the time, also needed some work. However, over the last couple of years, I see it has come quite a ways as well. I think there's room for both- they both use different approaches, and will appeal to different kinds of users. K3D needs something to boost its profile - Blender had the Orange project, as well is the rich history that went with going commercial, and then eventually being released as an open-source project after collecting donations from users over a very short period of time.
Blender also had quite the community - where's the K3D community? Where is that being nurtured/grown?
The article is a rant without reason.
If the poster's idea of a logical argument for an improvement is "Let's use XML" without further justification, then he has earned the equally logical response of "No".
It takes a lot more than a desire to use the latest fad to make a reasoned argument. Every project has a few corners of cruft, and just because they remain doesn't make the whole project bad. In fact, an aging codebase usually indicates stability in a project that is still being maintained, as Blender is.
Sounds like sour grapes to me, and ill-founded sour grapes at that.
Aparently the poster is a developer at moonlight3d and blender http://www.moonlight3d.eu/cms/index.php?page=news http://projects.blender.org/users/gmueckl/ Somebody in the blender community must have pissed him off, but I am too lazy to search for his name on the blender mailing lists.
your question isn't so much a question as much as it is whinging... maya and lightwave and studiomax are also showing their age based on a mature code base, but consistency in the user experience, incorporating improvements into the base application without jepordizing usability are stilll very important. and just as these applications have improved over the years, so has blender. i haven't seen alot of improvements with AOI...
Blender probably "owns" the open source 3D graphical modeling scene because it's the most complete, full fledged, and the most mature of all the applications out there, with the exception of POVray. aside from blender(combined with yafray), the only other apps i use(and would consider recommending) would be wings3d(currently testing sunflow). typically i'll start with wings, import into blender, and use yafray for rendering. this combo seems to work well, wings is superior to blender in certain types of modelling. i don't think the other apps you mentioned play well with other apps, maybe that's the problem...
i've tried many of the OSS 3D apps out there(including AOI, have not tried k3d or moonlight thou) and the problem was often that the user interface was clumsy, the code was only available on one platform(i.e. moray), or the project was not mature enough for real work.
blender is'nt the easiest 3d app to work with, but then again 3d modelling in and of itself is not an easy task. since this discussion is about 3d modellers, it's important that an artist is able to navigate, switch tools, and move around an application in as smooth and fluid like as possible. it might seem like an oxymoron, but it is possible to do this in wings and blender(i never thought it would be). blender especially is a steep curve application, but once you get to know the most basic commands of edge/vector/face selection, creation and editing of primitives and vertices, things start moving quite well. there is a lot of thought that went into both blender and wings UI to make them easy to use. can you say that about k3d/aoi/moonlight?
you complain about the underlying architecture, but it's not the code that a user is interfacing with, and the interface is what is driving a highly graphical app like blender. it helps when architecture and UI are both well conceived.
does that answer your question(s)?
three can keep a secret, if two are dead - benjamin franklin
Blender isn't well thought out - it's evolved. The user interface is still pretty terrible. Python scripting totally sucks - the interfaces change with every release (often in ways that break existing script), are very poorly documented and yet never seem to keep up with the functionality in the core package. The code base is a terrible mess. People I know who have wished to write significant additions to blender's core have found their work rejected.
But the problem is that it's just barely good enough - such that developers simply don't feel it worth the (not inconsiderable) effort to do something truly world-class to replace it. Artists eventually learn it's weirdnesses.
If blender mysteriously vanished overnight, we'd be in a terrible state for the next year - but what would emerge as a result would be a hundred times better.
Tricky.
www.sjbaker.org
Yeah, it's not exactly a 3D modeling app, but you can pick it up with no prior experience and throw together a map of a building in an hour or so.
Well, all I can say is that Blender rocks. It has its unique UI, which is fine for me, but maybe instead of thinking about core code, how about making UI derivatives without messing with the functions? As I said, I like the UI but others may not. But what I think that is missing from the open-source scene is something so crucial, I can't do but wonder why it doesn't exist: an OPEN-SOURCE PARAMETRIC 3D MODELLER! Please!!!!! I'm an Industrial Designer and I'm obliged to have Microsuffer Winblowz just because of one single type of program. I wish I could go all OSS, but this is my main brake. So I ask you, Slashdotters! Who's willing to help and start a OSS Parametric Modelling program? (like Solidworks, Alibre, Pro/Engineer, etc.) Thank you for your attention!
Left hand on keyboard, right hand on mouse. If you know they keys for the most used commands, you get incredibly fast for the basic manipulations.
kdawson -1 troll
££££'s Maya or £££'s 3DMax will not give you motivation.
let the piss-taking commence
This is a fairly timely post for me. A few weeks ago I was interested in creating some fairly simple 3D objects, the first piece of software I tried was Blender 3D. After about a night's work of playing around with Blender I still couldn't get it to do what I wanted it to. A few days later, I came across Art of Illusion, and within an hour I was able to create what I wanted. It may be that Blender may be better for the more experienced user but Art of Illusion was a lot more intuitive and productive for the casual user.
I would disagree, you can't sit a grandma down and have her learn 3DS max in a few minutes, nor can you with Maya either. It's just a different interface. With each release more keyboard-only commands are now mapped to menu entries. If you watch "pro" users of 3DS max and Maya you'll notice they use keyboard shortcuts like crazy.
- Each of them: great, there are three projects offering equivalent functionality, each hoping to supplant the current favorite? And which, pray thee, should an experienced developer contribute to? "Any of them"? --- bzzt, wrong answer. You're asking somebody to contribute when there is a 2 in 3 chance the contribution will be dead code when one of these emerges as a favorite? A born-into-money aristorcrat who doesn't have to make his own living can do that; the rest of us have more limited time and can't. Hint: companies pay product managers quite a bit to keep developers from doing wasted work, partly to avoid overhead but partly because wasting a developer's work is the fastest way to kill any enthusiasm. Picking one option (even if it's wrong) is better than indecisiveness. And if you truly think multiple options are the best, then find a way for them to coexist (pluggable rendering cores) instead of killing each other off.
- modern, much saner, more coherent, and more powerful: all of these are in the eye of the beholder. But here's an opportunity to defend yourself: if these new architectures are that much more powerful, it must be possible to implement the blender architecture with them. Which happens to be a sane migration path, instead of the throw-away-anything-old not-invented-here approach of an entirely new project. Blender is open source: fork it and insert the new architecture, instead of griping about how somebody else should do something better. (I know full well this isn't as simple as I'm making it out to sound. But you know full well these new architectures aren't unambiguously better than the old.)
- could match Blender in a couple of months' time: such a confident development-time prediction! Anyone with predictions that solid should be administrator of a project already! Now that I'm done being sarcastic, "a couple of months" is totally unrealistic. Every additional developer needs ~1 month to get up to speed on a new codebase (and understand what Blender does), another X months to implement the new functionality to match Blender, and 2X months to work the bugs out of the new functionality. Wine has been a few months from being usable for general apps for years; Gnome has been a few months and a few developers from being able to replace Windows for years; Windows has been a few months from being bug-free for a decade.
I don't mean to degrade the whole idea of finding something better than Blender. It's a fantastic goal, advances the state-of-the-art, and all sorts of other good things. I do dispute the misrepresentation of the ease with which it can be done: if it were even a tenth that easy, it would already be done.Developers are willing to put up with the arcane code base because (1) it works, (2) it's Good Enough, which means anything newer has to overcome the training / usability barriers associated with switching, and (3) the newer options are not unambiguously "better". Remember: if app Bar (Blender) is already the standard, app Foo (these alternatives) not only has to be better for someone just starting, but also has to be better for an experienced user of Bar.
A witty [sig] proves nothing. --Voltaire
Any modeler/artist worth their salt is using mostly key shortcuts - at least to enable a tool. It's simply too inefficient to use the mouse to perform an action. With there being more and more modeling tools than ever before, it can simply be too cluttered to have everything on screen, which means navigating through various tabs/menus/etc. In modo** and Maya, I'm enabling every tool I use with a click of a key, a mouse gesture, etc. That said, if Blender wants to appeal to more newbie hobbyists, it should have a decent GUI that'll let them get started. (Disclaimer, I haven't used Blender in years, so I'm saying this on what you said about the need to learn keyboard shortcuts)
**I'd like to see a freeware/OSS project take the approach Luxology is taking with modo. First, they baked out the modeler end of the app in the first release. Then in the second major release we got a render engine and texturing/painting tools (and of course refinements and improvements to the modeling end of things). Presumably, in the third major release we'll get animation (and other improvements to modeling and texturing and rendering). I personally like this approach because instead of stretching yourself too thin focusing on everything at once, you start off by getting the basics of each "component" right. This seems to be a result of their Nexus core, which from what I gather is a developmental platform, where they can "bake" out various versions of the program.
WWJD.... for a Klondike bar?
you need to learn the "stupid" keyboard shortcut in any graphic app to get reasonably effecient. take any application open source or commercial, and you'll see that they all have keyboard equivelants to menu items. believe it or not blenders many shortcuts are fairly well organized.
yeah it's a hurdle, but if you want to be good at anything, you need to clear a few hurdles.
why is it flawed? because it takes effort to learn? come on...
three can keep a secret, if two are dead - benjamin franklin
I have attempted to use K3D and blender, and still play about with them. Blender is a nice looking interface, but it is daunting and has a tall learning curve. It uses massively complicated menus and certainly to someone who was taught on 3DS MAX a difficult interface and no foreseeable improvement to MAX from the get go. K3D, however, I liked. It has a simple interface, and its tree set-up for objects is a good way to edit and change objects settings. The only problem that I could see with this program was that the interface looked old and felt cluttered even on the 21inch screen I was using. I would hope that developers could look at K3D more and develop it further, as I believe it has the potential to rival 3DS MAX, Maya and Blender
Thanks,
Badspyro
ahem .... blender had all the annoying hot keys back when it was a pay-to-use app ... it was just as annoying back then, and it had nothing to do with Open Source, it has to do with being blender ... but enough people liked it and used it and depended on it that when its owners decided they had better things to do its users all chipped in and freed it ...
Their main problem is the interface, which they are attempting to fix IIRC.
Just do the modeling with Wings 3D, or whatever you happen to like, and do the rest with Blender. It's a very capable piece of software.
And many artists use many applications to do their work, for example, they could use Modo for modeling, Lightwave for rendering, etc. So it would be perfectly normal if you use Wings for the modeling, some other application for animation, Blender for rendering, etc. This way, you are using the parts you think are better, or you are more comfortable with, from each application.
Blender has a rather unintuitive interface and most of the documentation is not that great. Fortunately I came across this excellent tutorial . The file is a pdf. It took me about a month of evenings and weekends, but once I was through the tutorial I was quite comfortable with the interface. It is really amazing what you can do with Blender once you get over the learning curve.
You're assuming that a strange and different interface is flawed.
Typical whiner.
Inkscape is making moves toward 3d. Just being able to produce a wireframe in Inkscape would take much of the pain out of using Blender. http://wiki.inkscape.org/wiki/index.php/Googles_Su mmer_Of_Code#3D_Tool IMHO Blender and the deranged robot of the same name have a lot in common.
My daughter just attended a seminar where the UI expert posited the three Es. Ease of use, ease of remembering and something else that translated as power. The way the presenter described it, you couldn't have all three. Bullroar. A good program is one that I can use intuitively. If I am going to use the program a lot, there are shortcuts available. For instance, my students can get something to work with menus and the mouse. I can do the same thing two or three times as fast from the keyboard. I guess the thing is that a decent program has more than one possible UI.
If you use software as a tool in your work, engineering, modeling, etc, you know shortcuts are necessary, even gaming needs shortcuts to be efficient, your not gonna win on a multiplayer starcraft game using only your mouse.
yeah it's a hurdle, but if you want to be good at anything, you need to clear a few hurdles.
why is it flawed? because it takes effort to learn? come on... You and I seem to think a like - and in fact you made a key point (your last sentence) I forgot to mention. Any time spent learning those "stupid keyboard shortcuts" is going to be time well spent - it'll save time in the long run. Much quicker to hit "P" to fill a poly than, for example, having to search for "Generic Poly Modeling Tab" and then finding the "Create/Fill/etc Poly" button. Also, I don't know how it is in other industries, but being an artist, I value efficiency. The quicker and more efficiently I can model the better. It helps to "stay in the zone". Rather than fidgeting around looking for tabs, buttons, etc, I can get straight away to realising my ideas.
WWJD.... for a Klondike bar?
"You can write Blender import/export filters in Python, and many such filters exist."
Were's the export filter for Painkiller? There's one for the other popular 3D packages.
If you want a nice natural intuitive modeler, look no further than Wings 3d:
Wings3D
It has some strange dependencies, but you might be able to find a precompiled version for your platform. (It's in Gentoo's portage for example).
here here! i concur. "staying in the zone" is important when the creativity is flowing. any obstruction can potentially dry up/alter the "stream of conscienceness" way that creativity can manifest itself. like a concert pianist not having to look at their hands, shortcuts are a path towards pofessionalism in the world of computer graphic arts(2d or 3d). my wife is a graphic artist with 12+ years using illutrator and photoshop, and it's always amazing to watch her work. she uses maybe 50% of the keyboard shortcuts available, but using the shortcuts allows her to move fluidly thru her work. it would take me 3-5X the time to do the same work she does, since i don't know where the keyboard equivalents are. interesting you mention modo in one of your other comments, it reminded me that my .blend is based on jimmacs modo color scheme...
three can keep a secret, if two are dead - benjamin franklin
So it's not cool to have no choice? I thought we were against choice? Doesn't everyone want either KDE or Gnome to die?
Patriotism is a virtue of the vicious
Call me shallow but Blender has a very nice website and that's why it gets more attention. The other three programs mentioned have crappy ones. Also I'm the last one to denounce Java but "Art of Illusion" is apparently in Java and the interface is not pretty. It's not even a matter of a native vs. non-native UI, because Blender doesn't use native widgets either. It just looks better.
Wings is nice but it bogs down on high-poly models.
Indeed. I use modo and Silo for modeling hard surfaced objects, and rendering in modo or Maya (via Mental Ray). Then there's sculpting specific apps like Mudbox and ZBrush (which also does texturing).
You'll rarely, if ever, find a studio using one program. Certainely none of the bigger ones, and I don't even know of any smaller studios that rely on one piece of software for all their needs. For the hobbyist though, this isn't always a viable option due to the costs associated with some of the software.
Modeling especially, seems to be segmented. Model a base mesh in modo/Silo, bring it into ZBrush/Mudbox for sculpting, rebuilding topology in modo or Silo again, and then bringing it all together into Maya/XSI/3DS/LW/etc.
WWJD.... for a Klondike bar?
I used to think so, but when a friend of mine recently tried...
He is a graphics designer by trade and has Windows at home (he hates Macs, but has to deal with them, because every single designer shop in Germany uses them). He wanted to build something in 3D and tried to install the Windows version. It wouldn't even install due to some Python related problem (Python seems to be for the plugins, but why would it break the basic install anyways?). I tried to help him over the phone and he installed different versions of Python to no avail.
Then I advised him to try the previous version and it didn't work either. There was very little documentation on the web. He uses Windows XP and has nothing out of the ordinary running and uses standard hardware.
I guess not many people tried even installing the Windows version much less use it.
Good thing I use Debian. For most important stuff I need there are responsible maintainers that check the packages bevore uploading and respond to bug reports...
"Any modeler/artist worth their salt is using mostly key shortcuts - at least to enable a tool. It's simply too inefficient to use the mouse to perform an action. With there being more and more modeling tools than ever before, it can simply be too cluttered to have everything on screen, which means navigating through various tabs/menus/etc."
Anyone serious about their profession has multimonitor setup* with a graphics tablet with common items around the perimiter.
*Some even have the Wacom monitor slash graphics tablet in one. Comes in handy when painting on models.
I mainly use maya for almost all my 3d work, however sometimes I'll jump into 3dsmax. Often times I'll also model in Silo. (http://www.nevercenter.com/) Its a great program and its very cheap. Wings is also a good one. I have tried numerous times to learn Blender, and I just can't stand that nasty UI. And then I though, why bother? Why am I wasting my time learning some crappy program when I could be using the better ones I already owned? I really wanted to use Blender, because it never hurts to know how to use another app. But this was just not worth learning, not worth pouring my time into learning it. Suffice to say, I don't use blender anymore.
I love blender, but I do agree with the bit about people jumping through hoops to make any changes to it. I rewrote one of the import scripts because it only handled a tiny subset of the specifications for the file format it was supposed to import and I needed it to import more diverse forms of OFF files for my work. I posted my changes with example files for review and didn't hear back for months. When I finally did hear back they wanted me to create more example files to show them what the point of my changes were (which I felt I had pretty clearly displayed). I decided to forget about trying to get the changes into blender because I don't have the time to spend on convincing other people that it works. The code works perfectly for me (I use it almost every day) and the blender folks have access to it if they ever decide to take the time to sit down and review it but the whole process was pretty discouraging to me.
www.fragmotion.com
Description
fragMOTION is a powerful 3D modeller specifically intended for the creation and animation of characters. fragMOTION is intuitive and easy to use and contains many features that are only found in top of the line modellers. And if that's not enough for you, the event driven scripting system makes it a breeze for you to add your own features.
Notable Features
* Load and edit multiple motions in the same workspace.
* Merge any supported model file and extract only the desired portions of that file.
* Paint textures directly on the surface of a model.
* No set limit to the number of faces contained in a model.
* Create sprite images from 3D content.
* Keyframe editor that allows you to copy, paste and delete keyframes with ease.
* Animate your character using Inverse Kinematics.
* Support for up to 4 weighting values per vertex.
* Selective subdivision of faces.
* Unwrap arbitrary geometry into a plane and save the image into a texture.
* View attached objects such as weapons and equipment.
* Create your own plugins using LUA script or C++.
* Customizable user interface allows you to edit the menus and toolbar. You can even create your own menu items or toolbuttons to run user-defined scripts.
* Convenient splitter window allows you to customize the layout of your workspace.
* Keyboard shortcuts that allow you to use tools without constantly switching modes.
* Set background images into the viewer as a frame of reference.
* Create user-defined classes with their own appearance, properties, methods and events.
* Modify existing classes by adding user-defined properties, methods or events.
* Create skeletons with up to 255 bones.
* Full undo/redo.
* And many more...
Open source projects that succeed usually have a single purpose, and fill a niche. Because Blender does absolutely everything I can think of (it forgets to put sugar in my tea, tho), it's become complex. Complexity often shadows functionality - as things get more complex, they must be redesigned to make them functional. (imo, Gnome got it wrong and started to remove definable functionality rather than redesign input)...
There's a reason everyone takes Human centric computing modules now - they're useful!
If some of these other products started focusing on niche markets that are useful to its users - say, for example, game developers - they'd start to make an impact.
Take http://www.zootfly.com/tect.html for instance. Zootfly seem to have encompassed everything I need right now in a design and modelling tool - because its focused directly at computer games. To non-game developers, say animation modellers, it might not offer quite what they need, but at least it will lay a foundation for them to build on, or at least the community to react and copy.
Its funny - there's a trend-
Good Open Source code gets redesigned. Good Open Source code becomes a useful product. Becomes Successful. Expands and adds features. Becomes overwhelming. Is less functional at specific tasks than before/standalone projects. Some may say the linux Kernel is taking that path - but it's a lucky project, system-nucleolus-level implementation is very specific, and one can't avoid contributing to the kernel when adding low level features.
Look at ZBrush. It costs nearly £400? That's a lot of money for essentially a glorified 3D painting package. Sharp3D, an open source ZBrush-like tool (that I've yet to make work), is similar in respect, but needs more attention. Blender has texture baking and painting functions, but I don't know how to use blender, I just want something textured now, while I prototype. Blender's complete set of functionality is scaring me away!
I'd use Rhino3D (shareware) over blender at the moment, simply because I find it's stuck to its NURBS goal, and not gone to far off the niche mark.
Matt
This is to all those people who claim that you just have to learn to use Blenders user interface: My question really was initially not that much about the user interface, but the user interface really is at the core of the problem, but not in the way you probably expect.
The alternative applications that I have pointed out are really designed for a job. They adhere to basic MVC patterns and whatever else you would expect from such a big application. These patterns really are a big advantage when it comes down to coding stuff. Blender on the other hand has a "user interface driven design", as Ton once said. And this term fits well: the user interface - and I almost literally mean the buttons on screen and whatever event handling that is attached to it - are the only glue that keeps everything together. So when you talk about the user interface you also talk about Blender's internals. There is not much of an abstraction between the user interface and the data that is manipulated. So the bottom line is that any change to Blender's user interface is a change to Blender's design.
http://www.moonlight3d.eu/
IMHO, the problem is that specialized subjects (unless it's something directly related to systems software) are harder to get going in open source projects. Some domains, like computer algebra, operations research, visualization, etc., demand a domain knowledge that is not widely available. Being able to program in C/C++/C# or Java, etc., is not enough. A lot of programmers in the OS world know Unix. But knowing Unix does nothing for your, e.g., workflow, spreadsheet, or number-crunching software (scientific computing, BTW, is one very specialized area where you find good open source software, because it fulfills the needs of academics). Chances are, if you are specialized to that degree, you already have ties, or plan to have, with certain software houses or academic institutions. Or perhaps, you want to compete in the market with your own business (and this might have something to do with certain license choices, in particular the GPL).
In fact, if you look at it, there are quite a few domain-specific softwares that are lagging behind when compared to their proprietary counterparts.
Cooperation in some open source domains might also lag behind because of the lack of imagination of many OS tools. Look at the proprietary tools for Java, for instance and what they can achieve in terms of colaboration. I'm not a Java programmer, but to my knowledge there isn't anything like that in the OS world.
Licenses might have have something to do with it, also. I don't see why one specialist would want to contribute to another specialist's project, when there's even the possibility that this one releases the other's code contribution under a dual license (one proprietary, the other GPL). The solution is to reinvent the wheel and roll your own.
Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
The first thing I did in modo was in fact to look at the keyboard shortcuts, and learn them, as well as modifying/creating my own. Actually, the first time I use any new app for the first time is to generate a cohesive set of shortcuts - that work the same across all apps (as possible). That is, the same keys in modo to extend an edge, bevel, slice a poly, etc, are the same keys for Maya and Silo, etc.
When I first started 3D, I was using trueSpace, and I *NEVER* used shortcuts the entire time I used it (except the standard save, open, etc keys). It took me forever to do the simplest things, and I never really progressed as an artist. I think it's because I was too busy fidgeting with the UI to do what I wanted. As soon as I moved to LW, I started using keyboard shortcuts and my productivity skyrocketed. Then when I moved onto Maya and modo, I took it even further and began creating my own keyboard shortcuts, shelves, marking menus, pie menus, and layouts, my productivity increased again. As such, I'm now much more comfortable, efficient, and willing to play around a lot more. The biggest difference however is I feel like it's more of a creative endevour than a technical one. That is to say, it's much more natural to work, and keep the "stream of conscienceness" flowing. Instead of constantly breaking the flow, I'm seamlessly moving from one tool to another, all to achieve the end result. Before it seemed every action was it's own step with it's own end goal, breaking the flow.
WWJD.... for a Klondike bar?
Wings3d is written in Erlang, correct?
Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
Dont forget that Blender came from professional roots. NeoGeo actually USED this software for their work, back when it was purely internal.
Most everyone else is coming from a hobbiest viewpoint. and are most always doomed to stay there, if they manage to survive at all.
---- Booth was a patriot ----
Kdawson submitted some anti-Blender tirade written by gmueckl. Fair enough, the guy has a right to his opinion.
I want to check it out so I go to the never-changing site of AoI and look at the gallery. Well, maybe they keep their best stuff somewhere else....That stuff has been there forever.
Next I go to K-3D, fondly remembering the build-in tutorials in the 'old' K-3D, the one before the never-ending refactor. Site doesn't load.
Head over to Moonlight3D. Hey, I remember that from about 10 year ago! Sad story: guys write Moonlight (closed source) Later they come up with Moonlight Atelier. Loads better but still closed source. (Linuxgraphics.fr had a nice Moonlight section) They open source the old code base, lose interest in Atelier and that's it. End of story. OK, so some guys decide to try to revive the old codebase, did some hacks and changes. Project died. This seems to be the legacy. Go look at news. Hey! Who's that posting there? It's our old friend gmueckl! So the anti-Blender tirade looks like a serious bout of jealousy to me...
If that is the competition Blender has, I suspect it'll be on top for quite a bit longer.... Just compare development pace, feature set, support (2 modern Blender books with a third one on order), roadmap.
'Blender also had quite the community - where's the K3D community? Where is that being nurtured/grown?'
From what I can see this question is posted by someone who wants to hijack the Blender community and have it adopt one of these other projects instead. Unfortunately, so far his posts have been vague and he hasn't mentioned one specific design aspect that is superior in these projects. Until he does it just sounds like he thinks everyone should make programs work the way he likes them.
> How come developers are still willing to put up with such an arcane code base?
Er, because we paid for it?
I bet this is the "logic" preventing freedom-free adoption in most places.
I use my mouse in my left hand.
If you want to get anywhere in the industry doing modeling, you need Maya. Don't waste time with anything else.
"so what do these are "not yet here" apps offer me?"
A free blow-job!
Blender is very, very good. It is stable even with large data. And it works reliably on Windows, Mac or Linux. For all *professional* purposes, it certainly does the trick.
See, there is always something you don't know (be it 3D Supermax, Maya, or Lightwave or whatever). Then, there is always a driver issue and things start crashing (except, mostly, Blender). And then there's always the problem that it doesn't run on Linux (except Blender). Also, where is the handbook, and an easy way to solve a particular problem? Forget all the others, too obscure, too hard to figure out. Using Blender may not be so extremely elegant, but most reliable, most accessible.
There's the OpenSceneGraph project. Not all 3D is Blender/Maya, it really depends on what you want/need to do. If we stick to the title "3D modeling", I guess even some 3D game engines can fit in! :-)
"The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems."
Animoog.org
Ok, let's make an agreement first: Blender user interface is arcane in many ways, and it's got a really steep learning curve.
Other than that, I believe the author got everything wrong. Blender does have many features that can show it's strength, but they're not a click or two away from that big, colorful icon in the toolbar.
The problem is, Blender is so rich with options, you can't display them in a confine of screen estate of most users. And if you could, it would be all clutered and useless. The second is that Blender relies heavily on keyboard shortcuts, so for many options you just won't find a button to click on.
The reason why it is still alive and well is, heh - it is a great application. A tough one to learn, sure, but quite powerful and I'd even say easy once you get to know it.
In comparison with Blender, other application from the article look like (pardon me) child's toys. Not that I'd want to say that they are bad or second class, the fact is that they are not a match for Blender's versatility and built-in features. This might change, and I do hope it is going to happen some day (as any monoculture is a bad thing), but I believe the answer to author's question - why there's so much development in old and arcane Blender, and not so much in those other, nicer looking apps - is that at the end of the day, it is up to what are you able to produce with the software, not how clickety and shiny it's buttos are.
That makes it useless to me, at least.
I gots ta ding a ding dang my dang a long ling long
As far as I can tell K3D and Moonlight haven't moved an inch in the last 5 years. They both look like students summer projects to me.
Blender has weedy parts in its codebase, everyone knows that. Any programm this complex and mature has those. But they are being replaced fast and thouroughly by a thriving core team lead by the founder of Blender. Blender runs out of the box on 7 plattforms and has a featureset that closely competes with current topline commercial tools. Try to catch up on that alone 'in a few months' Mr. Smartass. Blender is responisble for the recent price drops in the 3D tool industry alone and when it eventually fully supports Renderman yet some toolmakers are going to have to redo their businessmodel big time.
The usual UI bickering is bogus aswell. Apart from being just as hard to learn as any tool of same capabilities, blenders UI has been comletely OpenGL accelerated from the begining - one of the things it's unique in iirc. Blender's learning curve is steep, as with any high-end 3D tool without a stack of books. But with the amount of material and books available on the web for free nowadays makes this learning curve not nearly as hard as it was 5 years ago. The featureset is breathtaking and has commercial providers such as Newtek struggling to catch up in some areas (notice the recent addition of an improrved node editor to Lightwave 9 - nothing but a response to Blenders node editor). Sidenote: I own a professional licence of LW 8, a commercial licence of Blender (from the NaN days) *and* use Blender since back in the days of 1.8. I haven't updated to LW 9 for the very reason that Blender 2.43, a few little things aside, offers everything professional 3D needs. And then some - an full-blown integrated compositor for instance.
Blender is as mature and developed as any open source project could wish for. As *any* software project could wish for actually. Features and improvement are being added on a regular basis and it's fully backwards compliant with any blender file, and it's professional roots not only show but have become more and more visible.
Bottom line: The submitter of the above article either doesn't know what he is talking about or is a troll. Or both.
We suffer more in our imagination than in reality. - Seneca
Do you even use 3D programs? And how many have you used? I'm certified in 3d Studio Max, Lightwave, and Maya. I've taught each one for a number of years, and have used a host of others over a 20 yr period, and I find blender speedy and great. I've used it professionally in government projects for NASA and the Department of energy, plus several commercials. I've seen the other open source programs you listed, they are tinker toys compared to blender, and would not hold up to the weight of complex code being added to them. I think blender is too complex for you, stay with the free version of sketchup. Sorry for the flame, but it seems you don't have a lot of experience with 3d in general, and don't trash a program that can compete with software that is $3000 to $5000 and still be free. Blender is getting some much needed code rewrite thanks to Google's summer of code. I'm currently using a package that retails for $1600 and is missing some key basic elements, much the same way 3d studio max was when I stopped using it. Blender at least has all the basic features and controls you need.
The raised issue is not completely unfounded, but focusing on a more particular sector of the modeling scene the field offer even less choices./ 05/144212 ) while on the software side there are almost no alternative to the high end commercial package in the 50k$ range (20 times the HW cost).
The current panorama of 3D modeling packages is quite tailored towards the needs of the majority of users (low and high poly modelers) and most of these packages offers less than satisfying experiences when used to manage the large unstructured meshes that come from 3D scanning technologies or used for rapid prototyping needs.
The meshes produced by these automatic technologies are typically huge (millions of triangles per object) and not organized into scene graphs; most modeling packages simply sit down on the specs of these objects. 3D scanning and rapid prototyping hardware is becoming more and more popular, devices very low priced are already on the market ( http://hardware.slashdot.org/article.pl?sid=07/04
The only open source alternative on this sector of 3d modeling is Meshlab http://meshlab.sourceforge.net/.
Sorry for what could seem a shameless plug, but I would like to hear your comment on this side of 3D modeling scene.
Comment removed based on user account deletion
AoI Works fine on Linux, Windows and Macs to my certain knowledge. The lead developer uses a Mac. I've been using it mostly on Linux for many years professionally, and its latest incarnation of the user interface is just so much easier to use - and teach new users with - than Blender. It is capable of producing massive renders, tens of thousands of pixels across or simply running off a quick animation preview.
:v)
Also, AoI produces and validates true 3D shapes. This is important, as shapes which merely look like they're 3D but in reality have a few klein bottles hidden within the mesh are impossible to print out on a 3D printer.
Finally, the AoI community is extremely helpful and responsive. For these reasons, we use AoI in the RepRap Project to build objects for our Open Source 3D printer.
Vik
In fact Blender was written for SGI IRIX in the first place, before OpenGL was the clear first choice for 3D graphics. The FreeBSD and Linux ports came when Blender had been ported from IrisGL to OpenGL. This does mean it used acceleration from the start.
The codebase of those from scratch projects is probably less complex because they do not yet implement the last 30% of complex functionality implemented by the codebase you inherited.
Requiring users to learn a new UI and new ways of doing things, not to mention each having a long list of missing functionality, will alienate your userbase and reduce funding.
Likely the codebase appears more complex to you than it is because you are inexperienced with it.
If the issue is the complexity of the plugin interface, instead of discarding thousands of man hours of value, you should be working toward refactoring around a modern, less complex plugin interface.
Blender 2.43 needs Python 2.4.4.msi
You also have to set some enviromental variables in Windows as well.
Adjust for your particular version.
You'll know you've done correctly when Blender indicates it's found it.
Some guy has been working pretty hard on a new 3D solid modeling CAD program over the past few months called avoCADo. It is geared more towards 3D CAD engineering and design, but I thought it deserved mentioning. Does avoCADo have potential? or is it just another modeling program doomed to sinking in the sea of open source 3D apps? http://avocado-cad.sourceforge.net/
I highly recommend buying the book. I spent three weeks learning and producing content that was assembled into a DVD. I do have a bit of 3D experience, mostly in POV-Ray. I don't think it is possible to hunt and peck your way around Blender to achieve any level of proficiency. There are just too many parts that do too many things. The book really helps pull it all together and demonstrate just how easy things really are.
-rd
"So how come these projects don't get the level of support they deserve? How come developers are still willing to put up with such an arcane code base?" Answer: For the same reason people use GNU/Linux instead of *BSD (the latter being much saner, more stable, etc). Go figure.
awesome project( RepRap.org ). BTW, I recently saw a youtube video of a professional CNC machine milling out an engine block and one thing I noticed was they only moved the cutting head along the X axis. The material was then moved mostly along the Y axis and last, the Z axis. I noticed you move the printing head along two axes and wondered if some degree of accuracy couldn't be obtained in such a configuration for your printer? The big guys must be doing it for some reason.
:-)
Nice work BTW and I'm looking forward to building one someday. Also, Trinamics makes a nice(but not cheap) 3-axis stepper driver board(tmcm-310) which could come into play for a COTS driver option. It's serial port driven and the firmware driver spec is open. But then again, your chaining driver board look pretty cheap to make.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
My main three complaints, as a new user, were that:
- Mouse gestures suck and should be disabled by default.
- Mouse gestures suck and there should be a WAY to disable them at all.
- The widgets are crude to the point of crying, and it's hard to manipulate things using them or get a bearing from them.
As far as 3d goes, it's very very powerful. As powerful as the commercial apps in most respects. Certainly, unless you're working for Pixar or Blizzard, it has everything you need, and then some. You tend to specialize in 3d work anyway, learning to model machines or humans, or monsters, or being an excellent animator, or kicking butt at textures and/or lighting. You tend to learn one method of modeling as your main method. And you most definitely get picky about which suite you're using. The point is, few people actually use more than the smallest subset of the suite to do their jobs. You don't really need 98% of what a 3D suite is capable of. And so, even though there are a few things you might not have in Blender that you have in Max or Maya, by the time you get to that point where you actually would feel the lack of them, you'll likely already have them. Blender is, after all, actively developed.Honestly, the primary reason Blender doesn't have a larger following in the industry is momentum. Learning a 3D suite is a task comparable to learning another language. Most people don't have the time or will to do that.
For anyone wanting to learn 3D, brace your shoulders and push past the month or two it will take to feel comfortable with Blender. If you don't have what it takes to learn Blender, you're going nowhere in 3D anyway. And you'll find that, whiz-banginess aside, Blender can do what Max can do. And in my opinion, it's faster.
Drop me a line at:
Key ID: 0x54D1D809
I do 3D for a living.. I have done so for .. what.. 20+ years.. blender IS archaeic and feels like a program from the late 80's.. regardless of how good the workflow is SUPPOSED to be when its so called learned.. its not..
.... blender has a lot of potential.. no doubt, but it needs a MAJOR makeover..
blender has a bit of the problem linux has in some parts of the community.. theres a LOT of ppl out there who see linux as "God" and refuse to accept that it might not be perfect in every way and that change could be good.. and as long as those people dominate the blender project.. it will remain a real pain in the ass to use and out of reach for most people.. and every other project out there that could be great drowns in blenderness..
Blender could do with a move to a plug-in based architecture. This would enable partitioning the code base so that, say, the NURBS support could become a separate sub-project and could be developed independently of the main project. After all, Apache, Gimp, etc all use plugins successfully. Blender does have plugins but only for video effects.
The problem with XML support for Blender is validating the input. How is this proposed to be done?
Regards, Martin IT: http://methodsupport.com Personal: http://thereisnoend.org
The project lead of K3D has no clue how to develop a community which is why its going no where.
He requires contributors code to a very rigid bleeding edge C++ style and most people aren't going to endure the steep learning curve on how to write code that he will accept. He is also the kind of person that is going to rewrite everything anyone contributes, without even talking to the contributor before he does it, because everything has to be coded to his rigid taste in C++ and how he sees things in his head. You spend most of your time trying to figure out acceptable coding style, and not thinking about solving problems. Most people lose their enthusiasm for contributing code when its painful to write acceptable code and its just gonna get rewritten without warning. Another problem with pushing C++ to the bleeding edge like K3D does it is incredibly painful code to read, understand, modify and performance tune. You also limit your developer community to a handful of C++ elitist most of who probably have no clue about writing 3D animation software. I appreciate basic C++, but when you overdo it it is a counterproductive.
K3D as best I recall really only had two significant coders, the project lead and one other which is why its pace of development is so slow.
Well, you obviously aren't a professional because all the professionals I know use keyboard shortcuts extensively. The mouse is only for moving stuff around and using the tools they've selected using a keyboard shortcut.
I'm sorry that Blender (or any other 3d modeling application) can't be easy for neophytes (or n00bs), but that's just how it is. If you don't like it, either learn the shortcuts or find a different hobby. Clicking on pretty widgets to kill time is not what professional graphic artists do...
'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
Personally I think the better approach would be to copy what works, not try and come up with something totally new. 3d modeling needs the equivalent of Open Office, not some bizarro "we do it this way because it's better than Softimage/3ds/Maya" package.
Because so much of the "industry" (pick any you want) is tied to the Softimage/3ds/Maya wordl, I have to assume that the space of people without budgets/money is pretty full of pirated copies of 3ds Max, XSI, and Maya. It's not full of idealistic people using open source tools for love, but just people who really want to get something done.
I admit that I haven't tried Blender in a while, but my impression at the time was that the developers treated this project like a checklist. Does it have particles? Check. does it have a scripting language? Check, etc.
IMHO it's bad form to treat any piece of software as a checklist, but in my experience software engineers tend to drift towards this routine. Maybe it's the way they're trained at school? Professors give you credit if your assignment works because that's easy to judge; it's much harder to justify a lower score to a student on the basis that the professor *feels* it's not intuitive.
Too bad for the Blender team that their past sins are haunting them. Maybe I'll try it again someday, but once you leave an impression it's tough to change that.
Well, I *am* a 3D professional, and what you are saying is bull. 3D applications are enormously complex and there is no way in hell anyone could remember all the shortcuts you need. A good 3D app should allow you to work on it without having to commit all of its UI to memory. I work mainly with 3DS max where you have about 30 separate things you can do just with editing vertices, which is just one out of four different ways of editing meshes, which is just one out of 40 something possible mesh object modifiers, and mesh objects are but one of many types of objects, and this is just modeling, there's also animation, rigging, lighting and rendering. Do you think I remember all of it? Hell no. But 3DSmax helps me by being layed out in a logical manner so I know where to search for what I need, and it lets me configure the UI so I can have icons for the most common tasks. I do use about 15-20 keyboard shortcuts, but being so complex, you can't possibly map even 5% of a 3D app's functionality to the keyboard and expect to remember all of it. And this is where the graphical UI comes in, and believe me, 3DSmax and Maya artists spend a LOT of time just setting up the interface and sometimes even creating their own menus and drawing their own custom icons. The good news is that the developers of Blender are aware of it and are going to address those issues in version 2.50. Blender has made great strides in its UI recently, and more is to come soon. I'm afraid this article is just going to cause developer's time and effort to be wasted on other less developed projects, when they should be volunteering to help with Blender's UI coding.
The hot keys are awesome in a way, but I think they can definitely be evolved a little more in blender 3d. The mouse cursor actually record the stroke a user makes after selecting the object. If they want to rotate the object, use the mouse cursor by holding down the left mouse button and making a smooth arc... once you release the mouse button you can now rotate the object. If you create two jagged lines intersecting, it will resize, if you make a straight line before releasing you can move the object. Obviously this interface is not intuitive, but it is ready for a better interface. It works great, and it reminds me of a stylus pad that recognizes characters on a palm or pocketpc. Maybe recognizing what the stroke of a mouse cursor means will be the future of 3d object control and manipulation, but for a new user like myself, trying to figure out the interface after using other apps is a hard battle. But one thing that is very important here, is that any improvements that are made with Blender 3d or other open source programs will definitely keep the price down on the competition which imho is way too much.
The thing that frustrates me the most about Blender is not so much the fact that it's key-driven (as opposed to menu-driven), but that it's almost universally taught through keystrokes and keystrokes only. There are menus or buttons existing for almost every command, but just about every tutorial or forum post by an expert explaining a feature says something like "...select the edge, then press WKEY 1KEY." WKEY 1KEY tells me absolutely nothing about what I am doing. And even if you tell me ten times that WKEY 1KEY subdivides an edge, I will probably forget it. Just tell me once instead to go to the Mesh -> Edges -> Subdivide menu so I know that what I am doing is subdividing the edge, rather than W-ing 1-ing. And I will remember that much more easily.
When I was working through the Blender newbie tutorial, in frustration I went through every page and scratched out every damned "XKEY AKEY" with the corresponding menu, so I knew just what the hell was being done.
They're called shortcut keys for a reason - a shorter, quicker way to do something which you are already familiar with. Once I'm familiar with the commands and selecting from multi-level menus becomes a drag, I will be quickly keying my way, but until then, let me explore its capabilities through menus which let me see what is available -- the whole concept behind menu-based GUIs.
Perhaps he's hoping to drive traffic to his empty user forum which has all of 20 posts.
Gmueckl can say anything he wants about Blender, but he should do so with full discosure. I think this story should be amended to reflects the bias of the story submitter.
"You don't really need 98% of what a 3D suite is capable of."
People bring this up all the time in OpenOffice vs MSOffice discussions. Sure, 80% of the people only need 20% of the features, but everyone needs a different 20%
"I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
gmueckl, who wrote "The State of Open Source 3D Modeling" should have called his rant "Why blender sucks". That he is one of the main developers behind moonlight|3d actually speeks louder than the entire article. This article is soooo obviously nothing more but a rant that it already hurts.
I use blender for 2+ years now and am fairly impressed with what you can achieve with it. Many people claim that blenders UI is crap. Don't really know why. Granted, it is not the usual windows UI. But does this really matter? To actually start being productive with any 3d tool you need a highly configurable ui. And in blender you can configure the ui to exactly show you whatever informations you want. For almost every action you can use shortcuts. This makes it incredibly fast to use. Yes, you have to actually learn them, but this happens whenever you want to achieve something new.
And although I pay my bills by developing software I do not care about flaws in the codebase, ugly architectures and stuff as long as the tool does what is required. And blender does this fairly good.
The development speed of blender is really amazing. Take a look at the new sculpting tools. They are incredible. During this 2+ years of using blender I had only a couple of crashes. And during this time many features were added. I guess that many parts of blender have already been rewritten.
Another really enjoyable part of blender is its community. Take a look at elysiun.com. One of the most supportive and effective communities in the open source world that I know of.
Take a look at blendernation.com, a great source for blender news. There is even a magazine around: blender art magazine. Pretty nice.
Altogether the community around blender is one of the important driving forces behind blender.
Finally, judge the tools by what they have accomplished. Especially look at the art-galleries of the tools:
-k-3d: http://www.k-3d.org/wiki/Still_Gallery
-moonlight|3d: http://www.moonlight3d.eu/forum/
-art of illusion: http://www.artofillusion.org/artgallery
Judge for yourself.
Yt,
Gunnar
one of my favorites, Ayam3D
It depends on the weight/size of the material you're working with. If it's heavy or large, it is more convenient to move the spindle more and have the material as fixed as possible. If it's a small milling machine then it's often easier to have the work surface move and the spindle fixed.
its really sad that blender that has so many good features and such potential are written by coders and for coders with no thought of artists at all.. its a real pain to use if you want to create.. and not spend centuries getting through its archaeic interface.. it will never go mainstream for the same reason linux is not mainstream.. its archaeic and difficult to use and deal with for those who simply want to USE it.. and not spend time setting it up or coding it to their taste..
and its amazing that so many people who post in this thread are totally incapable of taking any form of crticizm... but thats the OSS community in a nutshell.. say anything bad about any part of it and you are instantly a windowsloving drm supporting pig..
They'll be around the corner any day now, can this software be used for those printers?
The sad part is that this is true even for the couple of books I have on Blender modeling. The fact that it's almost impossible to navigate the application without the two-page shortcut chart (which in and of itself, shows how much the shortcuts only make about 90% sense) is a frustration.
That said, once you get a feel for the use of TAB, the middle button on the mouse, the A and S and B keys, the W key and the Z key and the U key and the D key and the number keys on the top of the keyboard and the number keys on the numerical keypad and the two-key sequence combos, you'll really be able to make a great model of that vintage hoverCar that is sitting in Grandma's basement...
***Foucault is watching you..***
It'll take far more than a year to make a replacement "a hundred times better." At any rate, if you need something that good you can always just pay for it. If I had to pay $50 for Blender given what I know about it, I'd do it on the spot - nothing free compares. Would you spend $5k on your dream app? - or would you just complain that it's not OSS?
Ah, yes - i remember having the same problem! Shortkeys are fine, but the tutorial was horrible. So far i started three times learning Blender and each time i had forgotten about the whole shortkeys. The only reason i even have an idea what those keys are about is that i learned to use Wings3D before it, which had some rather good tutorials :-).
Also i would prefer a hotkey reference which is not sorted by keyboard layout (numbers, F-keys, etc.), but by topic. I sort of know what i want to do, i need information how to do that.
Another thing i will never understand is why Blender does not start with -w by default on Linux. I don't know about Gnome, but it just won't work that way in a nice way with KDE (you will lose the taskbar). This is like slapping new users in the face for a greeting.
What I saw as a pretty large system and though the engine block was cut from aluminum, it was quite large and they still designed it to move the cutter in only one direction. I'm with you in that I would have thought it would have been easier to move the lighter/smaller cutting head in 2 directions but they didn't. Having recently checked out the RepRap.com setup, it was fresh on my mind and therefore the difference was noticed. It got me thinking that in any situation where only one axis was moving at a time, more accuracy could be had in a system where the axes were independent because the slop of both axes would not get summed in single axis movements. Easier to do for cutting and less so for squeezing out plastic lines.
I found the video and now see that it is a 5-axis cutter so they can move the cutter in both X and Y axes. They just either don't in the video or not very much. http://www.youtube.com/watch?v=GU32Q6QXtWQ
I'm still questioning if moving in 1 axis will help the RepRap get better accuracies since that seems to be one of the major hurdles right now.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
Have you actually looked at blender's code? I haven't seen it in about 18 months, but when I did look through it, interested in adding a feature, it turned out to be a complete mess. I haven't read the post of the person you're replying to, but (s)he might have said "It started to outgrow itself", because it's obvious that the code has had many things tacked on wherever it works, rather than through a cyclic (re)design-document-implement-test-release process.
For instance, the feature I was planning to add was video codec support for input (sequencer, textures, etc.) and output (sequencer, rendering). Now, importing/saving video is essentially a process of loading and saving frames, and there were other video APIs already used in blender on other platforms, such as quicktime on OS X, and directshow (or whatever it's actually using) on Windows. In well-designed code, it would basically be a matter of finding the video modules, copying one, cutting out the quicktime/dshow stuff from the video setup/save frame/load frame methods, and implementing the equivalent methods using the gstreamer API instead. Obviously, it's never going to be quite THAT simple, but it can and should be close.
I looked into the code for doing this, and it was a total mess: the code to output one video format was spread over many files, and the UI stuff (output file type selection, etc.) was spread over some more.
The UI stuff should have been easy, too. If you look at the plugin system of something like 3D Studio Max (or, indeed, K-3D), it's obvious that plugins can create their own "property pages", which just hook into the interface, presenting any new options that plugin might want to offer the user. In blender, I knew this wasn't the case (as plugins tended to have horrible, inconsistent UIs). That was understandable though, as work was actively going on to improve the UI stuff. Note that this still hasn't completed, however: blender 5 is going to work on this again, after blender 3 was supposed to be focused on sorting it out! I've no doubt that the blender coders work hard -- some of the improvements they make in short turnaround times is amazing. BUT, this either means that the code is a mess because things like UI API improvements take so long, or that the code is a mess because lots of things are done quickly without long-term design considerations.
Speaking architecturally, I, for one, would be very happy to see K-3D win out over blender. For the moment though, blender has the huge advantage --- actually being nice to model in (at least up to a certain complexity level, and if you don't need procedural modelling too much). Everything else though... plugin support, material editing, rendering quality, distributed rendering support, video IO, integration with other apps, basic interface usability and discoverability, is seriously hampered by the code, imho.
K-3D *is* a parametric modeller. Blender, in fact, is gaining parametric features, slowly. However, k-3d is quite fully-fledged, with parameters that take inputs from and provide output to other nodes, etc. It looks like a great solution, except... well, it still feels very awkward to model with, for some reason. Maybe I just haven't given it enough of a chance yet. Also, the UI in K-3D has a perfect structure, but is much to space-consuming (see how the node properties panel/toolbar needs around a third of a 1024 pixel-wide screen to show all the widgets at once, for instance!)
p.s.: 3DS Max (at least) and Maya (I think) are also parametric -- it's not just Pro/E etc. Also, don't forget that high-level CAD apps are available as Open Source for Linux, if not as Free Software.
Sounds like a bunch of sour grapes to me. If you or anyone else thinks they can do better, have at it. Put up or shut up. Sure, there are apps that are better at one thing or another than Blender but is there anything else as complete as Blender that doesn't cost good money? I sure haven't seen it yet.
https://www.accountkiller.com/removal-requested
Having code that looks great on paper (i.e. grand unified architecture, writes everything through 20 layers of XML, etc) does not translate into a great program. Sure there is plenty of room for improvement, but Blender's focus on the end result (small files, fast renders and lots of functionality), rather than what the code looks like, are why people use it.
Blender is the only open-source 3D application that values the needs of artists ahead of programmers.
http://www.moonlight3d.eu/cms/index.php/gallery (best I could find)
http://www.blender.org/features-gallery/gallery/ archive/january-2007/
And coming up next: A KITTEN versus a ALLIGATOR!!!!
I've used a few different 3D packages, including TrueSpace, Softimage XSI, 3DStudioMax, and Blender. Of all of them, Softimage and Blender are the ones with which I have the most experience. My impression is that they ALL have bizarre violations of UI convention, features that can only be reached via arcane combinations of actions that you may or may not remember at the moment when you need them (often with no alternative route to hunt them down), and numerous other problems.
Blender, for one, requires an extremely steady hand, lest your menus all disappear before you can select an item. I wish I had a dollar for every time I have accidentally veered off of a menu or verification dialog in Blender. I've even failed to save files on occasion, because I accidentally rolled off of the microscopic save verification dialog, before I managed to click on it. That doesn't make me feel very confident. I don't care why they did it this way; it's not defensible.
Now, I appreciate the fact that 3D modeling packages are extremely domain-specific, and require some interface techniques not present in most applications, but why-oh-why don't any of these packages even seem to have a standard file selection dialog box? Why can't they build even the most fundamental components, present in almost every other kind of application, in a standard way? Why do they have to go off and do something radically weird all the time? People make much ado about how these applications aren't so bad to use once you learn them, but people would learn them a hell of a lot faster, if they didn't have to relearn how to use even the simplest controls. Just yesterday, I watched a friend have difficulty just using the file selection dialog in Blender, because it wasn't behaving in a standard way. There is really no excuse for wasting users' time this way, in this day and age.
Copying a package that already existed would only make sense if there was ANYTHING out there which even approached conforming to established UI standards. I have yet to see a serious 3D modeling package that did. I don't see any point in an open source project that sets out to duplicate somebody else's idiotic UI quirks.
Blender's good for animation and rendering, as evidenced by some of the stuff people have been able to do with it. But it does have a problem with the clunky interface and non-intuitive workflow. More or less has something to do with cryptic icons and way too heavy a reliance on hotkeys, of which it seems that half aren't documented in the program's own help menu. Of course you could spend days searching the forums for answers if you're patient enough, or maybe get quicker answers at the IRC if the blenderheads are patient enough.
So it's not that it isn't powerful, just has a gawd-awful UI. It really needs work. I'm not saying it should be a Kai Krause interface design, but that would be nice to shoot for.
As for modeling without a learning curve - it's hard not to beat Wings3D. By playing with it for a day or two, it can be learnt by just about anyone. (Most commands are no more than 3 mouse clicks away, and hotkeys are optional.) It's not long before you want other programs to have the same workflow. (It'll spoil you.) Of course modeling is all it does though, but that it does very well. It's only handycap is that most computers choke after 50K polys or so due to Erlang's way of interacting with OpenGL.
Dam i did not know the blenders code was that old....well i guess that means most of you new coders must really suck huh?.. i mean if blenders code is such pain how come with in the last 2 versions there has been a crap load of additions/improvements? Look ma dude if you cant program 2 bad, if you other users cant get a grasp on the UI then read the Docs it took me about 30 mins to do the ginger bread man. if any blebder programs are reading this DON'T CHANGE THE CODE on every computer even running from my usb drive its been fast and stable. Blender had been running good on old code, that more of an insult to newer program then it is to Blender.
This might have been true some years ago, but as of now Blender has a modifier stack (quite similar in capabilities to the Max modifier stack, although with just the most important modifiers implemented right now), and most numeric values can be specified as python expressions (which, when properly used, should allow a flexibility on par with what you descrive Art of Illusion being capable of). :)
In fact, Blender has become so flexible that I'm starting to regret not being able to use it at work
Ok, we are back at the point where people who do not see a feature they need in blender start to invent a new app, often a rewrite a commercial one that we do not want to pay for. Here starts the trouble, so what is a parametric modeler? By definition it is creating models from parameters, thus changing parameters reflected in the model. You can do all kind of stuff with that idea, in 2d, 3d, on meshes, solids, generic objects, text... it does not define a cad yet. I see two successful concepts of 3d applications. One is offering a great toolbox for one field of modeling, e.g. a great solid modeler, a cool 2d sketching CAD, a powerful mesh modeler. The user than uses tools from a pallette of apps, modeling solids in the modeler, drawing a plan in 2d cad etc, finally importing everything for rendering and output (rendering can be a raytracer or a 2d drafting/layout tool). The other way is not to write apps for the type of data that is worked on (solid, surface mesh etc) but the useage expected. As I understand that is how Blender developed, a tool for 3d animations. With that approach, the tool gets almost unuseable for anyone else of course, and here is the reason for most complaints about render. Do you want to make design (scale of mm, m, km?) requiring accuracy, simulation requiring simple but clean solid models, animation with high polygon count surface models and anim support, game design with low polygon count...? Too many try to put everything for everyone's useage scenario into an application, that won't work. I think in open source the tool pallette concept works better, we have ways to do solid/csg stuff, surface meshes etc. The missing parts would be the solid cad package (that is what pro/engineer would refer to) and a really good 2d cad able to exchange data with the 3d foss tools.
You should give Wings3D a try. It is one of the few 3D programs I've used where the authors have actually given some thought to making it easy for a beginner to pick up. All modeling functions are accessible through either the main menu or the right-mouse-button context menu -- no crazy widgets or tools to learn, no banks of ambiguous icons. Any menu item can be bound to a hotkey on the keyboard. Keyboard shortcuts and an "advanced mode" let power users manipulate the model quickly, barely touching the menus. All functions and variations are documented in the status bar. It's an eminently discoverable interface.
About the trickiest thing for beginners is learning the camera navigation... and Wings supports the navigation methods of several other major 3D packages in addition to its own.
And while Wings was originally based on the (now-defunct) Nendo modeler, many of these interface innovations are new with Wings. So it is a great example of an open-source package getting user interface right.
Accuracy doesn't seem to be much of an issue to be honest.
:v)
Moving 2 axes at the same time gives up to sqrt(2) the head velocity. So it builds faster.
Vik
here here!
"Hear, hear!" or "Hear! Hear!" (as in, "Listen! Listen!"). Also, your shift key is broken.
every action was it's own step with it's own end goal
"its", "its".
That's great. My comments regarding this were because I'd remembered reading in the blogs at that time, that the latest build wasn't accurate enough to build its own parts(self building). Not sure if that's still valid but good to hear accuracy is no longer an issue.
BTW, That 3-Axis Trinamics board( TMCM-303/SG ) is ~$180US and not only do they not require heatsinks, the "SG" model has builtin stall sensing too so there's no need for optical-switches for locating or stop points. They also sell just the driver chips( TMC246 )for ~$7US. I don't work for them but have used their stuff and it simplifies stepper control quite a bit. Maybe something to consider for another rev since I see you're doing some PCB's now.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
Hotkeys aren't flawed in their own right, but rather in their exclusivity for some commands/functions. The same functionality should be accessable by another menu or icon. This makes learning easier, since you don't have to abstract what key does what when starting out. Rather there should be a menu or icon that when hovered over shows a dropdown with a brief description (for icons) and the appropriate hotkey. These should also change to reflect the context of what actions are performed as well - so when in rigging or staging you don't have the modeling stuff in the way. That way you can navigate the menu to figure out the program at first, see what the appropriate hotkeys for actions are so you can learn them, and possibly disable the help dropdown (and maybe hide the menus) later once you figure out the thing and develop a workflow. Another good idea is if there are subset hotkeys for specific commands is to briefly list them somewhere such as a status bar at the bottom of the window. Other programs with hotkeys do things this way, if there were some standards for best practices in interface design it really should be in there.
Also the built in help could do more to explain hotkey features, something that was lacking the last time I tried the program. Maybe they fixed it since then, who knows?
Ironically a lot of newbs complain about how bland Wings3D looks, but as far as interface goes for practicality and usability - the Wings3D developers have actually got it right. What I love about that open source project is the developer team it has. If you ask for something useful, the devs don't ask users (who don't have any programming skills to begin with) to code it themselves. (Or as a car analogy guy would say, you want a stereo or A/C in there - you're not told to go build one yourself.) Rather they look into it and may build the feature with the implementation depending on possibility, how many users would find it useful, whether it breaks anything else, and how difficult it is to achieve. The feedback loop isn't as one-sided/broken as some other projects where actual users seem almost as an afterthought.
But on the other side of the coin, Wings isn't a jack of all trades. It's meant to do maybe two things (modeling & mapping) and do them well. So there's less overhead for the team behind it to worry about.