Page 1 of 1
Blocks & Replication
Posted: Tue Mar 24, 2015 12:17 am
by newske
Hi Paul,
Would it be possible to have the replicate button respect the transformation matrices of block instances? Current, when 'replicate' is used, all scales and rotations are set to 0, whereas ideally if an rhino instance was transformed the octane proxy information should match.
tl;dr: replicate should convert block instance transforms into xyz scale and xyz rotation for Octane.
Regards,
Cam
Re: Blocks & Replication
Posted: Tue Mar 24, 2015 12:46 am
by v-cube
+1 !!!
that would be great!
Re: Blocks & Replication
Posted: Tue Mar 24, 2015 3:00 am
by felipezumaeta
+1
Re: Blocks & Replication
Posted: Tue Mar 24, 2015 9:25 pm
by face_off
This should be possible. I will try to add this in the next release.
Paul
Re: Blocks & Replication
Posted: Wed Mar 25, 2015 3:52 am
by Marvez
yes would be great
Re: Blocks & Replication
Posted: Wed Mar 25, 2015 4:42 am
by newske
Thanks Paul. Perhaps it would also be useful to have this as a checkbox in the options, "Always use Rhino instance transformations", for example?
Re: Blocks & Replication
Posted: Wed Mar 25, 2015 5:33 am
by face_off
I just had a look at this, and it is replicating the rotation of the proxy to all other instances. So if you rotate the proxy 45 degrees in the Z axis, it will rotate all block instance proxies 45 degrees in the Z axis. So I think it is more an issue that proxies do not add the block instance transform to their rotation. Adding the block instance rotation to the proxy rotation is quite complex, because the plugin wouldn't know if you wanted the block instance rotation applied first, or the proxy rotation (and the order of rotation is critical, since proxies and block instances may have different axis orders). Take for example the situation where you have an XFrog tree, which requires a Y and Z rotation to get it upright - then rotating the block instance in the Y axis will result in the tree loosing it's upright position rather than spinning the tree is you require.
So in summary, I don't think the OP request is possible to implement in the short-term.
However there are other ways around this. For example, you could write a Rhino script to copy a block instance rotation to it's Octane proxy rotation (and Newske - I recall we had a discussion on how to do this a while back?)
Paul
Re: Blocks & Replication
Posted: Wed Mar 25, 2015 9:45 am
by newske
face_off wrote:Adding the block instance rotation to the proxy rotation is quite complex, because the plugin wouldn't know if you wanted the block instance rotation applied first, or the proxy rotation (and the order of rotation is critical, since proxies and block instances may have different axis orders).
So in summary, I don't think the OP request is possible to implement in the short-term.
However there are other ways around this. For example, you could write a Rhino script to copy a block instance rotation to it's Octane proxy rotation (and Newske - I recall we had a discussion on how to do this a while back?)
Paul
In that case, would it be possible to have an option to
override Octane's transforms with Rhino's transforms? The convention for Rhino would be to modify the instance in Rhino, and have the changes reflected in the render, as is the convention with other engines and proxies (ie. V-Ray for Rhino).
Regarding the Rhinoscript - yes, I did indeed apply it in RhinoGrow largely following
this as a guide, however it seems like important functionality for Octane for Rhino nonetheless.
---------------------
An unrelated (yet still proxy related) item - see attached screenshot.
- Proxies (.obj referenced, but no .csv matrix) that are hidden, or on a hidden layer, still show up. I realise that the 'hide' option works, but it's a bit counter intuitive in the Rhino workflow. It's also not possible to select multiple at once to check the 'hide' box.
- Random colour textures do not apply across instances (however it does work when a .csv is applied).
Thankyou for the quick response as usual Paul.
Cam
Re: Blocks & Replication
Posted: Thu Mar 26, 2015 3:08 am
by face_off
would it be possible to have an option to override Octane's transforms with Rhino's transforms?
This should be possible - but it will wipe out any specific proxy scale/rotation you have applied to get the imported OBJ/ORBX to the correct size/rotation. I will see what can be done in the next few days.
Paul
Re: Blocks & Replication
Posted: Thu Mar 26, 2015 9:40 am
by newske
face_off wrote:would it be possible to have an option to override Octane's transforms with Rhino's transforms?
This should be possible - but it will wipe out any specific proxy scale/rotation you have applied to get the imported OBJ/ORBX to the correct size/rotation. I will see what can be done in the next few days.
Paul
That sounds great - thankyou Paul!