changing an image used by multiple instances at once

srieschsriesch Posts: 4,241
edited April 2013 in Bryce Discussion

I have several objects and numerous instances of them sharing the same material, which uses the 2D image library as a component. What is the best way to update them to change one of the images used by the material, and what might be some alternate ways?

I wanted to try changing the image slightly for everything, however when I attempt doing this in various ways, I always encounter problems. Just changing the material appears to update that single instance but leaves other instances rendering white (even though they still have the material.) I tried saving the image library, updating it in another otherwise empty bryce scene, then loading it and that appeared to work when doing spot renders, but crashed on save. I also at one point had a completely unrelated object in the scene go bright red for no apparent reason.

I don't NEED to change them all, I might be ok with the way they are, but wanted to try it if possible, and thought perhaps some of you might have considered alternate ways to make this kind of adjustment that might sneak past whatever the problem I'm having is.

Post edited by sriesch on

Comments

  • Dave SavageDave Savage Posts: 2,433
    edited December 1969

    In theory, if you alter the master object that the instances are instanced from, it will update all instances too (as long as no ungrouping has been done since the instances were made).

    If you only want to alter one single instance, select that instance and 'copy', then delete that instance and 'paste' you should then have an object (no longer an instance) in the exact same position which you will be able to edit independently. Just make sure that any edits to any 2D library pic are saved under a different name and do not overwrite the original.

    This is from memory, I usually like to go through my instructions in Bryce as I type to make sure what I'm suggesting is working, but I'm rendering at the moment.

    One more thing: Never delete the master object that the instances are made from or you will corrupt your whole file and as far as I know it is not recoverable.

  • Rashad CarterRashad Carter Posts: 1,803
    edited December 1969

    I have several objects and numerous instances of them sharing the same material, which uses the 2D image library as a component. What is the best way to update them to change one of the images used by the material, and what might be some alternate ways?

    I wanted to try changing the image slightly for everything, however when I attempt doing this in various ways, I always encounter problems. Just changing the material appears to update that single instance but leaves other instances rendering white (even though they still have the material.) I tried saving the image library, updating it in another otherwise empty bryce scene, then loading it and that appeared to work when doing spot renders, but crashed on save. I also at one point had a completely unrelated object in the scene go bright red for no apparent reason.

    I don't NEED to change them all, I might be ok with the way they are, but wanted to try it if possible, and thought perhaps some of you might have considered alternate ways to make this kind of adjustment that might sneak past whatever the problem I'm having is.

    What you are observing is a terrible bug that crops up rather often. During the initial painting session the connection between the materials of the instances and that of their source is intact. But once the scene has been saved and re-opened, you can find that the link is now broken and altering the source does not update the children instances. This can happen with any form of geometry, primitive or mesh.

    I have a sneaking suspicion that instances become partly "real" when scenes are re-opened. The memory usage increases by roughly 700% in most cases often overloading memory causing crashes on reloading of complex scenes. It might be in the handling of the materials.

    When this happens to me I then have to select the group of instances and alter the material of the entire group to match that which I established for the source. It is important that the two match up before the scene is saved again, because if you try to reopen the scene after its been saved with inconsistent information between the source and the instances the reload will crash. Basically the link becomes broken only functionally for us, but under the hood it remains. Very scary stuff. Particularly, because altering the material of the group somehow explodes the memory and can cause a crash! The only method I have found is to alter the instances a few at a time and hope the memory doesn't balloon. it is a comfort to note that the memory usage returns to normal once the scene is again saved and reopened for the nine billionth time!

    For sure my least favorite lingering bug of the IL!!!!!!!!!!!!!!

  • srieschsriesch Posts: 4,241
    edited December 1969

    Thanks TheSavage64 and Rashad! Selecting all groups at once plus a master object and modifying them looks like it's going to work from spot renders (I still need to kick of a re-render of the entire scene.)
    Updating the master object also did the "set everything else to white" thing. Selecting one group and updating that worked on the group, but set other groups white. My first attempt at selecting and updating all groups at once crashed on save, however I had gone through a bit of renaming groups and several different image pastes to get the color right, and after renaming and saving first, then updating the image only once and saving, then doing spot renders seems to do the trick.

Sign In or Register to comment.