HOW TO USE THE INSTANCING LAB IN BRYCE 7.1 PRO/ A complete tutorial

Rashad CarterRashad Carter Posts: 1,798
edited July 2012 in Bryce Discussion

HOW TO USE THE INSTANCING LAB IN BRYCE 7.1 PRO/ A complete tutorial



The Instancing Lab in Bryce 7.1 Pro is a mysterious but powerful new tool. With this tool new levels of complexity are possible, Nature is complex, and for a natural looking landscape complexity is a must. So how do we use this new tool?

For this tutorial we will paint instances onto the Ground Plane.

1. Create a New Scene.
2. Create a Cube Primitive at world center.
3. Select the Ground Plane. The Ground Plane is your target object. Instances will be drawn onto this Ground Plane.
3. Press the letter "I" to enter the Instancing Lab. It is located just below the letter "M" that takes you to the Materials Lab.


Now we can get started. These steps below coincide with the images attached to the end of this post....

1. When you enter the IL, the first thing you should do is go to the "Brush Editor."

2. In the Brush Editor screen, you need to select the Brush Component (the item that will be copied). You can select multiple items if needed. In this case select the cube you created just before you entered the IL.

3. Once you select the item, you need to mouse click one time onto the pie chart, this ensures the IL knows which item you want to edit parameters upon.

4. You can then assign rotation and scaling variations as needed.
NOTE: Rotation does not work with grouped objects. Groups require some special tricks for several reasons. More on that later.

5. Once you are happy with the parameters in the Brush Editor, you can then go to the "Painter" screen.

6. Here in the Painter screen, you will assign values to the paint brush itself. There are several considerations and tips about how to paint.
A. The more polygons in the original, the more virtual polygons in the subsequent copies. Therefore, high polygon items cannot be copied as many times as low polygon items due to some limits on total polygons allowed.
B. Imported meshes use more memory than primitives typically, but not always.
C.Try to avoid continuous brush strokes, as this will paint too many instances into too small an area wasting memory. I have found that it is best to use brush dabbles instead. Does dabbling make sense? Is "dabble" the word I'm looking for?
D. Sometimes you can find upon rendering that the instances can appear to be arranged in a grid, not nearly random enough even at high randomness brush settings. The solution is to alter the size of your brush every once in a while. It makes a much more natural and random looking result. Another option is to alter your zoom because just like brush size it will help create a more random result.
E. Be careful with Randomness settings. Too much Randomness and you'll find multiple some instances crammed into virtually the same spot. This is bad because now you are planting three trees where only one should be planted, wasting memory. The instances should not stack up on top of one another if its avoidable.
F. Try to keep the Density setting modest as well in most cases, as this will allow more control.

NOTE: Keep the Task Manager open while you paint. Watch how the memory usage increases. Here is a fact, the true memory usage is 300-400% more than what is being displayed at the moment of painting. You will find that when you save and then reopen this scene that the actual memory used is about 350% more than it appeared to be before you saved the file. This is often why out of memory warnings occur far below the 1.5gb range.

Press ALT while painting to align the instances with the target normals. This is ideal for painting onto a sphere for example.

7. When you are happy, exit the Instancing Lab.

8. Now Bryce will stall temporarily, as it generates the wire frame for all those new instances. For this reason it is best to paint in shifts, and not paint everything at once as to do it all in a single action can overload the undo buffer.

NOTE: Bryce navigation gets very slow when there are a lot of instances in a scene. The reason is that Bryce does not have multiprocessor support for navigation, it only uses multiple cores for rendering. Due to the virtual geometry there is an increased processing demand during navigation but it is all ported through a single core, resulting in quite slow navigation. In some situations it can take 30 seconds or more for even simple navigation changes such as camera position or lab entry or exits to occur. For this reason it is wise to plan ahead and to test many situations to learn how to use the IL with greatest efficiency. This hopefully will change when Bryce is made 64 bit. Hoping!!!

