Background Image Replacement

Hi, there is a patch in the tracker to optionally display empties with reference images, personally I think our existing background images are inflexible/annoying enough that they could be replaced by objects completely.

http://www.graphicall.org/ftp/ideasman42/empty_object.png

Heres why…

  • offset & scale is cumbersome to match with the scene & other images.
  • no rotation.
  • they are always background, sometimes you want the reference to be an overlay for the solid view.
  • this is stored in the view which means…
    ** no way to copy a set of images to other views.
    ** joining a view can loose the images
    ** loading without the UI will loose images
    ** switching window layouts will loose the current images.
    ** linking in a scene wont link in images.
    – edit –
  • Camera Images will have to be supported for camera tracking.

Blenderstorm proposal, including more details.
http://www.blenderstorm.org/blenderstorm/idea/240/

Feel free to vote/comment.

Cool improvement, Ideasman!

Great idea! I hope this gets into trunk soon!

Sounds good to me.
Even in maya I use my own textured geometry for background images instead of the inbuilt function

No, please do not replace it!!!
Maybe make it an option, but don’t replace it. I really do like the way it works right now. Especially for camera-tracking it is a perfect workflow to just drag an image onto the viewport, adjust the sequence and be done.
I know Maya has it also as an object in the viewport, but I hate that workflow.
Don’t replace it.
Options are great, but just cutting of existing functionality is bad.

I agree with sebastian_k somewhat. The current way is simple to start from but it also has some negative behaviors you just pointed out. Maybe have both ways and if you are in an orthographic view you can first chose in the n/t (whatever) panel which way you want: Old way or empty, and after selecting that you get your prefered function?

+1
Good to add new features, but bad to eliminate existing functionality if the plan is eliminate background images.

I agree with sebastian_k and accessoire.
Keep the old way and add a kind of convert button to obtain empties. Add also a Reference Image choice in add object menu.
The Old Way is far better for Camera View.

I think that the existing functionality works too well to replace completely, and some of its quirks are useful. The new version looks good, but it doesn’t overlap the old version enough to be its successor.

IMO, this forum seriously needs a thumbs up icon :wink:

<3 yes please! :3

edit: expecting off course that somehow the current behavior/feature can be maintained as well.

How about a quick way in the properties panel to make them unselectable/selectable as well?

Especially for camera-tracking it is a perfect workflow to just drag an image onto the viewport, adjust the sequence and be done.

sebastian_k, good point but this isn’t a reason to keep the current feature, rather a workflow that should be supported.
This is the kind of feedback I was looking for.

Camera images can be a separate feature, where you can use the camera panel to select an image to display. this way we still avoid images being view data, but attached to the camera.

Drag and drop on the camera view can be made to set this. even though the current patch does not do this its trivial to implement.

Edited the blender-storm proposal.

looks cool :slight_smile:

I wonder if this could be manipulated to use as a clone source for texture paint - drag the 3d object in position over the intended paint object and clone from the image… I like the idea of the texture being added to the camera as well, that is a plus.

Nice idea, Ideasman :slight_smile:

@craigomatic. yep, Id probably add texture as clone source after adding empty/images, it makes sense and would be very handy, projection paint also allows for this without much trouble.

btw, I’ve never used Maya 3D Images so this isn’t some attempt to be more maya-like :slight_smile:

Please keep the old, as it is so finly made and works, given its quirks, making reference objects is nice as an addition but also adds the complication of even more objects to keep track of.

Background images do not get accidentally moved when using proportial editong and other tools, turning off background images is by far easier and quicker then diving throught your properties wonder what you are looking for.

Leave background image as it is, but also add in reference objects for the tricky situations. lets not throw out the baby with the bathwater

I don’t like it much:

  • don’t like how empties are now given ‘data’, they should remain empty
  • this functionality can be also solved easily by better 3d draw functionality + a quick operator to add a plane with image mapped. no need to invent more complexity for this
  • could also be done by adding a ‘movable’ background image type (as opposed to Left, Right, Camera, etc), with properties/manipulators for loc/rot/scale
  • I don’t like that it’s using scene objects for something that is more of a UI feature, i think these should stay separate. It’s enough trouble to manage objects in your scene as it is, without having to worry about these sorts of UI elements interfering here too.

I agree with some of your negative assessments of current view bg images but this can also by solved by making it easier to add planes with images mapped.

edit: saw last post:

@craigomatic. yep, Id probably add texture as clone source after adding empty/images, it makes sense and would be very handy, projection paint also allows for this without much trouble.

This is not a good idea, it’s really mixing up separate functionality too much imo. It’s like the whole things with grease pencil converting to strokes, it makes the workflow a complete jumble, having to use disparate functionality in ways its not really intended for, in order to get work done - just because it’s easy to hack together letting you do it like that doesn’t mean you should. It seems to me that a lot of this is really trying to work around the fact that we still don’t have a proper generic 3d view manipulator system, and it’s abusing objects and transform tools to try and make up for it. IMO the correct way to do these things is to eg.

  • click a button on the background image panel that displays a manipulator that can be used to position the bg image
  • click a button within the texture paint brush texture settings that displays a transparent manipulator overlay that can be used to place the texture

It should be local to and relevant to the tools that you’re using it with - mixing up object transformations with these different workflow situations just makes things messy.

I’m new to blender so I might be completely wrong here, but as I see it you can’t render the background image and you can’t project the world texture on to the background. You can do a little hack which isn’t great but can still deliver decent results. Adding a null is like adding a plane and a texture/sequence, nothing to get too excited about. But if it means the possibility of linking and synchronizing with the world texture then its a great idea. It would also offer the possibility of linking to the compositor and the sequence editor in a way that doesn’t involve jumping through hoops and would offer a functionality which is standard in most 3d apps.

Hi Matt, I actually agree with your cryts, Empties having image data is annoying from my POV too.
But I also thing this problem will have annoyances whichever method is used.

For instance, if you use a mesh with a texture, this cant be used as a clone source so easily since it could be any shape - non planer or have odd UVs.
And a new material + texture needs to be added for each of these which clutters up the users blend file.

If you use textured mesh you also will want some way to force drawing the texture even when in wire view which I think would make our draw code even more confusing.

If we define some new type of image data that can be stored in the scene (not objects), then we need operators to transform it, and ways to add/remove/duplicate them.

So for me, Its more a question of the least sucky way to add this. apart from having images on empties being a little odd, its quite easy to support, the code is very simple you could think of it like a kind of draw type.

An alternative could be to have a something closer to the existing BG images, but store in the scene in their own list (not objects), and allow these to use use objects for positioning.
Imagine the existing BG images but with an option to use an object for placement. This way he have the convenience of objects for positioning without abusing empty objects.