Jump to content
Hash, Inc. Forums

How do you create large sets?


Recommended Posts

Steve and I have been using poses in models to compose larger models -- even whole sets -- from smaller models. This is very useful to avoid creating multiple copies of mesh, as well as allowing an easy way of turning on and off various parts of the model.

 

Here are the requirements that we had when the pose idea came up:

  • Avoid having multiple copies of the same mesh. If there are 18 chairs in the set, there should not be 18 copies of the mesh in some model.
  • Ideally, they need to be configurable for different situations. For example, we don't want a separate set for the coffee shop before it opens (less clutter) and after (more supplies, etc. laying around and on shelves). You need to be able to turn things on and off.
  • The sets and large models need to be reusable. That is, you can create a new choreography, drag in a model, maybe change a couple of pose values, and be ready to animation.

However, we have run into two show stoppers for this technique, which we outlined in this post. Because of that, we may need to resort to a plan B. Which we don't have!

 

So I wanted to ask everyone: How do you create large sets or large models?

 

Agep mentioned he did the Nidaros Cathedral by doing it "in an action (action objects), so when in the chor I simply drag and drop the action onto the basemodel", and "I sometimes merges two or more models when they are finished, so they are total ends at 30-60K".

 

John Bigboote said of his SOCCER STADIUM: "it is assembled in an action... many parts are reused dozens of times- [ ... ]. I keep my splining real minimal, I keep expecting A:M to 'hit a wall' and be unable to accept any more, but it keeps allowing more and more models to be added via the action."

 

However, on his MANHATTAN post, he said: "No duplicator wizard used, just good old copy and paste and heavy usage of action objects."

 

Any other ideas, or clarifications on those existing ideas? Or problems you've run into?

 

Thanks!

Chris

Link to comment
Share on other sites

  • Admin

As you've experienced there are some definite gotchas that come with Action Objects and those aren't all limited to Netrender. A thorough testing would need to be conducted but from memory Action Objects are specifically limited in that Actions cannot be nested inside other Actions. Actions can be layered/blended but not nesting inside each other.

 

Somewhere Martin outlined the hierarchy of actions and at the time I thought it useful enough that I created a graphic based on it before losing the reference. Edit: Found it!

 

While it might not be of specific interest related to your query it might provide insight into why certain approaches won't (optimally) work. For instance, when we consider that an Action is independent of each character/object we start to see how an action cant (logically) be dependent on multiple objects simultaneously... that's not how they work. Although where an Action or Pose might not work a constraint or established relationship might very well be made to work.

 

As I have limited experience in real world production especially with complex models I yield to the experts (and you've mentioned two!) but want to offer what I can.

 

I'm not convinced that avoiding multiple copies of meshes is always the best route... at least not when considering the end result. As always YMMV.

For instance, when modeling it wouldn't make sense to build dozens of chairs individually if you can just create one BUT... that doesn't mean you can't put that one chair in a Chor multiple times and then export that Chor out as a model that then has has 24.

 

The big question is: what do you need in that shot?

 

Can you render out that scene and just use the image(s) as a backdrop (moving or otherwise)?

You might not need any models except your characters in the final pass.

 

What will the character's interact with? Those should probably be models but what can be prerendered and dropped into the scene or even composited later?

 

Thanks for asking the question... that helps us get the creative juices flowing. :)

 

Edit: I say that Actions cannot be nested and this isn't entirely true. I'll try to post some examples of this after I refresh my memory.

Animation.png

Link to comment
Share on other sites

  • Admin
You could have partial chors prepared and import them into your working chor when you need their elements.

 

Brilliant suggestion. That works great.

As a matter of fact that is a great way to combine multiple characters with their Actions intact too.

Link to comment
Share on other sites

I'm not convinced that avoiding multiple copies of meshes is always the best route... at least not when considering the end result. As always YMMV.

For instance, when modeling it wouldn't make sense to build dozens of chairs individually if you can just create one BUT... that doesn't mean you can't put that one chair in a Chor multiple times and then export that Chor out as a model that then has has 24.

 

[...]

 

Can you render out that scene and just use the image(s) as a backdrop (moving or otherwise)?

You might not need any models except your characters in the final pass.

 

I see where you're coming from with exporting a bunch of the same object as a single model (i.e. a single mesh). However, as a programmer, having multiple copies of the mesh seems kind of wrong. There are heuristics/guidelines that say "Don't repeat yourself" and "once and only once".

 