I will describe the exact slowness you will experience. After a change is made, the mouse cursor will go into spinning mode for the first time. It will then stop spinning. but in a moment you observe the dial starts spinning again. After the second spin, you then notice that the Nano Preview is finally updating. Only after both dial spins are complete and the Nano has updated is the computer actually finished implementing the most recent change. If by accident you think the computer is ready for more changes after only the first dial spin, and you press on something it will delay the already delayed reaction. One must be quite patient indeed. It is best to save the instance painting until the end of the scene construction.

Saving also gets very slow. But reopening is relatively fast.

9. The resulting instances will be in a group called Unnamed. That group is Linked to the original target. So if you were painting onto the ground plane, the Unnamed group is linked to that ground plane. If you were to change the position of the ground plane the resulting instances would follow.

10. Next you must select Unnamed and ungroup it. It will take a few moments. It is essential to ungroup Unnamed.

11. Once ungrouped, then regroup them. This too will take a few moments.

12. In the Attributes for the new group, name the group and select "Show as Box." Remember that now the group is no longer linked to the Ground Plane. If you need it to be then reassign it. Exit Attributes.

13. You will see that the wire frame view is now greatly simplified, all of the detail has been replaced by a single box. Navigation speeds back up significantly, but there is still some degree of slowness.

In the next post I will discuss groups and other issues.

Post edited by Rashad Carter on

