Ok, you maybe noticed that I use too much the word ‘efficient’.
What tool is efficient?
The one what does the job within your and your client’s specifications the most effectively.
And here we go again: which car is better?
A Porsche or a Hummer?
On the asphalt or in the desert?
Should we count in the price of the fuel?
And the insurance and taxes?
The survival rate in case of an accident?
And so on…
This is why I try to specify the ‘effectiveness’ of a tool within limits, within a specific work-flow and for a specific task.
Lets take a look on a typical archviz work-flow for rendered stills:
1. Planning & Preparing
(estimating required time, tools, recognizing ‘hidden’ relations, guessing the optimal work-flow in mind,
setting up the ‘real’ pipeline, converting input files, etc.)
(creating the objects, UV mapping, setting up the scene geometry, etc.)
3. Assigning materials/shaders and setting up lighting
5. Post-processing rendered images if needed
(compositing, color adjustments, etc).
Of course it is a flexible work-flow and sometimes the order of the steps not just could be, but must be changed.
Most of the times the architects or the agencies asking for ‘draft’ versions of the images or a ‘mass’ model of the 3D scene.
Sometimes they need 2D floor plans or CAD data files of the model, too.
The only reason I wrote it down to make it clear: efficiency means the overall speed of the work-flow in archviz, what results the expected quality.
So looking for the ‘optimal’ is not always easy.
Maybe using package ‘A’ cause a 20% efficiency loss in modeling and texturing compared to package ‘B’, but when it comes to rendering, it works 10 times faster than package ‘B’.
So the overall efficiency is better.
So what is the solution?
The ‘standard’ solution is mixing tools in the pipeline.
Of course it results a performance loss overall (importing/exporting/adaptation time of the users, price factor of multiple apps), but at the end it is more efficient than the single package work-flow, so it wins.
Is it the optimal solution?
The optimal solution is integrating the best implementations of the tools into one, very powerful package.
So why developers don’t do this?
It has multiple reasons:
1. ‘Intellectual property’ problems
(In general the handling of intellectual property sucks in capitalism and it is also contra-productive, especially in the USA.)
2. Fear from loosing actual user base
(really stupid way of thinking; people adapt to better solutions really fast)
3. Maximizing profit
(they don’t want to spend money on developers if it is not a need. Look at small app developers: in their cases the next version of an app contains more useful new features, not just bugfixing and marketing features)
4. Face loosing – Coorporate pride
(in a world where everyone states that his product is the best, implementing a better solution what comes from others is a proof for being wrong formerly or for a lie. Actually, this point always reminds me for Steve Ballmer from Microsoft 🙂
5. Hidden relations
(it is both true for free projects and for companies like Apple: people are emotionally related to their tools (even if they are far not the bests), because it gives them the feeling: ‘we are different’)
So, the first step to make the ultimate tool for the ultimate work-flow is to learn more tools, identify the expectations and get someone to integrate it.
Because I’m not a programmer, I try to help Blender community in the first 2 points, just like I did it formerly for various developers.