Have a unique one that pops up from time to time, but one of those things I keep forgetting what the solution is.
One of our environment artists has created a very large scene consisting of 25,000+ objects. Many of which are duplicated from a common source object. By default, when duplicating an object Softimage reuses/shares the texture projection(s) between source and duplicate as a means of efficiency.
The problem is she needs to animate the texture projection’s translation on only a few of the duplicates. However, keying any parameter in the Texture Projection Def property causes all objects in the scene (derived from the same source object) to have it’s textures animated the same way. We’ve looked in all the menus, tried freezing projections and so on, but cannot find a way to localize the texture projection to the duplicated object to break the relationship. We have resorted to a workaround of using the copy/paste UV tools in the texture editor – which is OK if we only had to do this for one object. Unfortunately she must do this for many objects and this workaround is quite laborious.
We tried CTRL + dragging the cluster between objects since they have identical topology, but softimage only copied the cluster, not the texture projection inside of it. So we tried CTRL + dragging the texture projection onto the duplicate which copied the projection, but still shared the texture Projection def property underneath.
Anybody remember how to localize a texture projection so it isn’t shared with anything else in the scene?
Matt
Let me add – without having to resort to using the SDK, which I already know I can do.
…and what do we do if the objects don’t have a texture support? (explicit UV)
Matt
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Grahame Fuller
Sent: Monday, June 11, 2012 3:25 PM
To: soft...@listproc.autodesk.com
Subject: RE: Localizing a shared texture projection
If I understand correctly, Get > Property > Texture Projection > Connect to Support, then pick the existing support. You’ll also need to make sure that the textures use the correct projection in the render tree.
gray
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Matt Lind
Sent: Monday, June 11, 2012 06:01 PM
To: soft...@listproc.autodesk.com
Subject: RE: Localizing a shared texture projection
Let me add – without having to resort to using the SDK, which I already know I can do.
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Matt Lind
Sent: Monday, June 11, 2012 2:58 PM
To: soft...@listproc.autodesk.com
Subject: Localizing a shared texture projection
Have a unique one that pops up from time to time, but one of those things I keep forgetting what the solution is.
One of our environment artists has created a very large scene consisting of 25,000+ objects. Many of which are duplicated from a common source object. By default, when duplicating an object Softimage reuses/shares the texture projection(s) between source and duplicate as a means of efficiency.
The problem is she needs to animate the texture projection’s translation on only a few of the duplicates. However, keying any parameter in the Texture Projection Def property causes all objects in the scene (derived from the same source object) to have it’s textures animated the same way. We’ve looked in all the menus, tried freezing projections and so on, but cannot find a way to localize the texture projection to the duplicated object to break the relationship. We have resorted to a workaround of using the copy/paste UV tools in the texture editor – which is OK if we only had to do this for one object. Unfortunately she must do this for many objects and this workaround is quite laborious.


Technically that works, but much too laborious as there are many inter-object and intra-object dependencies. Duplicating objects means we have to set up all the inter-object relationships again too. Ideally, we need a solution that processes the texture projection in place.
I tried using MakeLocal() and SIMakeLocal() from the SDK, but they don’t do the job either. MakeLocal() throws errors and doesn’t return what it says it’ll return, and SIMakeLocal() doesn’t seem to do anything.
I’ll have to script something to replace the texture projections and redo all the relationships.
Matt
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Grahame Fuller
Sent: Tuesday, June 12, 2012 10:21 AM
To: soft...@listproc.autodesk.com
Subject: RE: Localizing a shared texture projection
Duplicate the duplicates again, but this time make sure that your duplicate options are set to always duplicate or freeze projections. Then delete the “original duplicates”.
gray
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Matt Lind
Sent: Monday, June 11, 2012 06:33 PM
To: soft...@listproc.autodesk.com
Subject: RE: Localizing a shared texture projection
…and what do we do if the objects don’t have a texture support? (explicit UV)
Matt
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Grahame Fuller
Sent: Monday, June 11, 2012 3:25 PM
To: soft...@listproc.autodesk.com
Subject: RE: Localizing a shared texture projection
If I understand correctly, Get > Property > Texture Projection > Connect to Support, then pick the existing support. You’ll also need to make sure that the textures use the correct projection in the render tree.
gray
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Matt Lind
Sent: Monday, June 11, 2012 06:01 PM
To: soft...@listproc.autodesk.com
Subject: RE: Localizing a shared texture projection
Let me add – without having to resort to using the SDK, which I already know I can do.
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Matt Lind
Sent: Monday, June 11, 2012 2:58 PM
To: soft...@listproc.autodesk.com
Subject: Localizing a shared texture projection
Have a unique one that pops up from time to time, but one of those things I keep forgetting what the solution is.
One of our environment artists has created a very large scene consisting of 25,000+ objects. Many of which are duplicated from a common source object. By default, when duplicating an object Softimage reuses/shares the texture projection(s) between source and duplicate as a means of efficiency.
The problem is she needs to animate the texture projection’s translation on only a few of the duplicates. However, keying any parameter in the Texture Projection Def property causes all objects in the scene (derived from the same source object) to have it’s textures animated the same way. We’ve looked in all the menus, tried freezing projections and so on, but cannot find a way to localize the texture projection to the duplicated object to break the relationship. We have resorted to a workaround of using the copy/paste UV tools in the texture editor – which is OK if we only had to do this for one object. Unfortunately she must do this for many objects and this workaround is quite laborious.
She needs to localize the texture projections of the duplicate objects so they don’t ripple back to the source which in turn feeds other duplicates derived from the source. The problem is there are many relationships between objects and metadata which feeds our game engine. Duplicating an object will force her to rebuild the metadata relationships because Softimage doesn’t manage that data. When you’re talking 25,000+….that’s too much data to workaround with brute force techniques.
Matt