User Adjustable Global Axis?

Is there a way to change the global axis so that Y is up and Z is depth in Blender 2.5?

If not, is this a planned addition to Blender?

Y is up
X is side to side
and Z is depth

in camera space

Z is up in world space.

Makes sense to me.

Some things might not translate to other programs that use global z depth though. Is that what you need?

…and to be pedantic and answer the question:

No you cannot set Y as up…

It may be planned, but if it is will be a long way out as this stuff goes pretty deep apparently…

Anything you render is in camera space, with the depth map being z. So if it is a compositor, all fine.

If you are talking importing/exporting geometry, surely the importer/exporter will deal with it if it is a deal breaker.

Agreed. I just can’t remember what it was but I thought someone at one point had come into a problem with it. Maybe that is wrong. So my question to the OP still is basically why is this an issue? If it is just a preference it really does not matter. Though I have to say coming from LightWave which is a Z depth program it took quite a bit of getting used to. It really made me have to stop and think about things I had already committed to quick habit when entering numeric values and so on. But if there is some translation issue to another program or something - I don’t even know what that would be - then that is another thing.

The only reason it would be an issue for me is that we run a multi-application pipeline here. If I were to introduce Blender into it, there is the problem that artists will be wasting time and making errors because of jumping back and forth between different axis system. If you are an artist that only works in blender, it’s not a big deal.

If people are jumping around between multiple 3d applications, surely they will have to learn the keyboard shortcuts / workflows / quirks of each. It may not be that much of a deal at all. Of course, free software, they can try it at no risk and see if it will fit in.

I can see the point but I also have to agree with Dazzle. I am an artist who uses multiple programs all with different key shorts and so on for similar functions. It is just part of being a digital artist. If you are good, you adapt.

But if that is the kind of thing you are worried about, really with Blender you have a lot more on your hands with key shorts and an entirely new way of dealing with data, workflow etc, than most other apps. Y depth is really a piece of cake by comparison. That took only a few hours to get used to. But learning how to work with Blender took a few weeks to a month. It is worth it, for sure. But I don’t think Y depth is going to be a deal breaker for the artist. Mainly because they will be using it long enough just to learn it that there is plenty of time to adapt to the Y depth. Then it will be just like anything where you jump back and forth between apps.

I felt that altering navigation and keyboard shortcuts were very easy and flexible. More so than most programs. Can I ask what you see as being some of the more difficult area’s to adapt to in blender? Specifically what do you mean by difficulty in adapting to data/workflow? I haven’t had a lot of time to really explore it yet.

The Z is up bug is indeed a pain in the butt when trying to integrate Blender into a 3D pipeline.
Last I checked, it wasn’t worth discussing due to the ensuing flame wars.

That’s interesting. I have not really messed with changing key shorts much. So I can see that as a plus in your situation.

As far as the workflow goes. Blender works in data blocks.

Here is the manual on that:

http://wiki.blender.org/index.php/Doc:Manual/Data_System

In 2.5 that is getting even further refined and unified.

But just as one example. With surfacing you are simply making links to materials and sub data blocks in materials.

This is confusing to some artists at first because it seems like you are going to different panels to do one function when in fact you are actually doing two or three functions.

  1. you are assigning the vertexes that will get a material index. All this is is a data block that says, “link a material here”. You can create many of these of course for one object. But like other programs they can not overlap. So creating one over parts of another will erase those points from the material index. In this regard it is the same as some other packages.

In LightWave for example, the surface is more or less the material and all of the things attached with that material are inextricable. Not that you can not load and save materials and swap things out of the “material index” in LightWave. But those things within the material are embedded such as textures, images etc.

And for the most part with other packages assigning the vertexes to a material is something along these lines. But in Blender this is but simply one data block that can be used and have other things linked to or access.

  1. You are defining data blocks for the material itself. That is to say a data base of materials with names and all of the shading attributes and so on. But also this can can contain links to other data such as:

  2. Textures, color ramps, nodes etc.

So now it may seem you are jumping all over the place. But really you are doing three different functions with 3 different types of data that can be cross linked.

So you can have a texture be a part of as many materials as you want. You can have materials attached to as many material indexes and so on.

So you can go in a edit a texture and if that texture is being used by more than one material it will of course update. Not really update you see. It is merely accessing the same data block. If you want another material to have a unique texture based on the same one simply create another texture data block for that texture (add new). So then you’d have 2 data blocks of textures. Each one can be edited separately, linked as many times as needed in as many materials as needed.

So you can now link a material to any object’s material index. And then you can simply keep editing just that one material. Any objects using it get “updated”, again not really, just that they link to that material data.

And there are many other things you can do with these data blocks such make them local to one object and so on. Or you can have proxies that simply link back to data blocks but can not be edited. And so on. But that is an entirely different subject.

That’s just one example. Hope that helps.