Jump to content
freespark

linking COPS to SOPS network

Recommended Posts

Hello all,

I haven't been on in a while, but I have a small question I have a model of a cassette tape that I want to composite a looped sequence of frames to. I have my network setup in COPS but am having trouble and would like to know if it's a bug. Sorry if this isn't clear but, grrrrr!! O nevermind..

Nevins Duret

Share this post


Link to post
Share on other sites

Hey Nevins,

Take a deep breath & slowly tell us what you would like to do. ;)

Do you want to put the looped sequence onto the tape or do you want to composite the tape with the sequence? :unsure:

Cheers!

steven

Share this post


Link to post
Share on other sites

Hello Steven,

So sorry about my frustration, this just seems like a really easy thing, and, as you know, there is a lot to set in COPS in order to do it. But, the concept is easy to grasp. Yes, I simply want to put the looped sequence onto the tape, but the tape is modeled and resembles film. And, I simply want to put the looped sequence on the film. Thanks in advance for taking the time out to even give this consideration. I know it's a bit vague. I wish I knew how to post my picture of it. Then it would make things a lot easier.

Nevins Duret

post-19-1030588702.jpg

Share this post


Link to post
Share on other sites

hey,

I THINK I get what you're saying. How long is your sequence of frames? You could create a texture that is basicly your 'film strip', so basicly, all your images next to each other, in one large image. You could then use this as a texture map on your geometry, and make your UVs so that it loops.

I can think of a bunch of possible ways to do this. I guess it depends on how you built the 'film' section of your tape. if there's individual grids for each 'frame', you you could assign textures based on primitive number...

Hope this got you going.

Jens

Share this post


Link to post
Share on other sites

Hello Jens,

thank you so much for the reply. I considered the primitive method but the thing is, as displayed in the picture of the cassette, I've built it keeping in mind that I am going to do it using the first method that you described. I have the network set up and everything but I am missing a couple of steps to basically wrap it up. I'm sorry but I don't even have the patience to sit and describe what t is I did in my COP network. I know this doesn't help you much or anyone else for that matter, but I have a lot to do. Again, thank you for the help.

Nevins

Share this post


Link to post
Share on other sites

Where must the picture be displayed on the cassette??! I mean, circle it out in a screenshot or so. I know it's tough to explain people something. But how else you think people will be able to ever help you that way?

Share this post


Link to post
Share on other sites

hello Calosus,

the pictures are going to go on the actual tape. I'm sorry I did not take my time out to explain everything that I did in COPs, it just honestly is a long process and I think I went wrong somewhere in my setup. I built the tape so that the pictures are going to go in the blank space that sort of resembles film. I circled it in red for you to see. Again thank you so much for the help and time.

Nevins Duret

post-19-1030819779.jpg

Share this post


Link to post
Share on other sites

Aha, I see now. That's logical.

But what went wrong? And do you mind if I check your HIP?

Share this post


Link to post
Share on other sites

I think the biggest problem is, you can't link a cop network to a shader. you have to save out the image, then read them in with a shop.

Was that it?

Jens

Share this post


Link to post
Share on other sites

Hello Anakin,

Actually, that's what i meant believe it or not. I just dodn't explain it very well. Which doesn't help. So far, I am having problems with padding. Is there some bug that i am suppose to be aware of.

Nevins Duret

Share this post


Link to post
Share on other sites

Hey,

Well, glad we finally tracked the problem down. B)

As far as padding goes, I don't think there's any bugs. I think the best way to get padding to work is to use the padzero() expression. That is, if you're using an expression to loop certain frames.

Give that a shot. Should solve any issues you have. Remember to use ` (that's the key next to 1) around the expression, so that it evaluates it.

Cheers,

Jens

Share this post


Link to post
Share on other sites

But wait a second... You can link COPs to TOPs via MATs. From there Nevins could save the MAT he created as VEX (or RenderMan) shader. Since he told me he was still using 5.0. (Even then, 5.5 still supports that feature aswell :))

Share this post


Link to post
Share on other sites

OK,

Slight problem. I'm trying to solve my problem using another approach and I am glad you brought up the specifics in padding. I did use the padzero command with no success and, I did add my quotes. Here are the examples that I put into the texture map input field of a Vex Layered Surface:

mypic_`padzero(4,$F%100+1)`.tga

mypic_`padzero(4,floor($FF%100)+1`.tga

neither worked. Can someone please tell me what I am doing wrong? Thanks in advance.

Nevins Duret

Share this post


Link to post
Share on other sites

here's a handy little thing to do:

use the textports echo command to see what one of those would give you. so:

houdini -> echo mypic_`padzero(4,$F%100+1)`.tga

mypic_0002.tga

that about what you were looking for?

this one however:

houdini -> echo mypic_`padzero(4,floor($FF%100)+1`.tga

mypic_.tga

Expression error: Bracing error

and if that was just a typo:

houdini -> echo mypic_`padzero(4,floor($FF%100)+1)`.tga

mypic_0002.tga

so, they seem to work... compare your result with your filename, and make it work that way.

Cheers,

Jens

Share this post


Link to post
Share on other sites

Hello Jens,

You are the man!!! It worked. My problem was I used apostrophes instead of back tick, which for you is under the tilda key. Thanks again.

Nevins Duret

Share this post


Link to post
Share on other sites

hey all

I think the biggest problem is, you can't link a cop network to a shader. you have to save out the image, then read them in with a shop.

as a matter of interest, with the new versions of houdini out, is there any way of linking cops to Shops ?

thanks in advance

all the best

aracid

Share this post


Link to post
Share on other sites

I don't think Nevins Duret still visits this forum... (Surely not at the moment).

Share this post


Link to post
Share on other sites

You can link a COP to a SHOP by adding the 'filename':

op:/img/img1/output_cop

The op: references a Houdini path, rather than a disk path (/img refers to COPs, img1 is the default copnet, output_cop is the name of the cop to fetch from).

You can also extend a short sequence using the Extend COP. For example, to loop a sequence of 10 frames (1-10), set 'Extend After' to 10000 (or some very high number) and change the 'Hold' to 'Cycle'.

I think the biggest problem you'd run into is that the op: syntax always fetches the image at the current time; so if you wanted a different image for each little frame on your cassette, this may not be a good solution.

Share this post


Link to post
Share on other sites

hey malexander

man sometimes i wonder about my self, i wanted to connect shops to cops ;)

but op: is exactly what i was looking 4!!

seemed u found a solution for the problem, i didnt even ask for :)

thanks

all the best

aracid :blink:

Share this post


Link to post
Share on other sites

You could make an COP OTL to render a shop on a shader ball.

1) in the COP subnet, add a Render COP, a ROPNET with a mantra output driver, and an Object Network.

2) The Object network would contain a camera, one or two lights and one geo object.

3) In the Geo object, add a sphere w/ a UV Texture and Shader SOP attached, with the Shader SOP referencing a Shop (which would be linked as a parameter to the OTL).

4) In the mantra driver in the ROPNet, set the relative path to the camera in the Object network.

5) In the Render COP, set relative path to the mantra driver in the ROPNet

6) Create an OTL from the COP subnet containing everything, and link a parm from the Shader SOP's shader path parm.

And you should be good to go :) If you wanted to be fancy, you could modify the SOP network with a Switch SOP to switch between a sphere, torus, cylinder and a grid and link that as a menu parm in the OTL.

EDIT > Except that mantra doesn't seem to like rendering Object networks that aren't /obj :(

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×