Comments

  • HoroHoro Posts: 10,069
    edited December 1969

    Thanks for that Rashad, I'm looking forward to it. This could have become a very nice contribution to the Bryce 3D Expo magazine http://www.daz3d.com/forums/discussion/3227/

  • edited December 1969

    Hi Rashad, so glad you posted this, I was trying to get my head around it when it first came out but that was when I had all sorts of problems with my computer, the upshot being that the mother board died, replaced that but the people I took it too, after saying the HDD was fine, somehow messed it up and really I have done nothing much with Bryce since (well, nothing I've felt like showing here anyway! LOL).

    It's so frustrating having all the files I was using unavailable anymore and I guess I've been lazy about starting everything over again from scratch and that all happened getting on for 18 months to 2 years ago now!

    Also looking at getting a new computer soon, not sure what specs. to put in though.

    Anyway, not working at the moment so will certainly have a good read and play around with instancing thanks to your tutorial here.

    Cheers,
    Jo.

  • Rashad CarterRashad Carter Posts: 1,798
    edited July 2012

    As mentioned above, there are a couple of issues related to instancing Primitives and Grouped objects.

    Memory:

    There are potential problems with memory. The IL (Instance Lab) does not truly "Instance" Grouped Objects nor Primitives, it merely "Replicates" them, potentially consuming large amounts of memory. There is an important distinction between a true instance and a mere duplicate/replicate. I will explain it as best I understand it.

    A true "Instance" is like a place holder. It simply tells the computer that there is an object of some sort placed at this location. The object at this location has no specific attributes. The difference is that when the rendering engine needs the geometry information for this instanced object, it is told to reference a "source" geometry that is stored in memory. This means that the geometry for many objects can be stored in memory only once and shared thousands of times, saving vast resources allowing much more geometric complexity within a scene.

    Mere Replications and Duplications are not as efficient as true Instances. A replication or a duplication stores the geometry of each copy as unique. If you place 100 duplications the geometry will be stored in memory 100 times consuming memory at an alarming rate. Again, with true instancing the geometry would be stored only once. In this case duplications and replications are actually new originals, related to the source only in that they once shared the same properties at the time of replication.

    Visually in wire frame view an Instance will be drawn with a "dotted line" approach, while true geometry such as duplications are represented with solid lines.


    For this reason memory will run out very quickly when painting copies of high poly complex grouped objects. In the case of individual primitives, they are generally low in polygons anyhow so they dont really need to be instanced in the way imported meshes do. Complex Boolean primitive based objects however might have some problems being instanced lots of times. it all depends on the situation.

    Solution to the Memory Problem:


    When it comes to imported meshes as groups, such as content imported from Daz Studio, there is a means to trick the Instance Lab into truly instancing these grouped objects. It turns out that one can make a duplicate of an Instance.

    What does that mean? First, lets demonstrate what happens if you do try to paint a grouped object directly from the IL without implementing the little trick.

    1. For this next lesson, instead of painting a single cube primitive as we did before, lets create a group comprised of two rounded cube meshes from the Additional Primitives listing. Stack one on top of the other and group them.

    2. Select the Ground Plane and Enter the Instance Lab via the letter "I." Select the group of rounded cubes as the source and paint a few copies onto the Ground Plane. Exit the IL.

    3. When you observe the wire frame you will see the new objects are drawn with a solid line. This proves the items were merely duplicated, not truly instanced. The memory used here is much more than we desire.

    4. Delete these false instances by selecting Unnamed and deleting it.

    5. Now we get to the trickery. Do the following.
    A. Select the original source group of rounded cubes. Ungroup them, but keep both parts selected. While still selected, go to the top left and Select Edit from the drop down menu.
    B. After you instance the selected items, group your newly instanced objects and name the group "Trickery."

    6. Select the ground plane, enter the IL and select "Trickery" as your source. Paint a few copies of trickery onto the ground plane then exit the IL.

    7. You will see that the resulting instances are indeed instances drawn with the dotted line. Hurray, now you are painting groups!

    The next post will deal with rotations of grouped objects.

    Rotation_13.jpg
    1680 x 1050 - 2M
    Rotation_12.jpg
    1680 x 1050 - 1M
    Rotation_11.jpg
    1680 x 1050 - 1M
    Rotation_10.jpg
    1680 x 1050 - 2M
    Post edited by Rashad Carter on
  • Rashad CarterRashad Carter Posts: 1,798
    edited July 2012

    Rotation:

    The other problem is that the IL does not rotate grouped objects. The solution is simply to make rotated instanced originals and paint them as individual items as below.

    [size=4]Lastly remember to press ALT while painting to align the instances with the vertex normals of the target. Notice how the trees are painted onto the sphere.




    Here are a few final tips to start you on your way:

    1. Use short names. Longer names are not properly displayed in the IL.

    2. Make sure to Save often and to save each file with a unique name. Don't copy over a good save with a bad one, then you will lose everything.

    FUN FUN

    rotation_6.jpg
    600 x 333 - 291K
    Rotation_5.jpg
    600 x 333 - 282K
    Rotation_4.jpg
    600 x 334 - 252K
    Post edited by Rashad Carter on
  • edited July 2012

    Hello Rashad


    Neither Random Rotation of Bryce Primitives nor Alignment with Normals works for me with Bryce 7.1 - see (1) below.These do not work on either of my 2 computers [win XP 64bit and vista 32bit] as expected. And i have followed your advice religiously. Otherwise yours is a fine tutorial and still very helpful [it is not your fault that the instancing lab does not work for me and by all indications, most Bruce users].


    I am certain Bryce 7.1 is VERY SERIOUSLY flawed. But still fun to use. Hopefully the IL will be fixed by version 8.


    Kind regards


    Peter


    P.S. (1) I have struggled with the IL for many months and done many experiments. In the beginning i did many things wrong. But now that i know all the ins and outs. The IL still does not work as expected. If you don't believe me i could send you some screen shots. The ALT key does absolutely nothing for the primitives - but it works for Trees. Primitives will rotate only once - you can't delete and try again! You must exit Bryce and start again. I export as OBJ and then import OBJ [ you need to do a Boolean conversion to do that] and then they work. I don't think there are many people out there who have spent hundreds of hours testing ONLY the IL as i have done!!!!!!! I think you should incorporate all these idiosyncracies in your tutorials so that people are not confused. It is extremely complicated and needs a chart which will shows all the combinations that work and an index to the various workarounds.

    Post edited by pbudarick_4a3d2ac478 on
  • Rashad CarterRashad Carter Posts: 1,798
    edited December 1969

    Horo,

    Great suggestion. I linked it up yesterday. It may require a little tweaking if people aren't getting it to work. We will see over the next day or so.

    JoAJ,

    I cant stop thinking about all the content you lost. That's a terrible thing! No doubt it is daunting the idea of starting over again. Sometimes it can be good to retrace your steps. For example, are there any particular pieces from your past that you always wanted to revisit? If so, now is a good time. You will likely be surprised how much more effectively you can achieve your goals now that you've had time to let it all sink in.

    Now in the way of content that you lost, I once sent you a lighting rig based on IBL, I assume you;ve probably lost all of that, no? Well either way, I have some new approaches for Bryce 7 that are more streamlined that involve IBL at times and also simple light domes. But before I bombard you again with stuff it can also be good for you to simply explore on your own for a bit. Let me know when you're ready for some stuff and I'll send it to you.



    Peter,
    Hmm, you really do seem to be having a devil of a time with the darned IL. Some parts of it work for you and other parts of it do not, it doesn't make sense. I cant think of what could be going wrong. I just tested again rotation of single objects and it works fine. Same with normals alignment. I'm at a total loss.

    It is also true that you are not the only person who has experienced this. I have a vague recollection of someone else stating they too had these same problems some time ago, all of it lost somewhere in the old forum. I really feel terrible that it doesn't operate properly for you. I have no ideas for a workaround

  • edited December 1969

    No Rashad, i like challenges like the flawed IL and i have figured much of it out. I will be submitting a tutorial this weekend. I am certainly not the only one who has experienced these problems. But fortunately they are consistent. One thing we can say about Bryce is that Bryce bugs are consistent and we can thus circumvent them. I think that is good news given all the knockers of Bryce and DAZ, Ee?. By the way in my tutorial i will of course give credit to a few things you have taught me about IL. Your IL tutorial is very good!!! I am doing it only to stop the complainers who will say this or that does not work - plus there are some nice things you can do with the IL which are not obvious.


    Peter

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

    Hello Rashad


    Neither Random Rotation of Bryce Primitives nor Alignment with Normals works for me with Bryce 7.1 - see (1) below.

    P.S. (1) I have struggled with the IL for many months and done many experiments. In the beginning i did many things wrong. But now that i know all the ins and outs. The IL still does not work as expected. If you don't believe me i could send you some screen shots. The ALT key does absolutely nothing for the primitives - but it works for Trees. Primitives will rotate only once - you can't delete and try again! You must exit Bryce and start again. I export as OBJ and then import OBJ [ you need to do a Boolean conversion to do that] and then they work. I don't think there are many people out there who have spent hundreds of hours testing ONLY the IL as i have done!!!!!!! I think you should incorporate all these idiosyncracies in your tutorials so that people are not confused. It is extremely complicated and needs a chart which will shows all the combinations that work and an index to the various workarounds.



    I must admit I am not experiencing these idiosyncrasies. Primitives rotate just fine and normals alignment works with all items both primitives and imported meshes.

    Are you by any chance using a Mac? I think Mac users experienced problems similar to those you are describing.

    I agree, we should combine our efforts for the good of the commune. I look forward to your solutions. Fun fun!
  • LordHardDrivenLordHardDriven Posts: 937
    edited December 1969

    Thank you very much for this Rashad, one of the things I got Bryce 7 pro for was the instancing lab because like you with you Alpine scene I sometimes really like to populate a scene pretty heavily. Before I used it though I started to here alot of frustration from friends and people online about how hard it was to work with and so I never looked into it. Now though I'm starting to think about trying some stuff again in the not too distant future and I have a feeling if this is up to your usual extremely high standards then I will find this tutorial very helpful and informative.

    I haven't really looked at it other then to skim over it but it does appear to be as thorough as I've come to expect from you and so I feel completely secure in passing along my praise for a job well done even before having really looked at it in depth. It never ceases to amaze and impress me how giving and helpful you guys from the steering committee are and I hope Daz really appreciates all you do because you guys are really in a big way responsible for keeping Bryce relevent.

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

    I am always glad to help! Peter aka KineMagik is developing a follow up tutorial on the things that don't quite work so well and means to overcome these problems. Keep an eye out for that thread as well. I do hope you enjoy using the IL and get the populations you need.

  • LordHardDrivenLordHardDriven Posts: 937
    edited December 1969

    Yeah I noticed a couple of what appears to be a multi thread tutorial by him. I was going to bypass it in favor of yours but now that it's had your endorsement as a followup to yours I'll be sure to check it out as well. Keep up the great work.

  • EManglEMangl Posts: 30
    edited December 1969

    hmm .. i only see "combo test" as BRUSH COMPONENT, nothing is working in the instancing lab - followed your advice step by step ...

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

    hmm .. i only see "combo test" as BRUSH COMPONENT, nothing is working in the instancing lab - followed your advice step by step ...


    Most likely you are still in the Painter Screen, when you first enter the IL it takes you to the Painter
    screen by default, which is unfortunate and misleading. If you notice from the image I uploaded the first thing you must do is go to the Brush Editor, that is where you find the Brush Component drop down. The truth is, I don't see why that combo test thing is even there on the Painter screen. It assumes that if you plan to paint a single item with no variation then it would save time, but all it really does is add confusion because a used will rarely want to paint with no variation of scale and rotation even if painting a single source object. Ah well.

    Report back if you have any more problems. Best of luck!
  • Rashad CarterRashad Carter Posts: 1,798
    edited December 1969

    Sorry erichmangl, I responded too soon. What you need to do is to create an object to copy before you enter the IL. I think the directions above instruct that you first create a cube or a sphere primitive. Then you should select the ground plane and press the letter I to enter the IL. When you then look at Brush Component you will see your sphere listed as an item that can be instanced onto the ground plane.

  • EManglEMangl Posts: 30
    edited December 1969

    i tried exactly what you say, step by step - but in the BRUSH EDITOR under BRUSH COMPONENT it only says "combo test", no matter which kind of object i added (cube, sphere, rocks etc.) .... i also tried other tutorials without any success ...

    i wrote also to support today because it sucks that i wasted much time for nothing - being programmer myself i hate it that way too many programs are released full of bugs

    erich

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

    Ah, this is very odd. I wonder if by some chance you are running Bryce 7 standard instead of Bryce 7 Pro. The IL is only fully functional in B7 pro, however the Lab probably can be entered even with the base version, just nothing inside of the IL would work. Make sure you are using a Pro serial number. Sounds silly, I know, but best to rule out the obvious. I've never seen this type of error before, so I feel confident we can overcome this.

    I do hope you don't feel your time is wasted too much. Once we get to the bottom of this the fun and joy will come back.

  • EManglEMangl Posts: 30
    edited December 1969

    downloaded the free version today from daz3d where it says BRYCE 7 PRO and they praise the instance lab ... installed it on my new pc, where there was no other version of bryce so far (my paid version 7 is on my old pc)

    bryce_7.1.0.109_win32 was the file i executed

    http://www.daz3d.com/products/bryce/bryce-what-is-bryce/

    http://www.daz3d.com/products/bryce/bryce-whats-new/

  • EManglEMangl Posts: 30
    edited December 1969

    aaaah! the problem has gone ....

    i stored my old serial number at HELP - ENTER SERIAL, now i entered the number i got with the zip file and the brush editor works as it should be

    sigh

  • Rashad CarterRashad Carter Posts: 1,798
    edited July 2012

    I wonder if it could be a corrupt download? I am curious if you experience this same problem on your old PC as well? The programs both paid and free downloads are all the same, privilege level is determined solely by the serial number that is entered. When the Pro version is fully enabled all of the new lights are available. It is sometimes best to close then reopen Bryce right after installing the Pro serial number to fully unlock all of the Pro features.

    If you are indeed certain the serial you are entering is Pro, then you should plug it into your old copy on the old pc to test if the IL fails on that system as well.


    Edit!
    Seems you figured it out just as I was about to send you through a few more hoops. Glad this is fixed up for you now. Fun fun!

    Post edited by Rashad Carter on
  • Good day

    I am having a problem getting the 'Instancing Lab' to work. I followed fully the instructions regarding creating a primative object and after creating a plane object. after I go to click on the 'I' in order to bring up the Instancing Lab, it opens but I am unable to select 'Brush' as it seems to be grayed out. Not sure of the problem. I hope you might have an idea why Thank you

  • akmerlowakmerlow Posts: 1,124

    Hi, is there a way to have collision detection in instancing lab? Or that function works only in "random replicate" (and i can't do random replicate to some certain objects for unknown reason so i try instalab route)?

  • By now, I'm sure all of us know that there will not be a more advanced version of Bryce. That said, I have been using Bryce 7.1 Pro for more than 12 years. It is one of my go to apps for making great looking backdrops that can be used in other 3D art apps, plus it is still able to produce great looking images in its own right. I have submitted a few of my Bryce images to contest galleries, and have actually won a few with those images. No, I don't participate in any of the DAZ competitions, but the ones I do compete in offer great prize packages that help increase my resources for my digital art. In recent years I won Project Dogwaffle Howler 12 Pro, Poser 11 Pro, Amberlight 2, and uncounted content packages: literally several thousand U.S. dollars worth of prizes! So for me, even though Bryce 7.1 Pro is only a 32 bit application, and admittedly has several flaws, it is still quite relevant to my artistic endeavors.

    As for the Instancing Lab, it can be used for instancing or replicating imported models, if you first save the model to the Create Library. The act of doing this converts the models from .obj to .obp, which will definitely help with doing replications of imported models. The Create Library is where you may go to find extra models that come with Bryce itself, or models you have saved to it. Saving a .br7 file just collects every object in your scene and saves it in the arrangement you setup for an image. It also allows a render to be paused and saved for later reloading and resuming of the render. As for the Create Library, I would not recommend saving whole scenes to it. If you did that, depending on how complex the scene is, loading it for a render would take way too long, and possibly crash the application.

    I'm only posting the above info as a help for those who wish to know. If you wish to learn more about Bryce, I recommend watch tutorials by David Brinnen on YouTube. over the years I have been using Bryce, he has been the biggest help to me in my learning to use Bryce. He has led me to hidden features where I was then able to learn many more things about those features on my own. His tutorials are very easy to follow! So check his channel on YouTube out, if you are serious about learning to use Bryce to its fullest potential. I will say that Bryce does have plenty of potential, even now!

  • HansmarHansmar Posts: 2,750

    akmerlow said:

    Hi, is there a way to have collision detection in instancing lab? Or that function works only in "random replicate" (and i can't do random replicate to some certain objects for unknown reason so i try instalab route)?

    As far as I know, there is no collision detection in the instancing lab. The fact that this does not exist leads to e.g. trees overlapping when instancing. What you can do is instance (e.g. on a terrain) and then move all instances into the sky and then land them down. Then they stop at the border of the object underneath (the border, not per se the object). But, be very careful: landing objects down, specifically substantial numbers of instances, takes a long, long, long time! Therefore, better land them in small groups. I tend to give all instances of the same object (group) a family colour and lock everything else, before I start dropping down small group by small group. I also use this to move small sets of instances, e.g. when I placed them behind a mountain or behind the camera (I am not very good at instancing). If you instance e.g. trees, you have to realise that the bottom of the lowest root will land on the terrain, so you will have to bring them down into the earth. Moving up and down large groups of objects does not take a lot of time.

    The fact that instances do not collide with other things can be used too. If you do not want your instances to land with the lowest part on top of a terrain, you can make a copy of that terrain slightly below the original and instance the objects on that terrain. Saves the need to move trees and stones and such into the earth (if you do it right).

  • Hansmar said:

    The fact that instances do not collide with other things can be used too. If you do not want your instances to land with the lowest part on top of a terrain, you can make a copy of that terrain slightly below the original and instance the objects on that terrain. Saves the need to move trees and stones and such into the earth (if you do it right).

    Interesting "trick". Thanks for sharing smiley 

  • HoroHoro Posts: 10,069

    Cool idea, Hansmar.

  • HansmarHansmar Posts: 2,750

    Past as Future, Horo: Thanks. That's what we are here for: to share (hopefully useful) ideas with each other. smiley

  • mermaid010mermaid010 Posts: 4,956

    Cool tip thanks Hansmar

Sign In or Register to comment.