Scene Referencing?

   6375   5   0
User Avatar
Member
57 posts
Joined: Jan. 2015
Offline
Is there a way to do Scene Referencing in Houdini? Say you have made an asset “model with hair” and you want to put it into several shots. I can merge the scene in, but then if I change the master scene, it won't propagate down to the shots.

Is this not possible? I know in a perfect world an asset would be locked, but we all know how productions go

thanks
Chris
User Avatar
Staff
3464 posts
Joined: July 2005
Offline
nope.
this is what locked assets are for…

one thing you could try is:
instantiate locked asset
unlock asset
make changes
write script that records unlocking the asset and the changes you've made

this way you could have a master file that you use to make the changes to your asset and write the script from, then for all your other shots you just repeat the steps.
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
57 posts
Joined: Jan. 2015
Offline
Okay, Thanks for the response. I think it may be good to look into this as a feature request then. For most things it's not a huge deal, but I can't tell you how many productions I've been on, where this ability in Maya has been critical. especially creature/character animation. Inevitably you'll be down the show a good long while and someone will come up with a great idea that involves changing the character. Which with referencing isn't the end of the world. you change the master scene and it then all the dependent scenes are good to go. It provides a flexible and powerful way to split up work, I'm a freelancer, so when I'm pulled onto a show, we are typically small teams, not departments, But what it means is I can get started with the lighting and scene setup, while some other person is finalizing the styling of the Character. But I can early on get moving down the pipe, and once the final character style is approved I'm basically ready to render.

On smaller shows, smaller teams, fast paced stuff. I would say it's a critical feature to have. I'm learning Houdini as fast as I can, I love it and think it's insanely powerful. My impression is, I'm not sure how team friendly it is. if assets go by way of alembic, or bgeo that can be saved out and combined thats great. I'm just not sure how the character/creature animation could really happen inside it, in the referenced way most of us are used to.

I have a shot right now, I need to start putting this hair setup into many shots. well Hair isn't approved yet. So I with referencing I could continue working on putting it in shots. while waiting for client approvals. and then if they say, change this or change that. great no work lost. But in Houdini Okay I'll have to re import and hook up everything.

I hope I don't come across as a punk I haven't posted on the forums much at all, so don't know the community, I really like Houdini, I'm just looking at it from a, how could this be used as my primary 3d package.
User Avatar
Staff
3464 posts
Joined: July 2005
Offline
this is a valid question/situation so don't think that it's not reasonable to ask.

the asset workflow in Houdini is different than something like referencing but not to different - in fact there are some distinct advantages.
for character pipelines (setting aside the fact that everyone does their own thing ) I've worked with Houdini doing character work with assets for 10+ years and the situation you describe is perfectly possible in Houdini.
Here is a basic rundown of how I've worked with things in the past:
eg character - char001_bob
Assets:
char001_mdl - the geometry
char001_shd - the shaders
char001_rga - the rig for testing
char001_rig - the rig
char001_fur - the fur stuff
etc
all of these would be versioned
char001_mdl_v001, char001_mdl_v002, etc - how you do this is up to you…insert giant discussion here.

so when a character is being built the geometry could be as simple as a file SOP that is bringing in a bgeo/abc/obj either made in Houdini or from elsewhere, or some crazy procedural thing with tons of controls etc.

the shading asset would have an instance of char001_mdl (version 1, or ‘latest’ or whatever) and a shader/texture setup.
this asset would then be versioned in the same way as above.

char001_rga (rga means rig aerobic - a test rig given to animation for testing - but not allowed in shots)
this would have an instance of char001_mdl (and optionally char001_shd and/or char001_fur) and would have the rigging.

once the rga is approved it would be published as versioned char001_rig and again optionally contain char001_shd and or char001_fur depending on the needs of the animators…you could have a really cut down version of the shaders just to give them some color and some kind of representation of the fur…

so in shot land the animator might have:
char001_bob (but secretly it's actually char001_rig_v007 - which contains - char001_mdl_v012, char001_shd_v009, char001_fur_v076) I've seen places build ‘interrogation’ scripts that would figure out what HDAs are contained in a scene and report back their status…
so in the above eg. the script might report that there is a new char001_shd_v010, how studios deal with this is a matter of some debate - you can choose to Push updates onto artists or you can let them Pull (and hope that they do).

another method is to build valid assets on demand - a script could take the latest rig and add the latest mdl etc to it and save out a new version…lots of options here…

but as long as your assets are setup to correctly ‘look’ for the right sibling assets you can update (or downgrade) as needed without too much trouble. And it's nice for TDs because you're not actually ‘locked out’ - you could have a scene fine in animation or lighting and crack open an HDA and just fix something to get it through the pipe.

so not knowing how you have things setup exactly, I'd say Houdini could be used for whatever you're doing.
it's worth having a read through this:
https://www.sidefx.com/docs/houdini/assets/_index [sidefx.com]
and keep asking questions here
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
57 posts
Joined: Jan. 2015
Offline
Very good info, thanks for the response, I'll keep reading up on assets, seems like a good option.

Thanks
User Avatar
Member
34 posts
Joined: Nov. 2007
Offline
I defer to Michael on this as it sounds like he has more experience on this and in particular the character rigging pipeline. But I used to work at Laika on more of the shading, lighting and rendering side of things in Houdini, and we had a pipeline very similar to what he described.

I would have actually answered - Yes. HDA's are essentially hip files you are referencing in. You can package up almost everything you might be doing in a hip file with some notable exceptions like bundles and takes.

In short, you can have an hda that is loaded into many hip files. If you change that hda, those changes get propegated to all of you hip files. I use this all the time in shot work and even a lot in the same file if I am doing the same stuff over and over again to different assets.

At Laika, we used a combination of scripts and how Houdini looks for hda definitions in its search path to control which version of an asset each shot got.

If its a simple small project, and hence not a lot of verisons of your asset being used at the same time, there isn't really any scripting or directory magic necessary, putting your work into an hda and having that in your scan path (HOUDINI_OTLSCAN_PATH set in your houdini env) will allow you to use it in several hip files.

-bk
  • Quick Links