1
$\begingroup$

Could you please help. I've got a collection of objects, I want each of them to appear ( every 10 frame animation) in the viewer. Starting from the smallest to the biggest.

Here my node

Dear Leander

Thank you, We are on the way to find the solution. In your node suggestion, the object size is not satisfying the size request and Suzanne never appears ?. the object with the smallest size shoud appear first I mean cone 10 or cube 9 then for example in desorder (because their size seems similar) Cube 4 or Cylinder 5 or sphere 6 or cone 7 or suzanne 8 then cube 3 then cone 2 then cube 1 enter image description here


See my work, I am stuck and do not see how to progress. I have tried to find some ideas to continue, unfortunately. Thank you Here my node

Dear Gorgious, Thank you for helping, It's sems you got the solution, but I could not succeed with the node description you left (I use 2.82 version & 2.1.7 AN). I'm a beginner with AN. As you can see on the first node I don't have like you the Float input in Float List On the 2nd node I get Index and object list (not Object like you) on the 4th node seems OK On the 5th node I do not get the first Invoke subprogram with Float List as output...and similar answer for the others See my nodes

enter image description here

Still struggling with this nodes interpretation Sorry about, I Cannot make it work. Any help ? Starting with dimensions...I went unsuccesfully on Data API and got lost..

$\endgroup$
3
  • $\begingroup$ Welcome to Blender.se, terro. What have you tried and what has failed? $\endgroup$ – Leander Apr 25 '20 at 13:38
  • $\begingroup$ Do you want them to appear (1) one after another [only a single object is visible at a time] or (2) accumulative [at the end all objects are visible]? (I tried your solution and it produced (1) very well...) $\endgroup$ – Leander Apr 25 '20 at 15:53
  • $\begingroup$ If you want to show the objects individually, one at a time, then use this setup. $\endgroup$ – Leander Apr 25 '20 at 16:06
1
$\begingroup$

I think we can do it in 4 steps :

Set up a loop to extract the size of each object. Since the "size" can be subjective, I calculated the length of the vector resulting from the object's dimensions (Bounding box).

enter image description here

Next, sort the list and use the sorted indices to get the object list sorted by size.

enter image description here

Finally, make the objects appear with a delay in a loop, in the correct order.

enter image description here

The main loop :

enter image description here

Result :

enter image description here

$\endgroup$
1
  • 1
    $\begingroup$ Thank you, It solved my question. $\endgroup$ – terro Apr 29 '20 at 8:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.