Snapshots plugin prototype in the latest WIP

Hi Nathan,
I’m not a Highend Blender user and don’t know a lot about its Data structure but stating that Snapshots and Blenders Scenes are roughly similar is really quite wrong. They have close to nothing in common.

Snapshots live in just one Rhino workspace and all what’s inside the Rhino file fills up just one set of Panels. Large models with lots of geometry and possibly variations of geometry live in just one Layer stack and there’s just one row for Layouts available. Everything which gets added to such a file after defining Snapshots needs user decision and input.

Now Scenes:
A new Scene in Blender may get separated out at any state of development from a Master file. It can start totally empty or one may copy pre-existing geometry over and any Material and Environment and Effect and whatnot. Alternatively one may chose to instance everything and to build new stuff on top. Any combination of unique and instanced objects is possible, one can make instances unique and and push elements, materials, cameras and everything else what’s relevant in the project back and forth among different Scenes. This may happen at any point in time.

Using instancing of is of course highly attractive in Blenders concept but Scenes also let you add stuff to the file without ever having to worry that something else gets messed up. There may be constants which are used in all of the Scenes and elements which are instances throughout just a few of all Scenes and of course totally unique elements. And as every Scene only lists its inhabitants in the active Layer stack they are slimmer / easier to work with. As said: Rhino already has an older and likely pretty rarely used concept called Worksessions – a Master file which gets other files appended and one can make every of the appended files the active one. I’m pretty sure that one could extend Worksession to work quite similar to Blenders Scenes. Maybe @andy has an opinion on this.

Yeah I meant something along the lines of Blender’s outliner when saying this…[quote=“hifred, post:37, topic:41560”]
If you in later versions even give us an Editor which lists Scene members on Item level (which should be on the wishlist for > a decade)
[/quote]
But an Outliner obviously doesn’t give us the features we are discussing here. I used it as an example as Rhino already today may need time to swap Layer states in heavy scenes. If we even got an Outliner somewhen in the future swapping long lists which hold every single curve and point may slow down things even more. In Scenes Layer Editors and Outliners only had to list the content of the present scene. Makes sense?

I’d say that would suck bigtime.

Lets agree to disagree on that point.

Scenes in Blender are essentially just views in the one “database” that a .blend file is. Snapshots are really quite quite close to what Blender scenes are. In both cases there are ‘links’ to the real data - there is one set. The difference is that with switching between snapshots you get also to choose what you want to switch to. So the Snapshot is really a very dynamic scene concept.

What you really want is better tools to edit your data, and have good tools to view that data and their relationships.

As stated, I’m no programmer and don’t know a lot about data structures. So things under the hood may indeed quite closely related. What I know as a user is that the features indeed deliver very dissimilar editing experiences.

I’ve run into just this - It looks like once you start using snapshots you’d better be on your toes and use them a lot: any changes made are liable to be undone by restoring a previous snapshot unless you update the snapshot or make a new one - this has already bitten me several times:

I make a change, say Scale2d an object on an isolated layer (complex file) , then I want to see how that looks rendered - I restore my rendered view snapshot to get all the layers back on and… my scaling is gone because the Postions part of snapshots has kicked in. Material changes are similar. I see that there is ‘partial’ restoration possible now, which is a help but I still need to remember what I’ve done and what I should restore.

As useful as this is, it seems a little dangerous or at least very confusing as it is right now; a lot of work can be undone if you’re not careful. I’m not sure how to win - having used this, I’m now inclined to want to be asked what to save at some point - say with the first snapshot in a file - and have that be the default for further snapshots.

And/Or be able to right-click on a saved snapshot and update one or more parts of it.

Just thinking out loud…

-Pascal

2 Likes

This is similar to the risky issues you get in morph maps in CG package. I think there should be a clear way to always know that you are making global changes to your file vs. you are making state changes to your current snapshot.

