Jump to content

multisolver + SOP solvers + data question


Recommended Posts

Hi,

In a dynamic simulation, I have a multisolver that has two SOP Solvers: A and B. The geometry that the dynamic simulation process is just points (or it's actually agents represented as points). Solver B runs FIRST then Solver A.

Now, inside SOP B solver, I use RAY SOP to projects points on a moving mesh, then in SOP A Solver, I should use the projection created by SOP B. 

My questions:

1- In SOP B solver, Ray creates two attributes, hitprim and hitprimuv. Every now and then (still not exactly when), Ray SOP complains that hitprim and hitprimuv already exists? I usually disable the creation of them, then enable it again. I am not sure when exactly Ray creates these two attributes? What's the right way to avoid it? Maybe create them in attribute wrangler conditionally (i.e. if they do exist, don't create, otherwise create)?

2-Sometimes (sorry, I also don't know when exactly), Ray SOP in Solver B, does write the projection parameter, i.e. hitprim and hitprimuv and sometime it does not. This might be related to problem 1.

3-What is puzzling me the most is that in SOP A Solver, attributes hitprim and hitprimuv are not in sync with the values computed in Solver B?? Is it like each Solver has its own context and they do create these attributes locally?

Thanks, any feedback will be appreciated :)

sop_solvers.png

Link to comment
Share on other sites

Okay! no answer :) So, let's try to rephrase the questions...I did further tests and here are more precise questions:

A multisolver runs three solvers: Solver A (SOP) , Solver B (Crowd) , Solver C (SOP) in the same order.

-In Solver C (i.e. the last one), I use "Ray" SOP that creates two point attributes, however the "Ray" SOP always complains these attributes already exist! As a workaround, I delete the attributes before "Ray" SOP, and let "Ray" SOP create them!!! This is extremely inefficient because it means on each iteration I delete two attributes and then "Ray" SOP creates them!!! BTW, if "Ray" SOP is used in a normal geometry node (i.e. outside the simulation network), I won't get this error. 

-Even before I start the simulation, i.e. at Frame 1, I see the two attributes created by "Ray" SOP mentioned above? How come I can see the two attributes even though I have not started the simulation?

Alright, hope someone can help me now :)

Thanks,

Link to comment
Share on other sites

Regarding your first post, as the order seems to have changed in the second post, you say at Sop Solver B runs first, and then A, and the values in A aren't in sync with B. On your multisolver it looks like you have A connected to the left of B, so it's being evaluated first, and that information is then available for B to process. What happens if in the 'Input Operators' list on your multisolver you make sure that B is above A?

  • Like 1
Link to comment
Share on other sites

Thanks Adrianr :) I did verify that B runs before A, and yes, in the multisolver input operators, B is first, then A (Sorry, I should've renamed them to match the running order, but it was late at night and I was too tired :) )

When I investigated it further, I realized something was "wrong" (plz see attached): in the network view, and before I hit "play", I dive into the SOP Solver (named "post_project_uv"), however, hitting play while inside the SOP Solver does not tick the entire simulation network! instead it just ticks the current network (which is the SOP solver). The problem with that is that the SOP solver has "DOP Import" which imports the result of the simulation, and since no simulation exists, the SOP solver network would fail. 

To "fix" the problem, I have to hit "play" while I am at the DOP network level. Also, worth mentioning that in the "DOP Import" I unchecked "Do not trigger Simulation" which forces the simulation network to tick, however I when I do so I get bad results and another warning message "SOP Solver Cooked in Immediate mode, cached results incorrect"?

I "think" the easiest thing to do is to run the simulation at the DOP network level. However, I am still confused about the behavior of Ray SOP, i.e. I have to delete the attributes it creates to make it work (to be more specific, why Ray SOP node works nicely in a geometry node and never complains about these "existing" parameters, and yet complains about these parameters in DOP network. What makes the difference?)

Thanks,

 

order_and_warning.png

dop_import.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. 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...