DOPs network "Invalid shader transform specified"

   4876   6   1
User Avatar
Member
8 posts
Joined: March 2006
Offline
Hi,

I have a strange problem that whenever I create a DOPs network with an RBD Object and an RBD Solver and try and render it with the standard mantra renderer, I get the following error in the console window: Invalid shader transform specified. This only happens when the solver is applied, if I remove it, it renders fine, but obviously the simulation does nothing. I have no idea what this means, but I dont have any shaders applied to anything, seems very bizarre. If I do apply shaders then when this error pops up, parts of the shaders dissappear and the objects are white.

Can anyone help me please!

Oli
User Avatar
Member
557 posts
Joined: July 2005
Offline
Hmmm, can you post a simple hip file that exhibits this behavior? I couldn't make it happen by building a quick example.
User Avatar
Member
8 posts
Joined: March 2006
Offline
Ive attached a simple file, bear in mind that it does it even without shaders attached, but u just dont see the problem unless you have some shaders. It seems to occur after about fram 15, but varies from project to project.
Does exactly the same thing on 2 other machines too.

Oli

Attachments:
stairs.hip (518.5 KB)

User Avatar
Member
557 posts
Joined: July 2005
Offline
Very interesting. There seems to be some kind of bug that I will try to track down.

But in the meantime, you can get around all this by setting up your renders in a more conventional manner. Rather than passing the shader string into the simulation, and then hoping to get it back out, as you are doing, I have created a separate geo object for each object in the simulation, and added the shader definitions to those. I've also cleaned up your simulation network a bit - it had a lot of extra merges and it was hard to figure out exactly what was happening.

Attachments:
stairs_179.hip (510.5 KB)

User Avatar
Member
8 posts
Joined: March 2006
Offline
Hi Craig,

Thanks very much for that, you're a legend! I need to ask 1 more favour though, and this is, could you possoibly explain what you did and why? its just, Im doing a 3D modelling project at Uni and I need to be able to explain why “I” did it this way, n why it didnt work the other way if you've got a spare few minutes I'd really appreciate it.
Thanks.

Oli
User Avatar
Member
557 posts
Joined: July 2005
Offline
Am I going to appear in your bibliography?

Ok, there were two categories of thing that I did. The first was to get around the problem of the shaders not working properly. To do that I created two new geo objects, one for the stairs and the other for the balls. This allows me to extract the appropriate geometry from the simulation into each, and then use the standard mechanism for attaching shaders, namely the Shading tab in each Geo object. This is one approach - there are lots of others, including just extracting the geometry from the simulation and assigning shop sops to each piece as required. But I like this because it's straightforward and easy for someone else to follow.

I also had to parent these objects to your dopnet object, in order to get them to appear in the right place. I've never seen anyone actually use the transforms in the dops object at the object level before!

The second thing I did was clean up your network. I just did that because you one or two merge dops that didn't really accomplish anything, because they only had one input, and also because the result was that everything affected everything else. This isn't really what you want, and it's less efficient than it should be.

So I consolidated the whole thing into a couple of merges with the appropriate relationships declared there. The first merge just collects the balls together, and the second brings everything together correctly. That means that the steps and the ground affect the balls, and the balls affect each other, and that's it. Much cleaner. If you look at the Affector Matrix in the Details View for your version and mine, you'll see what I mean.
User Avatar
Member
8 posts
Joined: March 2006
Offline
Hey,

Thanks very much for that, much appreciated. I dunno if you're the guy to ask about this, but u seem to know what you're talking about

As ive said before, im kind of new to Houdini, so im not sure of the “best” and most efficient way to do things. The dops part of my project involves a load of bouncy balls bouncing down a flight of stairs. Now ive managed to create balls and stairs efficiently, but im stuck on 1 last thing. I need to contain the balls within an open toped box (like a cardboard box). I cant seem to get the balls to stay in the box. Im having something crash into the box, it fall over, then the balls bounce down the stairs. I was wondering if you could have a look at what ive done so far and see if you could help

Thanks a bunch.

Oli

Attachments:
stairs+balls.hip (832.6 KB)

  • Quick Links