catchyid Posted August 28, 2016 Share Posted August 28, 2016 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 Quote Link to comment Share on other sites More sharing options...
catchyid Posted August 30, 2016 Author Share Posted August 30, 2016 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, Quote Link to comment Share on other sites More sharing options...
adrianr Posted August 31, 2016 Share Posted August 31, 2016 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? 1 Quote Link to comment Share on other sites More sharing options...
catchyid Posted August 31, 2016 Author Share Posted August 31, 2016 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, Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.