deleting/adding ops in locked asset?

   11299   16   3
User Avatar
Member
121 posts
Joined: July 2005
Offline
With Auto Take mode on I can change parameters inside locked assets ,
but how can I delete and add ops via a callback script inside a locked asstet?

Thanks,
Achim
User Avatar
Member
212 posts
Joined: July 2005
Offline
you can't.
unless they did something special i haven't seen in takes.

by adding/deleting ops in a locked asset you are changing it's definition.
-k
User Avatar
Staff
3455 posts
Joined: July 2005
Offline
AFAIK you can't…
and I'm glad…
I know we've talked about this on and off for a while but I'm one of those people who don't think that HDAs should be treated like subnets with parameters….
if you want that kind of functionality - make a subnet and add spare channels to it…HDAs are a funamentally different beast…
just my 0.02 CND
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
121 posts
Joined: July 2005
Offline
OK, then I'll have to create the new ops somewhere else and just reference their output into my HDA.

Thanks
Achim
User Avatar
Member
4262 posts
Joined: July 2005
Offline
Umm… concerning the first thing you said.

Using Takes shouldn't allow you to modify parameters inside of locked assets……

should they?
if(coffees<2,round(float),float)
User Avatar
Member
121 posts
Joined: July 2005
Offline
Hey Wolfwood,

Maybe I didnt understand your question correct, but isn't this what the whole
“Allow Auto Take Mode for Locked Assets” is all about?
User Avatar
Member
4262 posts
Joined: July 2005
Offline
It was more of a philosophical question. Digital Assets (the locked variety) are meant to be black boxes. Having a way to go in to the black box and start changing things using takes can lead to shot debugging hell.

Say a animator is happy with the character's animation…so they save out the node using opscript or opwrite. Then you bring in the character to light it (source or opread) and when you hit play you notice the character's animation is all wrong.

Turns out the animator had a take that changed the rotation from “Rx Ry Rz” to “Rz Ry Rx”. And you didn't know about it.
if(coffees<2,round(float),float)
User Avatar
Member
121 posts
Joined: July 2005
Offline
Your right, haven't though about that. Makes prefect sense and sounds like it happend to you allready.
User Avatar
Member
212 posts
Joined: July 2005
Offline
again I haven't used them but from the houdini night a while ago that is what I understood Takes would do.. basically the concept was intended for rendering to allow you to stomp on parameters of locked assets without unsyncing them and rendering. Then liked most things SESI creates… someone said hey lets use this for animation and others stuff. Sometimes when this happens the original thought breaks a bit….

That's why I was asking what the Takes look like ASCII, binary… opscript.. preset files…

it is dangereous… helpful at times.. but unless they provide a quick way to diff an OTL to show what was changed… it is hard to figure out what is going on.. you have to read the take file and follow the logic…

I'm surprised no on else felt the danger.. the heat from the flame… doom i say doom!
-k
User Avatar
Member
4262 posts
Joined: July 2005
Offline
thekenny
That's why I was asking what the Takes look like ASCII, binary… opscript.. preset files…

Nothing to worry about….these Take files make perfect sense.

HoudiniTakeFile 1.0
take name take1 kids 0
35
s 0 /obj/cam2/color1/random_detail
10
s 1 value
639
d 0 1
“{
channel value1 {
lefttype = extend
righttype = extend
flags = 0
segment { length = 0 accel = 1 1 expr = rand(ch(\\\”../seed\\\“)*3) }
}
channel value2 {
lefttype = extend
righttype = extend
flags = 0
segment { length = 0 accel = 1 1 expr = \”rand(1 + ch(\\\“../seed\\\”)*3)\“ }
}
channel value3 {
lefttype = extend
righttype = extend
flags = 0
segment { length = 0 accel = 1 1 expr = \”rand(2 + ch(\\\“../seed\\\”)*3)\“ }
}
}
”"{
version 0.8
value ( )
}
“34
s 2 /obj/cam2/color1/bounding_box
12
s 3 default
64
d 2 3
”“”{
version 0.8
default ( 2.2 2.2 2.2 )
}
“28
s 4 /obj/cam2/color1/random
10
s 5 input
247
d 4 5
”{
channel input {
lefttype = extend
righttype = extend
default = 3
flags = 0
segment { length = 0 accel = 1 1 expr = ch(\\\“../class\\\”) }
}
}
“”{
version 0.8
input ( )
}
“58
d 0 3
”“”{
version 0.8
default ( 2 2 2 )
}
"2
e



If I just could find my decoder ring.
Edited by - Sept. 21, 2005 15:45:01
if(coffees<2,round(float),float)
User Avatar
Member
212 posts
Joined: July 2005
Offline
I can always count on another new syntax to learn with Houdini.

I hate to hen peck, but for the love of Pete and the fun bunnies, come on guys pick one and stick with it?
you have hscript
you have preset files
you have expressions
you have expression editor style
you have vex
you have takes.

oh and don't get me going about forward tick this and back tick that and don't forget to double quote.

anyone else care to rant… i'm feeling better now.
Thanks sesi for listening
-k
User Avatar
Member
4262 posts
Joined: July 2005
Offline
D00d…you forgot….

DialogScripts
if(coffees<2,round(float),float)
User Avatar
Member
212 posts
Joined: July 2005
Offline
dont' get me going %%@$%@#$%@#..

but seriously, i'm joking everyone.. but there's a bit of truth in there.
-k
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Houdini 8: Takes can modify parameters iniside locked digital assets.
There's at least one school like the old school!
User Avatar
Member
2199 posts
Joined: July 2005
Online
Makes perfect sense, takes are just local to the hip file so they can happily hold data concerning the hda without having to change it's definition.

Now I wonder if anyone can see the link from here to having takes hold modelling info too, that way you could have user modified data inside a locked asset that is saved only to the hip file and not the hda definition. Just my personal axe to grind…….. I'll find a way to convince you eventually.. ha,ha,ha :twisted:
The trick is finding just the right hammer for every screw
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Not me.

You obviously mean edits in SOPs like Edit, sculpt, paint, etc. Not all SOPs. There is something bigger in the way then: Assets don't allow you to directly edit points, sculpt or paint surfaces. Let's face it, assets the way they are now are not that great for directly editing data with tools like paint, point-edge-face editing cumulatively like the SOPs mentioned above.

Now that is what is in my large wish list. I will have to start to dig through the hdk as you are doing ( and it is most impressive how quickly you are ) to get this kind of functionality. Ah, I must keep on dreaming of the day I have enough time to start to have fun with the hdk…
There's at least one school like the old school!
User Avatar
Member
2199 posts
Joined: July 2005
Online
Correct I was talking about edit sops et al. I know it won't happen this way, but I just know how useful it would be and I know you guys at Sesi are clever enough to think of a way to do it.

As to hdk, go on do it! It's not so bad, you just need to read 30,000 lines of code to find out what it does, and then you still know nothing….

But seriously I put off doing anything in hdk for years and now I've done it I wished i'd looked at it earlier it's way easier than I thought. I probably know 1% of it, if that, but can still do useful things with it. Community support from others who've used it is invaluable though, lucky Houdini isn't short of such types. I would recommend it to anyone who is a strong scripter, you just need to find something not too ambitious to start with, and ask a ton of questions. Of course you need to know a little C++ but I being a developer is easier on your C++ skills than writing the base code.

However I think I'll leave re-writing the way otls work for about another 50 years til I know enough to make them work the way I want.
:evil:
The trick is finding just the right hammer for every screw
  • Quick Links