Maybe you need to select a snapshot, make it ‘live’ (it stays highlighted in the snapshots list, it also show you in the viewport that you are in ‘snapshot editing mode’ maybe the snapshot name is added to the viewport name, and changes to red color or something. They whatever you are doing you will know, with certainty that it’s a change to the current snapshot in edit mode. When you are done, you exit from that editing mode, and new changes are file/scene/global changes. But snapshot edits and global edits should never be confused with each other and the user should be able to do both and always know, without a doubt, which kind of edit is taking place (global or snapshot).

2 Likes

I agree - there should be a prompt what to save each time we save a Snapshot…

Also, in case the Snapshot was saved with only selected properties, they would be greyed-out in RestorePartial dialog…

Jarek, the problem I see here is that you don’t really know what is part of a snapshot or not. There should be a mode where the scene has a default behavior. That’s your working file. And any snapshot you save after that are modifiers to that default state.

The problem I see is that if I open a file and i make 10 changes to it (some scaling, some moving, material change, hiding stuff, etc) then I go and save a snapshot. What does it save out of my 10 commands that I executed on the model since I opened it? I think that maybe it makes more sense to start a snapshot creation mode, make all the edits you want in the snapshot, then exit and save that snapshot you just created. Similar to block-edit mode. There there’s no ambiguity that you are only affecting overrides to your file for that snapshot. Also any command that’s not recordable should either be disabled or earn that it will be permanent? …also just thinking out loud here.

2 Likes

Yes, full agree with Gustavo here. I think entering a snapshot mode would prevent a lot of non desirable results.
I really like how C4D handles this with its Takes system. Here a link to a video with a very good explanation on how it works https://youtu.be/02rFn4jzDB4

1 Like

[quote=“gustojunk, post:52, topic:41560”]
Jarek, the problem I see here is that you don’t really know what is part of a snapshot or not. There should be a mode where the scene has a default behavior. That’s your working file. And any snapshot you save after that are modifiers to that default state.[/quote]

What Gustavo describes here is pretty close to what Scenes are. But I seem to be leading a conversation with myself here…

Start with any model and split off a branch to develop a variation. This branch can be totally empty, or an independent copy which may get further altered in any way. Or choose to instance geometry, materials, environments – those ingredients one wants to be identical in all/some of the Setups.

Whatever is added newly to the file with a particular Scene active will not interfere with any other Scene. Changes to instanced content would propagate throughout Scenes, as expected, but one obviously can make Instances unique at any point in time. There would not be a need for nag Popups, no need to keep things in mind and no need for regular housekeeping.

Scenes are cleanly separated states of a file. That’s not the case with Snapshots.

The save button allows now to select which properties to include in a snapshot. The selection will be remembered for the session.

Here is a list of the current properties:

2 Likes

Hi Lars, what’s captured under object transformations? Also I recall that object visibility state visible/hidden used to be capture too? Not anymore?

Thx,

G

Looks to be the 3 basic ones: move, scale, rotate. Not twist, for example.

Totally awesome! Thank you.

Like wim said it includes move, scale and rotate. At the moment it also includes visibility which I should take out and make a separate property.

1 Like

New in the latest WIP:

  • Object visibility and transformation (scaling, rotation, position) are separated properties now.
  • Animation for Current View and Object Transformation added when restoring a snapshot.

Hi @lars, @nathanletwory,

  • I tried the new snapshops. I’m having an issue that the previews/thumbnails do not refresh after I closed the file and opened it again, they are black boxes:

  • Renaming 1 to 2, refreshed the icons, but it did not show the text on the rectangles

  • Also I noticed that naming is the only way to have order on snapshots. It would be nice if I can manually reorder it in any way I want.

  • Also the animation with the same setting you used Nathan is very slow and choppy, it takes about 18 seconds to transition between two snapshots. Also I cannot cancel or override in anyway. It’s stubborn into finishing that slow transition

  • I made these snapshots in rendered mode and I save all the setting including viemode. But if I’m in wireframe and try to restore one it doe snot restore the viewmode back to rendered. Is this correct? Are you only saving object display mode? not global display mode?

  • feature request: I’d like to run a presentation of snapshots in fullscreen, powerpoint style, and use the arrow keys on my keyboard to move to next/previews snapshot. Right now this is great for personal consumption but not for presentation without a fullscreen mode.

thx!

G

I also noticed that camera clipping. That being said, these are a lot of fun to play with!

(super slow since I’m running in vmware + a bunch of other things happening on laptop)