We were thinking that the pose action approach would allow us to easily turn on the set for rendering the background and then turn on the characters for foreground. But we'd need to come up with a new way of doing that once we come up with a new idea for composing the sets. The characters will need to interact with parts of the set and with props (e.g. with the coffee machine, the fridge under the counter, coffee cups, the milk pitcher, etc.), so thought will have to go into what is part of the fixed/umovable set and what is a prop that the actors interact with.

 

I believe it is possible to import a chor into a chor. You could have partial chors prepared and import them into your working chor when you need their elements.

 

That sounds like a promising idea. We'll give that a go and let you know how it works. Thanks, Robert!

Link to comment
Share on other sites

  • Hash Fellow

 

However, as a programmer, having multiple copies of the mesh seems kind of wrong. There are heuristics/guidelines that say "Don't repeat yourself" and "once and only once".

 

My own feeling is that RAM and Disk space are cheap these days and A:M models are very economical in bytes anyway. I'm fine with brute repetition in most cases.

Link to comment
Share on other sites

  • Admin
However, as a programmer, having multiple copies of the mesh seems kind of wrong. There are heuristics/guidelines that say "Don't repeat yourself" and "once and only once".

 

That heuristic may need to be revisited. ;)

The goal with regard to lean programming (and of limiting repetition) is primarily to prevent waste which would include limiting avoidable process repetition. As you say... although I'll add a word, "Don't unnecessarily repeat yourself". It's like building a brick wall... where we need to place more than one brick... the question then becomes how to best build that wall and should we need to build another wall right next to it later... and perhaps several other walls of similar type in the future, how best to plan ahead to eliminate waste.

 

One would have to do some testing to see if Action Objects are indeed better than similar (derivative) models. There are some golden rules of old that might apply that would be better to consider than that of model complexity or areas of mesh similarity. It might be that at some point having more references to a resource actually will exact a bigger toll than if the mesh had been replicated. For instance, if each reference brings in its own separate instance of decals, etc. that may cost more than if it where all of one model without references. I'm not sure how it that old articles applies to how A:M processes resources these days but I'll see if I can't dig up that hierarchy of priority article concerning how A:M deals with such things. I think it was Martin's paper on preloading of resources and precedence lists.

 

RAM and Disk space are cheap these days and A:M models are very economical in bytes anyway. I'm fine with brute repetition in most cases.

 

 

There are a lot of processes I need to revisit in A:M that years ago I might not have used as much because of RAM limitations. RAM is still a concern for me but not as it was in the past.

If I'd learn to shut down unnecessary programs that'd solve a lot of RAM issues. That'd free up a lot of wasted space!

Luckily, hard disc space hasn't been a concern for most of us for many years.

 

Added: A few tests I've been running don't show a lot of difference between combined model and instanced models. One major consideration (already mentioned) is whether or not the objects will be moved or animated separately. In this sense it seems that the term 'object' takes on a greater role as that may mean groups of objects that form a new object. That object can then be manipulated individually. One test I did involved a group of chairs. Of course it was much easier to manipulate the individual chairs if they were instances of the original model. Of course at that point identifying them by a Group name might work well to grab them as needed. As individual models they are more easily selected in a chor.

Link to comment
Share on other sites

I understand what you were wanting to do with your sets. If it is only a NetRender issue, then maybe you could devise a plan for rendering with several instances of A:M instead?

 

Whether you build sets using Action Objects or build them as Choreographies, you are only dealing with shortcuts to the different models (chairs, etc), so that is inline with your philosophy of only making it once. You can turn off whatever objects you don't want to render or work with at any time.

 

What I think that you guys should do is to storyboard your actual short--Then use those storyboards to plan the choreographies for each shot--you will easily see that some elements can be simple background layers (whether done inside AM or in After Effects), and you don't have to have a complete 3D world. Just layout each shot and save out that Choreography with the shot number....

Link to comment
Share on other sites

 

What I think that you guys should do is to storyboard your actual short--Then use those storyboards to plan the choreographies for each shot--you will easily see that some elements can be simple background layers (whether done inside AM or in After Effects), and you don't have to have a complete 3D world. Just layout each shot and save out that Choreography with the shot number....

 

That is exactly what I was thinking. If you have a close up shot of say a character opening a fridge, and the only thing on camera is a hand reaching in from off frame and grabbing the handle, why have a choreography of a complete city block? I'd set up a chor for just that scene, with nothing more than what is needed for the shot. Asset management (all of those props/actors/chors/ etc.) becomes a bigger issue, but easily accomplished with a little planning.

 

Edit:

 

just watched your tutorial "Tutotial; Composing Models from other models". I can see the power of what you've set up and that seems to answer the whole, only have in a chor what you need.

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...