New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changing location in loop over object group changes object location #677

Closed
KoFish opened this Issue Mar 27, 2017 · 4 comments

Comments

Projects
None yet
2 participants
@KoFish

KoFish commented Mar 27, 2017

Scenario:

  • Create a cell fracture of an object, assign pieces to group.
  • Loop over group, change position depending on empty control object.

Current behaviour:

  • Using the original location of each piece and adding to it creates a feedback loop where the position is changed on the actual object causing each piece to continuously drift as the NodeTree is evaluated.

Steps to reproduce:

  • Create object group
  • Loop over object group
  • In loop:
  • Add Object Transform Input and Output
  • Connect location with a Vector Math node inbetween
  • Change the value in the Vector Math Nodes second input
  • Watch the group continue to drift in the entered direction until the values are reset to 0

Expected behaviour:

  • The new location (after Vector Math node) should only ever have the original objects location as input.

Example setup: http://imgur.com/a/IvNHn

Possible solutions:

  • Being able to split the original object group into a list of objects and a list of vectors for location/rotation/scale.
  • Implement the object group node to make a shadow copy of the objects that are used in the scene, not altering the original and using them as the true input.
  • Add node for only relative transformation output.

I haven't looked at the code yet so I'm probably missing something in how it could be solved or why it won't be solved. But It's a very annoying problem for me.

@JacquesLucke

This comment has been minimized.

Show comment
Hide comment
@JacquesLucke

JacquesLucke Mar 27, 2017

Owner

The solution to the problem you describe is already implemented. It is the so called ID Key system. It allows you to store information for each object like the Initial Transforms.

Just a few days ago I worked a lot on this system again.

Also a few weeks ago I published a video that pretty much shows your scenario: https://youtu.be/NgLrxg-DSfU

Owner

JacquesLucke commented Mar 27, 2017

The solution to the problem you describe is already implemented. It is the so called ID Key system. It allows you to store information for each object like the Initial Transforms.

Just a few days ago I worked a lot on this system again.

Also a few weeks ago I published a video that pretty much shows your scenario: https://youtu.be/NgLrxg-DSfU

@KoFish

This comment has been minimized.

Show comment
Hide comment
@KoFish

KoFish Mar 28, 2017

When trying to replicate the behaviour with the master version of the plugin I can't get it too work.

KoFish commented Mar 28, 2017

When trying to replicate the behaviour with the master version of the plugin I can't get it too work.

@JacquesLucke

This comment has been minimized.

Show comment
Hide comment
@JacquesLucke

JacquesLucke Mar 28, 2017

Owner

Most of what I show in the video is only in the in-development branch which will be released when it's done. In the current master version should already be the ID Key panel that lets you store Initial Transforms in an object. Furthermore the Object ID Key also already exists.

Owner

JacquesLucke commented Mar 28, 2017

Most of what I show in the video is only in the in-development branch which will be released when it's done. In the current master version should already be the ID Key panel that lets you store Initial Transforms in an object. Furthermore the Object ID Key also already exists.

@KoFish

This comment has been minimized.

Show comment
Hide comment
@KoFish

KoFish Mar 30, 2017

Finally figured it all out, sorry to bother!

KoFish commented Mar 30, 2017

Finally figured it all out, sorry to bother!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment