Instancing Lab Tutorial Completed: Part 1 of 6

edited December 2012 in Bryce Discussion

Instancing Lab Tutorial Completed: Part 1 of 6

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Here is the completed "Instancing Lab" Tutorial which i posted some months ago in installments - a separate thread for each part. These were titled: "Tutorial on the idiosyncrasies of the Instancing laboratory".

I never completed the project in that form. I think i got as far as Part 4A ? The more i worked on it the more i discovered about the subject and also realized that all the parts should be posted in one thread. So what you have here is my previous work plus the final parts [not posted before].

I managed to complete this work for Christmas 2012 and now post it in one thread. In the process i took the opportunity to edit it to correct/improve some things and remove some material which was not to the point. I have not changed the style of my writing [which some may still find not so good]. I have also preserved the process of discovering things which i underwent as i worked on this project.

I hope you will find this work useful. It is my Christmas present to the Bryce Community if you like.

I would appreciate it if no one responds until i get all parts and images uploaded. There will be a lot of work for me to do to get it all up and in good condition for this forum. There are more then 200 images and i may need to edit this big post for a day or so to eliminate mistakes add capitalization and other refinements.

The Bryce "Instancing Lab” is certainly a powerful tool which multiplies the creative possibilities and workflow for the Bryce artist significantly, not only for eco-systems but also many other applications. However the Bryce "Instancing Lab” has many quirks which have upset and may continue to upset the artist for some time, particularly if the artist wants to work intuitively. These need to be properly explored and explained.

Actually the Bryce “Instancing Lab” [IL] should be called the Bryce Advanced Replication and Distribution Lab [ARDL] because not only is that its main function, but also because “instancing” is a new feature available as a global option and inherent in several different Bryce tools including the ARDL. I shall hereafter in this tutorial consistently refer to the Instancing Lab as the ARDL.

Before reading this, i advise a study the tutorials on the ARDL by Rashad Carter [if you have not already done so] [ http://www.daz3d.com/forums/discussion/3381/ ].

The ADL offers the possibility of so-called “True Instancing” provided that the master object to be distributed/replicated IS a “True Instance” in the first place, or can be transformed into one. Bryce does not allow all objects to be transformed into or replicated as “True Instances”! This confuses many people [including myself in the early stages some months ago]. We expect consistency but even though a program may be technically consistent, inconsistency in naming different aspects of it causes confusion.

But when i gave it some thought i realized that SOG objects [the 6 Bryce Primitives] have no polygons and therefore need no instances whereas polygonal objects benefit greatly from instances when they are replicated. This is because of the large number of point coordinates and polygons generated for each copy which would quickly exhaust the limited amount of memory Bryce is currently able to use.

My tutorial is divided into 6 sections. Sections 1 and 2 are intended to help all users to understand the basic bugs [flaws] and idiosyncrasies of the ARDL. Sections 3 and 4 explore “True Instancing” more deeply and Sections 5 and 6 will suggest some not so obvious cool things which can be done with the ARDL.

So let’s begin. Pictures are at the bottom of this post [ and all others] and i hope numbered in correct order.

[001] Create a template file you can reload repeatedly [Name it Template_01]. This should consist of a simple ground plane and a cube below the ground plane a bit under world center. The cube is invisible in the first render. But the cube should be given a material which will help to reveal orientation [in conjunction with proper lighting] when replicates are generated from it are rendered above the ground plane. Name the Cube “Master”. Please see Picture_01.

[002] Select the Cube and check if it is an object for which Bryce can create instances. Do this by selecting from the main menu: “Edit > Replicate Instance”. Please see Picture_02. You will find that the cube cannot be instanced [the option is greyed out]. This is true for all of the 6 Bryce Primitives. You already know the reason why this is so? The Bryce Primitives are not polygonal objects but instances of mathematical equations within the inner world of Bryce which are then subject to a Linear Transformation Matrix for each actual object you have placed in your scene.

[003] Select the ground plane and click on the “I” button [lowest button of the Ground Plane attributes stack]. Please see Picture_03. We are going to distribute Cubes on the ground plane. The ground plane will become the Parent and the Cubes will become the Children who will all end up linked to the Parent, however these Children will take on the material from the “master” cube and not from the Parent.

[004] The ARDL opens up. Deselect the little green instancing button [because you know the Bryce Cube cannot be instanced]. Next click on the “Brush editor” text [in black], which appears at the top of the Lab next to the word: “Painter”. Please see Picture_04.

[005] In the Brush Editor, under “Brush Parameters”-“Source”, select: “Master”. The default is “combo test“.

[006] Set all the parameters as shown in Picture_05. I have deliberately eliminated any random scaling because random rotation seems to be the issue most people have. Make sure to set the “proportion” to 100 [this can be done by clicking on the big disk to the left]. Please also read Rashad Carter’s excellent tutorial on this.

[007] Beware of clicking the little checkmark below the bottom left “Preview” window. It is intuitive to do so [because when you get back to the Painter Room of the lab it is what you MUST DO to get out and see your changes], but don’t do it now! Click instead on “Painter” at the top. Doing so will return you to the Painter Room, were you can actually create the replicated objects in various pattern groups.

[008] In the ARDL Painter Room, please set the parameters as shown. Please see Picture_06. For testing purposes we don’t want a lot of replication and we don’t want a randomized distribution. We want a distribution, which clearly indicates if random rotation is taking place or not. Notice that for "Brush parameters" "Master" is NO LONGER displayed. Instead it states "mixed brush".

[009] Click your brush once in the big window on the right. At this stage we are not into artistic painting but only testing. For advice about artistic painting please refer to the excellent tutorials provided by Rashad Carter. Please see Picture_07.

[010] Now, the scene appears. We render and we see that the cubes have been randomly rotated. Please see Picture_08. That is what we wanted.

[011] Being creatively inspired we want to change the distribution of the cubes, so we delete what we have done by selecting all the replicated cubes. They are a single group [probably "Group 1"] constituted of many nameless components. Then delete that group. Please see Picture_09. We then select the ground plane again and click on the “I” button as before in order to enter the ARDL.

[012] But in our creative zeal we forget something. We forget to enter the Brush Room. Because the Painter Room remembers all our parameters [including the object – “master” - to be replicated] we think that the Brush Room also remembers. That is intuitive, but Bryce does not currently work like that. We perform an edit in the Painter Room to try a different distribution. We exit as before and the render shows that we have indeed got a different pattern, but the cubes are no longer randomly rotated! Please see Picture_10. We go back to the ARDL and check also in the Brush Room if the rotation is still set at 0 to 360 and find that it is. Please see Picture_11. That is frustrating!

[013] The lesson learned is this: It is imperative that for every edit of a distribution, when we enter the ADL we must first enter the Brush Editor Room and select the “Source” again [the parameters for random scale and random rotation are remembered and we don’t have to set those again unless we want to change them!]. It took me a long time to figure that out because i assumed that Bryce stored the “Source” parameters like it does all the Brush parameters in the ADL. And no one has ever mentioned this idiosyncrasy. If we don’t do this, then the object to be replicated and distributed no longer rotates or scales randomly - even though you can edit that distribution repeatedly as much as you like.

So the cardinal rule for EVERY ARDL edit is: Always enter the Brush Editor first and select the “Source” [or multiple sources], and only then worry about the distribution in the Painter Room!

Now we move on to a more serious problem and its solution.

[014] I want some rectangular slabs to be rotated randomly. They are made of cube primitives and only involve Linear Transformations [squash and stretch]. Please see Picture_12 which shows the master slab.

[015] After using the ARDL in the proper manner [as instructed above], you can see the result. It is very unusual as shown by Picture_13 and Picture_14. Apparently even though the master is only a deformed cube, the ARDL can’t handle it. The multiplicated objects seem to skewed or twisted. They don't actually rotate as a whole.

[016] Now again the same test is applied to a Skewed Pyramid primitive. Please see Picture_15. Again the ARDL has trouble with it. The Skewed Pyramid was especially chosen because it will indicate any rotation [or the lack of it] most vividly [because of the direction in which the apex points]. Fact is, the ARDL can NOT randomly rotate any Bryce primitive which has a Linear Transformation applied to it! Is that a bug? Well that does not worry me too much, but i have not noticed anyone mentioning it before!

[017] What is the workaround? Easy! Simply convert to OBJ and import OBJ. Then you can also have True Instancing. But the beginner may ask: "How is that done?".

Well, here is one possibility:

[018] Make a Skewed Pyramid – it does not matter what the proportions are, so long as the apex points strongly in one direction. Then make the base level with the ground plane – that procedure does not have to be perfect. We are not doing Bryce-Origami but just demonstrating some facts. So i assume you now have made your test object which will look something like Picture_16.

[019] Duplicate the object and make the duplicate slightly larger. Set the outer copy to “intersect” attribute and the inner object to “positive” attribute. Group and then click the little “C” button of the attributes stack. Please see Picture_17. Export as OBJ to a folder were you can find it again. Delete the mess Bryce has made and import the OBJ you have just created. You notice it is a nice clean mesh composed of 6 triangular polygons. You can now put a material on it and if you like store it in your User Object Library for future use. You can do this with all NEW Bryce primitives you may create in your lifetime, resulting in perhaps millions of new primitives and complex models, which are all Mesh Objects [same as any other imported model].

[020] Select your Mesh Object and check if it is an object for which Bryce can create instances. Please see Picture_18. Wow! We find that the transformed object CAN be instanced [the option is NOT greyed out]. That also means it is a single mesh and not a group. More about that in Part 2.

[021] Now we go back into the ARDL [using our simple ground plane] and making sure that the instancing button is on [It is on by default unless you have turned it off within a session] and following the procedure which Rashad gas given in detail, you will find, that now you have instances as well as random rotation. The instanced objects are shown as dotted-line wireframes . Please see Picture_19.

[022] Also please have a look at Picture_20. Something is not right! Ee? “True Instancing” in the ADL is at present unstable . It will improve in the future to be sure.

In the next sections of this tutorial i will delve deeper into the strange world of instancing, distribution and look into some more serious issues and how to overcome them.

Picture_17_20.jpg
800 x 800 - 357K
Picture_13_16.jpg
800 x 800 - 240K
Picture_09_12.jpg
800 x 800 - 181K
Picture_05_08.jpg
800 x 800 - 181K
Picture_01_04.jpg
800 x 800 - 174K
Post edited by pbudarick_4a3d2ac478 on
«1

Comments

  • edited December 2012

    Instancing Lab Tutorial Completed: Part 2 of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    First we are going to confirm that the ARDL can NOT randomly rotate the 6 Bryce CSG Primitives.

    [023] Please have a look at Picture_21. Here i have prepared the 6 Primitives with various transformations. They are all very simple and no Boolean Set Operations were used. I am going to use a "Mixed Brush" in the ARDL and we will see if any of them rotate properly. You know by now what to do in the ARDL. What is new here is that we must select all 6 of the objects.

    [024] Please have a look at Picture_22 and Picture_23. We have selected all 6 objects and they all have random rotation applied but no random scaling.

    [025] The render can be seen in Picture_24. No rotation is evident. We see more or less distortion. The Blue Cones, Silver Discs and Red Lenses have not even been distorted in any way - let alone rotated! I did some more tests on the Blue Cones, Silver Discs and Red Lenses each in solo mode. Each of them alone did not respond either.

    [026] We are now going to convert these 6 objects into mesh objects and then repeat what we did above. You know how to do this from Part 1 of this tutorial ( see paragraphs [019] to [021] ). The result is shown in Picture_25. So we have confirmed what we want to do can be achieved with mesh objects. That is as expected. But it is always good to test something as exhaustively as possible.

    [027] I got the idea that i might be able to get around some of these problems if i used mesh bounding boxes for distribution [as a source for the ARDL] and then later [after making them individual objects] loading them with real objects using Copy and Paste Matrix. That is practical only for up to hundred and preferably less objects. If you need thousands, it is impractical. But i thought that for a small number of objects i would give it a try. I thought it would be useful for sticking a small number of objects on a complex surface aligned with the normals. Unfortunately it did not work as expected. Below i show you what the problem is and what the consequences are.

    [028] First we need to convert a Bryce cube into a mesh object. Perhaps you will find that easy to do by now [more likely you have done it a thousand times]. To avoid having to repeat a boring procedure, please save everything you have done in the User Object Library [or in a directory called "OBJ Files"]. Once you have that polygonal cube it will behave like any polygonal model. We are going to use it to make the Place-Holder Object for User Controlled Instancing [UCI].

    [029] Next we need to make the object to be "loaded" [the one which will have the matrix of the destination applied to it]. I have chosen something simple. Two cones as shown in Picture_26. We will make two versions [1] a Bryce-ONLY CSG version and [2] a version converted into a Surface Mesh. We don't need to use any BSOps for [1] but we will need them for [2] in order to get an object free of embedded polygons which waste memory. The only difference between versions [1] and [2] is that version [1] is perfectly smooth and has no polygons and version [2] is constituted of polygons with a resolution dependent on the wireframe resolution you have selected when you converted the object from CSG to Surface Mesh. I won't go into all that now because it is quite technical and would take us too far from the current investigation. Obviously the Master Object from which you can load many instances into any matrix you create randomly or deliberately, can be a very complicated model. Here we use something very simple to test the principle. You will note that i have used a transparent material for the Place-Holder Object. In a big scene you could make such objects invisible [non-rendering] or you could just delete them at the end.

    [030] Now that we have the Place-Holder Object to be replicated and distributed and also the two Master Objects to be "loaded", we can proceed with the experiment. Please see Picture_27 for an image of the objects. The final result should be the transformed object designated by the the box. Note how the Place-Holder Object has been scaled to force a Linear Transformation of the Master Object. The exact dimensions are not so important for this experiment. Make something similar.

    [031] First we must test a single operation of Copy Matrix and Paste Matrix. Make a copy of the Place-Holder Object and a copy of the Master Object. Rotate the copy of the Place-Holder Object randomly so that all 3 axis are non-orthogonal. It should be rotated such that it would be near impossible for anyone to place a copy of the Master Object inside it with perfect alignment by hand and eye alone.

    [032] The following is a standard operation used in Bryce-ONLY modelling [quite a lot] and you may want to learn it so thet you can do it in a second or so without thinking [without having to select Copy Matrix and Paste Matrix from the menu].

    (Step 1) Select the copy of the Place-Holder Object and press ALT + C

    (Step 2) Select the copy of the Master Object and press ALT + V

    The Master Object has snapped to the matrix of the Place-Holder Object. Do this for versions (1) and (2) of the Master Object. You will notice that both the CSG version and the mesh version behave the same. Please see Picture_28.

    Having established the basic principle, now comes the fun part of this tutorial and the eventual disappointment.

    [033] Make a copy of the Place-Holder Object sitting on the ground plane. Using the Multi-Replicate procedure, create something similar to that shown in Picture_29. The exact angles and distances don't matter. Make in total 5 objects. Then make 5 copies of the Master Object. Then perform the Copy Matrix and Paste Matrix operation [as in [032] above] on each of the 5 sets. Please see Picture_30 for the end result you should get. You can do it on both versions of the Master Object. The CSG version and the mesh version both work fine! I know this is dumb because we could have just used Multi-replicate on a transformed Master Object. But my madness will become clear very soon.

    [034] Make a copy of the Place-Holder Object below the ground plane. Snap to World Center and then nudge it down. Enter the ADL using the by now well understood procedure but uncheck "Instances". Create a Distribution similar to the one shown in Picture_31. We see that the Place-Holder Objects have all been randomly rotated. You should repeat this later as instances also. It will also work fine.

    [035] Select the Group of Distributed Copies [or Instances] and click on the "U" button. Please see Picture_32. All the Place-Holder Objects are now independent. If you move the ground plane, they will not follow anymore.

    [036] Now make some copies of the Master Object and progressively "load" them into some of the Place-Holder Objects using copy / paste Matrix. You will find some strange results - "there is something wrong with the matrix". Please see Picture_33. Why can't we "load" them as we did after using Multi-Replicate? Who knows what is wrong? It has nothing to do with the Master Object being CSG or a mesh, grouped or un-grouped. The answer is this: The ARDL creates a flawed matrix for the replicated or instanced objects such that the Paste Matrix operation always pastes into the World Space Bounding Box of the object. That also explains some of the strange distortions i demonstrated when i started Part 2 of my tutorial. Please compare with Picture_30 above.

    [037] That means we can't use the UCI technique with the ARDL as we can with Multi-Replicate [and that goes for linked objects as well]. That limitation has NOTHING to do with whether or not one is using Bryce Primitives or imported meshes. If you tried to exchange imported meshes at various instances with other imported meshes you would get the same distortions you get with Bryce Primitives. Please look at Picture_34 which shows a very clear example of this distortion. Picture_35 shows how it should look. I still have not figured out exactly how the Multi-Replicated mesh objects are different from the same objects produced by the ARDL. But for now i want to keep this tutorial short and to the point.

    [038] However there is some good news as well. The ARDL can handle a very large number of trees created in the Tree Lab. All of these trees can be instances. I have not researched how many trees one can have in a scene and report on this later. Please see Picture_36. You can see that the trees are randomly rotated as well! If you make fancy trees by grouping parts made in the Tree Lab then these groups are not rotated. However since these kinds of special trees are usually in the foreground, you can rotate them by hand to get the best composition [you would not want the computer to randomly rotate the special trees you have made - or would you?]

    To conclude, i show a picture [Picture_37] of a recent experiment. I took Rashads advice and pressed the ALT key when painting some Mesh Objects onto a sphere. It worked fine. The object was made from MetaBalls then scaled 200 percent at world center. The hull was then converted into a polygonal mesh which took a long time. Scaling up before conversion increases the resolution of the mesh dramatically.

    There are two things to keep in mind though. Don't scale up too much especially if your object is very complex else Bryce will crash and the other is: ALWAYS scale up and convert at world center. If you raise the object to 400 or more BU along the Y axis and scale and convert, then Bryce most likely will crash [will always crash at 500 BU even without scaling].

    My master object consisted of 2048 MetaBalls. I used compound Multi-Replicate operations to create a relatively simple form. After conversion at X2 it was 268,864 polygons. In the ARDL i created 240 instances on a hemisphere. Bryce told me that i had 64 million, 527 thousand and 360 polygons! Since Bryce did not crash and i could navigate without too much bother [it helps to display everything as bounding boxes] i take it that all those millions of polygons are virtual and that Bryce 7.1 actually does do "True Instancing"! The file also opens and saves quite quickly. The file size is: 18,513 KB [150,488 KB RAM when one works on it or renders] I am using a quad core 32-bit computer with 4GB of RAM and i also use LAA.

    Picture_37.jpg
    800 x 800 - 751K
    Pictures_33_36.jpg
    800 x 800 - 189K
    Pictures_29_32.jpg
    800 x 800 - 153K
    Pictures_25_28.jpg
    800 x 800 - 195K
    Pictures_21_24.jpg
    800 x 800 - 187K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 3 of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    I have made so many discoveries about the ARDL that it might even take more then 6 Parts of this tutorial to describe most of what i think would be relevant for Brycers, particularly when it comes to nested applications [Terrains on Terrains on Terrains on Terrains......]. The nested applications allow us to create the most immensely complex forms - such as building our own vegetation elements and Trees from scratch [particularly by using MetaBalls with the ARDL]. After having now spent months exploring the ARDL i can say with confidence that the ADRL allows us to create immensely complex objects and scenes which gives Bryce a new level of power we Brycers never had before. The last picture of this part of the tutorial [Picture_54] is a useful table. I have produced it in in Freehand 11. It shows some of the combinations of Surface and Master Objects and some of the results to be expected [based ion research i have done thus far]. But before we get there we need to recap on a few things.

    [039] First let us look at replication and distribution of Primitives on Primitives. Set up the Brush as shown in Picture_38 so as to make a cross [use 90 degree divergence angle to accomplish this]. While you are working through this ARDL will remember this Brush setup. A CSG sphere ["Primitive"] is created, enlarged and selected as the surface object. We will replicate and distribute various other Primitives on it. The CSG Primitives can not be made into instances since they are already instances - but of the native Bryce mathematical kind. Make a cube and send it to world center. Then hide it under the ground plane. Make the cube quite small and elongate it so it becomes a vertical bar. That is our Master Object. Be sure to enter the Brush editor and select Cube 1 and follow all the advice of the previous parts 1 and 2 of this tutorial. Here we want random rotation selected [0 to 360 degrees]. When you paint with the brush, hold down the ALT-key which will make all the bars perpendicular to the hemisphere surface [aligned to the "normals"]. Please see Picture_39. Everything has worked as expected. The square-cross-section rods have randomly rotated. If we had used cones or cylinders we would not notice that they have rotated [please see Picture_41].

    [040] Now delete the group of copies that were created [they are not instances]. Change the Master Object into a vertical slab so that the profile in the X-Z-plane is no longer square but a rectangle. Do the same as you did in [039] above. What is the result? Please have a look at Picture_40. As we learned from previous parts of this tutorial the vertical slabs are distorted. They have been rotated inside the world space bounding box. If we want then to rotate properly we have to convert the Master Object into a Mesh Object. Similar things happen with the other primitives if they have been transformed in the X-Z-plane.

    [041] Now let us look at replication and distribution of primitives on Terrains [Displacement Map Objects]. Make a nice smooth conical mountain similar to Picture_42. The exact shape does not matter. You will notice that our Surface Object like the Primitives before can not be instanced. The option to convert to instance under the Edit drop down menu is greyed out when Terrains are selected. That is because a Terrain is not a Mesh Object - it is a Procedural Object [One reason you can make bigger and more highly detailed Terrains in Bryce than most other high end 3D/4D programs!] But we can put instances or copies of our Master Object on it. So we will try some pyramids. We want random scaling and random rotation set up. Picture_43 shows as the result. We get the well known rotation problem, but the scaling has randomly changed. Next we will skew our pyramid and make it quite long. Important is to use "Unrotate" after skewing at 45 degrees which makes the base level with X-Z-plane. Now again we replicate and find that the bases of the skewed pyramids are all parallel to the sloping surface. Please study Picture_44 carefully. The pyramids have rotated inside the sloping bounding box. That is probably partly because after skewing their bases are no longer perfectly square. Finally we convert the skewed pyramid Master Object into mesh objects. Now we get them to rotate properly on the mountain slope and also we have True Instances. Please see Picture_45.

    [042] Suppose we want to coat a number of overlapping Terrains with a layer of Objects. If we group the Terrains we can't enter the ARDL [This is true for all grouped Objects]. Please see Picture_46. We must ungroup and then select both Terrains and enter the ARDL. So we paint some spheres using the same old cross-shape brush. Picture_47 shows the result. Some of our Red Balls have gone missing! To find out what has happened please have a look at Picture_48. When two Terrain surfaces overlap only one is chosen to be completely coated with copies or instances of our Master Object. What we must do is either tile two or more Terrains or make them into one Terrain. Picture_49 shows two Terrains tiled together. There is no overlap and i have made the joint obvious so you can see it. Here all the Spheres are distributed as we wanted.

    [043] Then i tried an experiment. Two Terrains were joined together using BSO and then converted to a Mesh Object. This does not give good results! Please have a look at Picture_50. The Red Balls are now inside the Terrain. This happened probably because the normals are reversed.[044] Last we shall look at Mesh Objects replicated and distributed on Primitives.

    We can create Mesh versions of the Bryce CSG objects very easily without using any other software. I have already described this method in former parts of this tutorial. It is worth repeating that the mesh resolution [subdivision] you get in the transformed object will be that of the selected wireframe display resolution when you do the BSOp. Picture_51 shows the Torus converted and you can see i used a wireframe resolution of 16. Normally if the objects are to be very smooth you would use the highest resolution [128] but sometimes, if you want a faceted effect, you can choose one of the lowest resolutions. For example if you want an octagonal pyramid or an octagonal prism then you could use the lowest wireframe display resolution of 8 [for selected objects] and apply it to the cone and cylinder respectively. After import turn the smoothing off [click on the "E" button > "Edit Mesh" > "Unsmooth"].

    [045] Now we will Replicate and Distribute our Faceted Torus on a large perfect Bryce CSG Torus. Please see Picture_52 which shows the settup in the ARDL. In this case we can have True Instances. We could have many thousands of objects embeded and Bryce handles it just fine.

    To get the objects embedded we have to raise the origin point in the master object by a certain amount. We can get any effect or distribution desired. I will cover some the more interesting matters in Parts 4 to 6 of this tutorial [like planting Fruits on Trees in a realistic manner]. In Picture_53 you can see one of the results. You can paint both sides by turning the Surface Object over [The last used Brush Settings will be remembered].

    [046] In other future parts of the tutorial i will describe the more interesting tips and procedures which evolved out of all this research. Now i must conclude with the Table. Please see Table_01. In the future as a discover more i will update it. For now there is sufficient information in it and plenty of space for more.

    I feel i should explain a bit what it all means.

    (1) On the left are two columns for the "Surface Object Type". The "Surface Object Type" is the object on which another object [or objects - using a Mixed Brush] will be Replicated and Distributed and if possible True Instances created in the process.

    In the second column the grey rectangle with the letter "I" in it has either "NO" or "YES" behind it. That means the Surface Object can itself be made into an instance or not [Please check under your Bryce Edit Menu when the object is selected - is the option greyed out?]. Similarly the Yellow rectangle with the letters "ARDL" in it indicates if the "I" button will appear at the bottom of the attributes stack of this object when selected. If it does not, then i indicate this with "NO". In most cases it appears except for groups [these require special treatment].

    (2) On the right are many columns for the "Master Object Type". The "Master Object Type" is the Object which will be prepared for replication by you and then used in that process. It is best hidden somewhere but not deleted.

    In the Matrix were Columns and Rows intersect there are white boxes with up to 6 little colored squares in them. To make them easier to identify some of the intersect-boxes are yellow [ indicated by (4) in the first row ]. These are the combinations which create instances automatically [If you don't turn off the "Instances" green radio button in the ARDL]. They are the ones we prefer if we are building mega scenes. At the top there is a legend to the left and right of the Heading which tells you what the little colored squares mean. The grey squares with the letter "I" in them mean that True Instances can be created. They are found in all the yellow fields always at the top right.

    The other colored squares mean different things, you can discover for yourself.

    (3) When Bryce CSG Primitives are transformed in X and Z so that they no longer have a square top profile bounding box [ relative to the ARDL which always works from the top view down the Y-axis ] then they behave in a strange way when turning randomly which we are by now familiar with. If we don't want this we must avoid those combinations. You should know that the primitives behave differently according to type. Cubes, Pyramids, Cylinders and Toroids will rotate in a distorted way. Cones and Spheres will not rotate at all. The red square with the letter "D" in it, warn about this. You should note that these Objects can be randomly scaled [as normal] which is indicated by the green square with the letter "S" in it.

    (5) Unconverted Grouped MetaBalls and all Grouped objects in general will not allow entry into the ARDL. To overcome this select the individual objects that comprise the group. Alternatively select each sub object in the group and work on it in the ARDL. Then select the next one and so on. I will have more to say about this in future parts of this tutorial.

    (6) Grouped Mesh Objects will neither randomly scale nor randomly rotate. They will however, like all objects, allign with normals [ Little blue squares with the letter "A" in them ].

    There are many more interesting things revealed by this Table. The next parts of this tutorial more interesting because i intend to tackle specific projects. These although not too complicated will be less boring than the stuff you had to suffer from me up till now.

    Table_01.jpg
    2000 x 2000 - 1M
    Picture_50_53.jpg
    800 x 800 - 235K
    Picture_46_49.jpg
    800 x 800 - 251K
    Picture_42_45.jpg
    800 x 800 - 165K
    Picture_38_41.jpg
    800 x 800 - 209K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 4A of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    [047] Bryce MegaScenes
    .
    Bryce MegaScenes are scenes which are so large that they become difficult or impossible to handle without special measures. I believe the ARDL [called the "Instancing Lab" by DAZ and most Bryce users] was developed for Bryce to allow us to better handle MegaScenes. Most MegaScenes require very many Terrains, Trees, Stones and other things to realize realistic worlds and ecosystems. That is i believe what most Brycers wanted and the tool is perfect for that purpose [ in my view - but i know there are bugs and memory issues ]. Before the advent of the ARDL, it was impossible to create those MegaScenes, except by using various tricks among which the use of Terrain Spikes for forests of coniferous trees being perhaps the most well know. Please see Picture_55 which shows an old scene i made many years ago where i indulge in this trick.

    It is ironical that for over a decade Bryce could not handle MegaScenes even though the software was promoted as the most intuitive and powerful tool to create our own vast and highly detailed worlds and then be able to navigate in them and render an infinite number of views with all kinds of atmospheric conditions, different camera angles, locations of sun, and so on and on. In reality that was never possible [at least not in a perfect physical and optical sense] and from a practical standpoint is still not possible today without special measures which have never been formalized, collected and published [ and it should be noted that no other 3D/4D program can do the ideal complete world either - so my statement should not be seen as a Bryce negative].

    Great Bryce Artists who produce realistic scenes like David Brinnen and others, know this and therefore "cheat" by setting up scenes to look good from a limited number of views [many even resort to PhotoShop work so that their work ends up as hundreds of layers of matt paintings based on Bryce content - Michael Frank is perhaps the most famous exponent of this technique]. These magnificent works are not snapshots of a virtual Bryce World one could explore from any angle or distance. They impress due to the skill of the artist in overcoming the limitations of the software and superb stage management.

    Therefore to create a true virtual 3D/4D world we need to develop new techniques. Fortunately with "True Instancing" and the ARDL ["IL" in popular Brycean perlance] as well as few other new tools, Bryce now brings us very close to realizing the elusive dream of creating true environments/ecosystems into which we can enter and take camera shots [both still and animation] in any direction without too many artificial settups. However in any advanced work - especially animation - we are always going to have to revert to age-old cinematographic tricks such as Compositing Plates [and many other tricks Brycers have employed for over a decade] to get our work done. So i am by no means suggesting we should devote all our energy toward any extremist/purist approach to the technical issues we face. I am only suggesting we can NOW AT LAST get much closer to a Bryce myth which was promoted when we first got inspired by the most magical new software that ever appeared.

    There are 3 Work Stages we must understand and manage properly: (1) Creation and Editing, (2) Rendering, (3) Saving and Loading. We all know that Great Bryce Artists have often attempted to created MegaScenes that could be rendered but not saved and/or which were so huge that each editing step took many hours.

    To get around all these problems and to allow us to make better and bigger scenes with more potential for universal camera angles [without needing to fiddle too much] we need to plan, plan, plan, plan, PLAN AHEAD! In this part of the tutorial and in the 2 following parts we will keep that in mind.

    [048] First an experimental MegaScene with no artistic merit. I created it to get some data and to learn how to proceed in the future, with the intent to create some MegaScenes hopefully with more artistic merit. First i needed a BIG BRYCE TREE. Not big in size! No i mean so big that it can't be edited without knowing some tricks. It is found it in the Object Library [Under Create -> Objects -> Bryce Trees] as "Flowering Shrub 1". Please see Picture_56. The size is 380,733 Polygons. I presume this count refers to the purple blossoms [actually small leaves] since the rest of it is made of MetaBalls. If you want to edit this Tree to make it smaller [smaller in the sense of computer demands] and also look nicer, then you should set "Segments" from 14 to 9 and "Branches per Segment" from 17 to 10 [in that order else Bryce will crash]. Please see Picture_57. Then you can safely change the type, number and distribution of leaves, otherwise Bryce will crash because there are too many branches. Picture_58 shows such a tree and i made the blossom material [actually leaves] automotive purple metal which i predicted would render better later in the environment i had in mind.

    A large Terrain was then created with Rolling Hills. The Displacement Map Terrain has a resolution of 2048 x 2048, is 8,388,608 "Polygons" and the BU size is: X and Z = 8192.04 and Y = 293.519. I fine tuned the camera position and angle, sky and haze, etc. etc., at this point because it would become impossible to do so later. A suitable material was applied to the terrain and then using the ARDL i added about 5000 True Instances of the "Flowering Shrub 1". Please see Picture_59. I managed to add only 4913. That happened because some fell off the four corners of the Terrain. I used 5 brushes worth of 1000. It was rather slow to do and i was patient and did not want to induce a crash. It is important to understand that when the Windows Task Manager informs you: "Bryce is not responding" it does not mean Bryce is dead or has crashed. DON'T CLICK ON ANYTHING AND PLEASE WAIT.

    IMPORTANT NOTE. Do not move the mouse before, during and just after you click, else you will get many instances on top of each other. This takes some practice and you may have to adjust the responsiveness of the mouse [you may also develop some technique to keep your hand steady]. Even the slightest movement can create multiple instances. If randomization for rotation and scale are turned off, then you won't even know that they are there and you will end up with a file with too many useless instances!

    When all the Trees were applied i confirmed that they were true instances [dotted wireframe lines]. Next i had to suffer 10 minutes per editing step! That included changing to bounding box display.

    I could render, save and load the file. But editing was a real pain. I used the Windows Task Manager to determine when Bryce had finished each edit step. Bryce told me that i had 1,870,541,229 polygons. Please see Picture_60 for a larger view of this scene [this still only shows a small area and it took me an hour to be able to zoom out !!!] It was the largest file i had ever been able to create and use reliably. I repeatedly saved and loaded and edited this file and many variants of it for about a week. Perfectly stable and no crash! When i reloaded and changed the render format to square [800 x 800] it took nearly an hour before i could render it. The render was however very fast. So i understand that it is VERY SLOW to manage such files [even when they render quickly] and it is very important to plan ahead and set up everything that can be set up in advance.

    [049] The next Project in this tutorial is to create A Fruit BearingTree. That is an excuse to further explore the Tree Lab [TL] and the ARDL [IL]. The Tree Lab is "flawed" [?] in that you can't create any New Tree Form within it using the option allegedly provided for that purpose: "Shape". Exceptions: You can enter the TL with a New Prototype [see procedure [050] below] or you can enter with the Default Tree and then settup ALL THE PARAMETERS from scratch !!!. A lot of work !!!. If you enter the TL with a Default Tree and select a new Tree Form [ referred to as "Shape" in the TL - which is wrong terminology ] you won't get a New Tree Form but a misshapen variant of the Default Tree [more or less pruned or deformed]. Why is that? Well when you select a new "Tree Shape", the default parameters suitable for that "Tree Shape" are NOT also loaded. Instead the parameters remain as those for the the default tree! That is probably not a bug, but is an issue that has been with Bryce since the TL first appeared. If you don't want to set ALL THE PARAMETERS from scratch [or you don't know what they all do or how they interact], Then do the following:

    [050] Open the Create Pallette; Hold down the "Windows Key" + ALT and click on the Little Tree Object. Select from one of the files provided [they are .BTO Files - Bryce Tree Objects]. Please see Picture_61.

    It takes some knowledge with these files before you know which one is best suited for the end result you have in mind [there are a large number of them !!!]. Most of these trees are much better than the trees you can create from the default tree. Having selected a .BTO file enter the Tree Lab. You will see that the parameters have changed now and you have a good template which you can edit to make your own unique tree. Now you can even use the Different Tree "Shape" options, and provided that the "Shape" you select is related to the master tree [species ?] selected when you entered the Tree Lab, you most likely will get some nice variations [for example conifers] without needing to do much work. Please see Picture_62 for an interesting Alien or Prehistoric Tree with curved branches. Picture_63 shows a Palm Tree and Picture_64 a reasonably good looking Pine Tree [ suitable for relatively close to mid distance coniferous forest creation ]. You can make much better trees than the 3 examples i have shown you but this tutorial is not the place to go deeply into the Tree Lab.

    [051] However for this tutorial [A Fruit-bearing Tree] we are going to Build the Tree from scratch !!!. The default tree will do for that purpose because we are going to strip it of all leaves and branches. Please see Picture_65 which shows the parameter settings you must use. Gravity setting is high and needs to be because this tree will be loaded with heavy tropical fruit! Picture_66 shows a render of the resulting trunk/branch structure. If you are an expert at this then you can do much better than i did. I am not good at making trees in Bryce.

    [052] Next we must make a piece of Fruit. For that kind of object MetaBalls [MB] are best. I did not aim for realism because this is only a technical project to give you some basic guidelines. You can make much better fruit than i make here. But i did not want to use simple Bryce Spheres. Another reason was, that i could convert MB Hull Models into meshes within Bryce and those can then be True Instances [which means i can have as many fruit as a i want and don't have to worry about memory]. Picture_67 Shows the MB arrangement and also the little "C" Button on the Attributes Stack you must click to convert the Hull into a Mesh. But we must do something else first.

    [053] MBs are instances of a master within Bryce and each instance of this Master has a Matrix. Like all Bryce Native Instances they can't be additionally instanced like Meshes can and therefore they can't be randomly rotated in the ARDL. MBs however don't take up much memory. I have files with 8000 of them used to create a single object !!!. The master is a procedural description of the influence-gradient-field of single point which takes the matrix into account - therefore we can create not only with balls but also lenses and spindles and additionally use negative instances of balls, lenses and spindles. That is real cool !!! But unfortunately we can't control the exponent so we must use many MBs to create some forms. When Bryce renders MBs it creates a perfectly smooth surface and also blends materials. To solve the Hull, Bryce makes many calculations so an object made of 8000 MBs takes a very long time to render even before Bryce takes render-time-consuming materials into account. The Hull can be converted into a Mesh. The MB system uses an invisible cubic grid in world space. There is no control which allows you to change the size of this grid. But there is a work-around which can be used to create high resolution objects. Group the MB object of the Fruit and scale it up 800 percent. Be sure to do this at World Center else Bryce may crash. We need a high resolution because of the spindle used to create the stem of the Fruit. The conversion takes a long time so please be patient. It can take an hour or more with very large MB objects. The mesh produced is not very good because it uses a primitive algorithm which has been around in computer graphics programming for many decades. The mesh is not optimized [and if it was, Bryce would take even longer calculating the object] and therefore you need to scale up your MB Object very much if you want to have a smooth surface. But beware, If you scale it up too much and your object has very many MBs and cavities - is very complex - Bryce will crash. 800% seems to work well for this Piece of Fruit which is not a complex object.

    [054] Picture_68 shows the Mesh object after conversion of the Hull. If we had not scaled it up by 800% it would be an unusable mess. Now we need to scale it down to a suitable size and apply a suitable material. Mine ended up too big [ i should have scaled it smaller ] and i did not bother putting a good Material on it. Picture_69 shows the piece of Fruit i made ready for instancing on the Tree. You will notice that i built it upside down. That is because it will be applied to the Tree with the Tree inverted. The ARDL only works downward on the Y axis. PLEASE NOTE: The Master Object MUST be made in the right orientation. We don't want our Fruit growing form the top of the branches.

    [069] Picture_70 shows the Master Object and the Surface Object [The Tree inverted] and we are ready to go. From now on it is very simple and good fun. I have deleted the Ground Plane because it gets in the way. Picture_71 shows the Fruit applied but i must now give you some tips on how that was done.

    Please go to Part 4B in this thread [NEXT].

    Picture_68_71.jpg
    800 x 800 - 327K
    Picture_65_67.jpg
    800 x 800 - 369K
    Picture_62_64.jpg
    800 x 800 - 459K
    Picture_58_61.jpg
    800 x 800 - 536K
    Picture_55_57.jpg
    800 x 800 - 486K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 4b of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    [070] Please have a look at Picture_72. We have entered the ARDL and done the things we need to do in the "Brush editor" [You will need to set random rotation and a little bit of random scaling]. You need to work at a very large size. You will note the density is set very high because most of the Fruit will miss the narrow branches and fall into nothingness. You may even then need several brush applications. No point in having much randomness. The distribution is set so that the density is highest around the outside and very sparse in the center. It is possible to hold down the "ALT" Key and then the fruits will hang from the branches at different angles but i did not do that because i did not want to have to find and remove fruit that are angled too much. After application you need to remove some or all of the fruit in the center [Red Circle]. You don't want any on the root system. You can leave and then re-enter the ARDL as often as you like and remove instances you don't want [ because of collision or bunching] one at a time. The ARDL remembers the settings and the Brush. I did not spend much time fine tuning but you could do so and produce extremely realistic results.

    [071] Picture_73 shows the bottom of the Tree and you can see i have removed Fruits growing on the roots. Make sure you remove all the fruit you don't want before you disconnect the instances from the Tree. When you are happy with the result turn the tree around so that it is in the right orientation. Please see Picture_74 which shows the Tree ready for the next stage of this project. At this stage it does not look very nice but that will change.

    Another good render! Next we must ungroup all the Fruit and change them into Bounding Boxes. That makes future navigation faster. Picture_75 shows we have entered the Tree Lab again and are setting up the Leaves. Here we have many options and the settings i show are only one possible approach. I did what was the simplest and fastest. You can of course create your own leaves. You can even use the methods of this tutorial to put special leaves or blossoms on branches. But i kept it very simple and the results are passable [but not very realistic or artistic].

    [073] In anticipation of Part 5 of this Tutorial i rendered out a Colour Plate and an Alpha Plate for Compositing. I intend to use the ARDL to distribute many composit plates. The Plates were made more than 4 times the size of the trees to be planted in the final landscape. AA was turned off for both Color and Alpha plates as we don't want fringes and don't need it. I used IBL get some detail inside the Tree. I made 4 sets [ one set each at 000deg, 090deg, 180deg and 270deg - that makes 8 files ]. You can see reduced size versions of the 000deg Set in Picture_76 and Picture_77. By using 4 different orientations it gives the illusion that there are different trees. More about this in Part 5 of this Tutorial.

    NOTE: to be able to render the Object Mask properly you must ungroup the Fruits from the Tree [and then select all] before you render, but we needed them grouped to be able to rotate the Tree by 90 degrees. If you look closely in Picture_77 the fruit did not render in the Object Mask for that reason!

    [074] Now for some renders and details. Picture_78 shows the wireframe view. You can see that all the Fruit are instances [dotted green lines]. Bryce inform me that the File contains 44-Million, 645-Thousand and 515 "Polygons".

    There are 611 Objects. The file saves and loads reliably. Sometimes you get the message when loading: "There is an object missing...". I just press the "OK" button and it works fine.

    Picture_79 shows a render of the whole Tree using TA. You can see it is not an optimal Fruit Tree - Too many and too large Fruits. I am not happy with the leaves either. But it is passable and shows that you can add fruits to trees. I also rendered a detail shot which took over a day to render and share it with you as Picture_80. When rendering so close we can see many imperfections. I think the stems of the fruits spoil things - they need to be a different material.

    Picture_80.jpg
    800 x 800 - 512K
    Picture_79.jpg
    800 x 800 - 546K
    Picture_78.jpg
    800 x 800 - 605K
    Picture_75_77.jpg
    800 x 800 - 464K
    Picture_72_74.jpg
    800 x 800 - 440K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 5A of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    Well this Part of my tutorial is going to be rather long so i will divide it into several sections [A, B, C, D....] because i can only use 5 images per section.

    The following is an interpolation within this tutorial before we get on with things. It was prompted by one of Horo's responses concerning instancing, memory size and compression. It led me to do a bit of detective work because to my mind things suggested to me did not add up.

    I created 5 files which are all the same except that different types of "spheres" are used. A 2D array of 81 spheres [9x9] was used and every file had the same material applied to all the spheres. That is important because the materials have a great influence on the file size, loading and rendering speed. I will go into that i bit more later
    .
    The files are as follows:

    (1) 81 Bryce Native Spheres.

    (2) 81 MetaBalls of the same size which just begin to merge together.

    (3) 81 MetaBalls converted into a single mesh object inside of Bryce. It took 3 hours and 25 minutes to convert the hull !!!

    (4) 81 Mesh Spheres created form the Native Bryce Spheres at the Highest Wireframe Mesh Resolution [128] and of the same size.

    (5) 1 Mesh Sphere created form the Native Bryce Sphere at the Highest Wireframe Mesh Resolution [128] and in addition 80 Instances of this object added.

    Picture_811 shows the file names and the size of the files. I also observed saving and loading speed. I did not get any crashes. I used the Multi-Replicate tool as appropriate. For file (5) above, i ticked the "instance" button. I was able to not only create instances from the master but also instances from the other instances. That was necessary because the master was in the middle of the array and i did not want to duplicate it.

    Conclusion: The advantages of the Bryce Primitives and MetaBalls are enormous. Not only do they result in a small file size but also very fast loading, saving and rendering. The Mesh Objects were the worst - very slow to save and load and producing huge file sizes [2,633,472 polygons]. None of this was surprising as i have been researching this for many months but i have not made such highly controlled experiments before.

    Picture_812 shows the Array of Spheres. Picture_813 shows the MetaBall Array. Picture_814 shows the render times.

    Observations: It appears that when Bryce Primitives and/or MetaBalls are used the objects are NOT saved but only each Matrix is saved and the Materials are saved. The Matrix for each Instance takes up very little memory, compared to a perfectly Smooth Polygonal Sphere which requires an enormous amount of memory. Compression helps to make the file even smaller. Since i used only one material, and a very simple one at that, the files are very small and they load, save and render very fast. The Bryce Native Spheres render the fastest.

    MetaBalls can be rather slow but that is understandable because Bryce must solve a complex surface. When these files are loaded a pointer is re-created to the Mathematical Master Description for each Instance. In addition, the outline is perfectly smooth when rendered because the actual form is solved at render-time [For CSG primitives, BSOps and MetaBalls]. It is therefore a perfect system and partly why Bryce has been the most superior program in many respects for over a decade.

    It is also clear why an additional instancing system for Mesh Objects was introduced in Bryce 7. These files also save and load quite quickly and the file size is much less than files constituted of copies. The instancing systems [Old and New] both work very well and are quite reliable. It is only a matter of knowing how and when to use each option available.

    In regard to Bryce primitives and MetaBalls, it is also interesting to observe file size as a function of the materials used. Because the material must be saved for each Native Bryce Instance, [in case we have a different material on each object? Still for me a Bryce mystery] and some complex multi-channel materials have a huge database. The materials used have a very great influence not only on render speed but also on saving and loading speed. This means that you can create Mega-Scenes with very simple materials on your objects and then save the scenes. Later you can load the scenes and then apply your special materials and then render [hoping you don't get a crash when you change the materials - actually a most likely event ]. The resulting file cannot be saved anymore but it does not matter because you have accomplished your goal and you still have the master file.

    Picture_815 shows the file sizes with various multiples of different materials applied. We notice that with a single material on all objects, the result is a large file size. As the number of different materials increases, the file size goes down [very strange]. Then as the number of different materials is increased even more, the file size goes up again [as we would expect]. Also complex materials result in large file sizes compared to very simple materials [as we would expect].

    Note the difference between simple materials [no MatLab channels] and those with 3 x MatLab channels].

    81_Spheres_Tex_David_01_3CH and 81_Spheres_Tex_Simple.

    729_Spheres_Tex_David_01_3CH and 729_Spheres_Tex_Simple.

    In addition the number of Texture components in the DTE [one, two or three] also would have a significant influence.
    There is still much more research to be done, questions to be asked and new practical work conclusions to be formed but these are outside the scope of this ARDL tutorial.

    Well we can now move on to Part 5B

    Picture_815.jpg
    800 x 599 - 207K
    Picture_814.jpg
    920 x 714 - 167K
    Picture_813.jpg
    800 x 452 - 150K
    Picture_812.jpg
    800 x 452 - 139K
    Picture_811.jpg
    724 x 443 - 157K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 5B of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    It has come to my notice that there remains some confusion about Instancing in Bryce, therefore i will dwell on this a little bit longer than i originally intended.

    There is a difference between Instancing and Replication.

    Because all objects take up memory, ways had to be found to reduce the amount of memory required for MegaScenes [this is an issue for ALL 3D/4D programs and not just for Bryce]. Replication makes a copy of the entire object database which includes the object description, the Linear transform matrix, the material and much else. If there are100 replica of an object then nearly 100 times as much memory is required. If those objects are Mesh Objects in Bryce then that is not good [see Part 5A above of this thread]. If the objects all look the same then that is a great waste of valuable resources. Suppose you are building the interior of a great cathedral which has many elaborate ornaments and structural details which are repeated many times. It would make sense to have just one master of each type and then somehow create the duplicates from each master at render-time. However it is not so simple because the non existent duplicates also have to be represented on the screen before render-time in a simplified and fast rendering form [the most extreme of which is the rectilinear bounding box]. Otherwise we could not set up the scene and adjust it before rendering.

    To understand what an instance is you need to understand how object data is stored in Bryce. When Bryce was first developed and before its primary function morphed into a render cow for imported meshes, it had 5 or so master objects called primitives and also the 7th star of the combo called the Terrain which was [and still is] very special [ i think the Torus Primitive was added a little later and then later the Gauss Primitive which was an "Easter Egg"]. There were also a few other things like infinite planes and so on.

    The 6 master objects [if we include the Torus] were mathematical descriptions and did not actually exist. In fact everything was procedural. What you had to do is create instances of the primitives by clicking on representations of them on the Create Palette. A stand-in representation was then created [looks like a mesh object but is nothing of the kind] and a matrix database was created for each instance. The description of the object was not included in the instance database.

    Those days computers did not have much RAM and this Bryce technology meant that you could do things with Bryce you could not do with any other program. Also because Bryce objects were not mesh objects you could render perfectly smooth surfaces/edges which were resolution independent. In the early days you could have many more objects in Bryce than you could have in other 3D programs.

    That was only possible because Bryce was engineered on Instancing and on procedural "Master Objects". Gradually that changed over a decade. I won't spend too much time on the history but there was market pressure to either extend the procedural engines [as has happened in Cinema4D for example] or to make Bryce Mesh-Import-Export-Capable [eventually to interface with DAZ-Studio]. So it came to pass that the procedural engines were never extended except to add Boolean Set Operations and later the MetaBalls.

    The stones were an interesting addition which came about from an idea to use the wireframe representation code. Since the wireframe representation can be easily converted to a mesh object [the data is already there] why not make a mesh generation engine?

    The Bryce Stones were the first Bryce Mesh Objects. Today we have several Bryce generated Mesh Objects some are good and some are problematic [inverted normals] and the methods of making them are varied. The Bryce Stones were not instances. Once a stone was created it was a Mesh Object. The more of them you had, the more memory they would eat up.

    Perhaps we should have a look at how the Stones are created? There is a tree structure for the process and at each node a random decision is made [it would be nice to have a control panel so that we could make some of those decisions ourselves and deliberately]. The first decision is to use either the Spherical or Cubic procedural generation engine [they are the sphere and cube master objects]. Next comes the perturbation of the mathematical "surface" with noise. Bryce already had a good fractal noise generator. The type and amount of noise are randomly selected. Next comes the conversion into the wire-frame representation during which all the n-gons are triangulated [to avoid non-planar polygons being produced later].

    At this stage also a random decision is made to select one of 3 degrees of resolution [the stones come in 3 different resolutions, low, medium and high - it would be nice to have a dialog to select that also]. Then the display representation is converted into a Mesh Object Database, describing vertices, edges and faces [which in Bryce cannot be selected and edited]. Finally the matrix is distorted randomly [most often squashed down the Y-axis] and a random material is added. Then it appears in the scene. We can keep the applied smoothing across the edges or we can remove it by using the "E" button at the bottom of the attributes stack.

    I know many Brycers have spent some time stone collecting. I have collected stones for over a decade and sometimes found interesting ones. In the early days the stones had a very high resolution but later the resolution was cut down to about half.

    In other 3D applications Mesh Objects can have a very large and complicated data base. This is necessary for character animation where individual vertices have to be moved smoothly. When a Mesh finally comes into Bryce it is as a cut down version of what it once was [ as the Bryce Stones are ] and you can't edit either vertices, edges or faces. The only option is to import a Mesh Object which has been deliberately cut up into many different pieces. You can then put a different material on each piece or even explode the object in an animation.

    As more and larger Meshes were imported into Bryce a solution had to found to get around the limited memory problem. The instancing system native to Bryce could not be used for Mesh Objects. So the software engineers created a new instancing system specifically for Mesh Objects. There would be a master Mesh Object and then a very small database for each instance. Each database had a pointer to the Master. Furthermore if we change the material of the master all the instances would be updated. The Instance Database contains the matrix of the object - its position, size, orientation and so on. It also must be able to show a primitive wire-frame representation without slowing down the computer too much. In practice it is best to convert this to a bounding box which allows faster navigation. Grouped objects could not be instanced directly. To get around this there is a procedure already mentioned by Rashad [ he calls it “Trickery” ] which i will again describe in detail below. Many thanks to Rashad for pointing it out!

    There are many issues with instances which include saving, loading and rendering. Different 3D programs handle these things differently. Some have a pre-render pass with a message box stating "preparing objects". When you are loading Bryce MegaFiles full of instances, Bryce often does informs you at the bottom left: "preparing objects". It is obvious that if you have 1000 instances of a polygonal mirror sphere all over your scene reflecting each other there are are going to be a lot of jump vectors back and forth to the master not to mention the amount of stack space required which could result in memory overrun. So there is always a price to be paid. I don't know exactly how Bryce handles all this, but my impression now is that it is quite good at it, so long as one takes precautions. MegaScenes with a lot of instances take less time to save and load and seem to do so reliably, also memory size is very much reduced.

    Now to some more interesting stuff.

    Bryce has 4 tools for creating instances. Three of these tools are normally used for "replicating" objects. Remember when you "replicate" Bryce primitives, you are actually creating native instances [ so they don't need the instancing option selected - with some of those tools if you select it, nothing is replicated! ]. However when you replicate mesh objects, memory will be quickly eaten up. For mesh objects [and also for Bryce Native Trees] use the instancing option. It is as simple as that!

    Now on to pictures and many details.

    [075] The first tool is found under "Edit, Instance". There is no dialog for this one. If the option is greyed out it means the object cannot be instanced by the New Bryce Mesh Instancing System. When the tool tells you that you can instance an object, then select this option to make one instance which is created on top of the master. If you need many it is best to use another tool [see below] or select many objects without grouping them.

    It is best to keep all the Masters in some location "underground" and identify them with a special mesh color. This is where you go to change the materials of all your Masters which will change the Instances in a MegaScene. Very convenient because you don't have to find and select all the instances in your MegaScene.

    [076] Have a look at Picture_81 which shows the Advanced Replication and Distribution Lab [called "Instancing Lab"] which is what this tutorial was originally all about [sorry about my many diversions]. Here you see a green button ["instance"] which you can turn off by clicking on it. Normally it should be left on because Bryce will not crash if you are working with objects which can't be instanced [unlike another tool i will describe below]. If they are Native Bryce and not grouped then they are automatically instances and if they are grouped objects of any kind [except for Trees and instance groups made by 'Trickery"] then they are simply replicated [and random rotation then does not function]. So you can leave this button on all the time. Only if you want to replicate meshes [deliberately make copies of them] should you turn this button off.

    [077] When Native Bryce Objects are selected they are already instances. Picture_82 shows how when the instance of a Bryce Sphere is selected, "Instance" is greyed out. Terrains are special objects. They are neither Mesh Objects nor instances of a mathematical equation. Picture_83 shows that Terrains also cannot be instanced. If you need many of them replicated, it is best to convert the master into a mesh object and export it and then import it into Bryce again. Bryce has a special Lab for doing that [with many optimization options]. After you have imported the Terrain Mesh Object back into Bryce you can instance it, which saves much memory. Native Bryce Terrains can have very high resolutions and relatively small memory requirements. They are very much superior to the terrains that can be created in other 3D software. So normally you don't need instances of Mesh Terrains. But if you use terrains and SymLatices to model non Terrain Objects then that is one way to go.

    [078] Bryce comes with a library of many ready-made Mesh Objects which are quite useful. Picture_84 shows one of the Helical Spring Objects from the object library. It is a Mesh Object but it is a group of two pieces. I have ungrouped them and we can see that the parts [both selected] can now be instanced. The Group Object [ "container" ] cannot be instanced at this stage of Bryce development.

    [079] Trees also can be instanced even though they contain MetaBalls which normally cannot be instanced on their own. Please have a look at Picture_85. The Bryce software engineers did a great job in making this possible.

    [080] Stones are Mesh Objects so they can obviously be instanced as shown by Picture_87

    [081] When the MetaBall Hull [constituted of two or more grouped MBs] is converted into a Mesh Object it can be instanced. Please have a look at Picture_88. If you look at Picture_811 of Part 5A of this tutorial you will notice the file size is is much larger [ 54,553 KB compared to 457 KB in Native Bryce Form]. Also the object does not render smoothly and can't be edited nor animated. So there is often not much advantage to doing this conversion which can take many hours. However if you create 30 instances of that thing [ 81_MetaBalls_Converted_Instance_Form.br7 ], the memory only goes from 54,553 KB to 54,728 KB and you have the equivalent of 2430 MetaBalls [but they no longer interact].

    [082] Next we will consider what to do about Mesh Objects which are grouped [made of two or more parts]. Please have a look at Picture_89. On the left are two objects from the Object Library which are grouped to make one object. That is the Root Master. They were next ungrouped, remained selected and one instance was created of each in the same relative position. The pair was then moved to the right [Please see green Mesh which is dotted]. The pair was then grouped and lo and behold, they remained instances. This is the Second Master to be used for instancing on a surface object. Picture_90 shows how i used the ARDL to make a pattern on a Squashed Cone. The only drawback is that groups don't rotate randomly. If you want that, then you must create a family of Second Masters each rotated differently and then use a mixed brush in the ARDL.

    Please refer to Picture_91 to find out typical memory requirements. You can compare the 4 combinations: In the ARDL: Instances_Grouped and Non_Instances_Grouped and when using the Multi-Replicate Tool: Instances and No_Instances [copies]. Picture_92 shows the dotted wireframes in green. This is another bit of evidence that these are true instances, even though they are grouped. Unfortunately you can't remotely update the Materials of the Instances because they are grouped. To overcome this you can plan ahead and give each of the parts of a group a different wire-frame color and name. Then later you can ungroup the Instances and globally adjust the Materials on each subgroup.

    [083] We come now to compare the Multi-Replicate and Random-Replicate tools. Picture_93 shows an Instance of the Bryce Sphere being replicated. Since the Bryce Sphere is already a native instance of the "old system" [since the time of Bryce 2], we do NOT check the "Instance" button. If you do click on the "Instance" button, Bryce takes some time to figure it out, finds recursive instancing and produces nothing. Fortunately i have not been able to induce a crash but we don't want to waste a lot of time waiting around for Bryce to produce nothing. Perhaps they can redesign this tool to conform to the ARDL because it must be very confusing and frustrating for Newbees.

    The Random-Replicate tool behaves in the same way.

    Please compare Picture_95 with Picture_96. The Random-Replicate Tool has many useful options but in its current state of development will be very frustrating for beginners to learn and use. You need to know the Object Class you are using [Native Instances or Mesh Objects]. It is best to refer to Table_01 in Part 4 of this tutorial. If in doubt you can find out! There is an unfortunate bug with the Random-Replicate Tool. If you use a Tree as the Master and check instance, Bryce will crash! It will always crash very reliably. Therefore use Multi-Replicate or the ARDL - Bryce does not crash when you use those.

    [084] Picture_97 and Picture_98 show the Multi_Replicate Tool being used to either replicate or instance stones. It behaves predictably and please note the dotted wire-frames which result when the "Instance" button is checked. Also file sizes support that everything is working as we imagine and should work.

    [085] Since Stones are Mesh Objects - but are created inside Bryce [using a process over which presently we have no control], when Stones are Random Replicated [not instanced] using the Random-Replicate Tool, every stone will be different ! Please study Picture_99. This is useful when you want to find the right kinds of stones for your purposes. Simply create a large number of them and delete the ones you don't want. However when the "Instance" button is checked, the Random-Replicate Tool behaves differently. All the stones are then the same as the Master but they are rotated. These are true Instances as shown by the dotted wire-frames you see in Picture_100.

    There is still more we can investigate [ such as how different kinds of groupings behave and multiple replications done simultaniously ] but i think it is sufficient for us to move forward with the more creative parts of this tutorial. What is to come will include building forms to be coated with MetaBalls, distributing Composit Plates on Terrains with the ARDL and using Nested Masters.

    Picture_97_100.jpg
    800 x 800 - 339K
    Picture_93_96.jpg
    800 x 800 - 154K
    Picture_89_92.jpg
    800 x 800 - 547K
    Picture_84_x_88.jpg
    800 x 800 - 447K
    Picture_81_83.jpg
    800 x 800 - 323K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 5C of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    There are 3 terms/procedures we should now understand:

    (1) Replication - a generic term which includes instances and copies

    (2) Instancing - a specific term we use to designate True Instances of Mesh Objects and also implicit for most Bryce Primitives and finally

    (3) Making Copies - when we deliberately make copies of Mesh Objects, Bryce Terrains or Bryce Trees. This can consume a large amount of memory and we should only make copies if we have some good reason to do so.

    [086] We will now investigate the replication of Composit Plates on Terrain Surfaces for the purpose of making such things as photo-realistic grass slopes, orchards of trees, mountain forests of up to a hundred-thousand photo-realistic trees, and much more. The ARDL has the power to distribute large numbers of Composit Plates in a fixed orientation [and suitably implanted in the terrain] always facing the camera axis [no random rotation]. By using mixed brushes and only a small amount of random scaling we can vary the objects sufficiently so they don't look like they are all clones of each other.

    Here i won't go into the details of the Art of Digital Cinematography which is based on Composit Plates. It is a specialist subject [one which is of primary interest to me]. I may some day go into the details of that subject for the Bryce Community [if anyone is interested]. Bryce Digital Cinematography, Animation, Compositing and 4D work in general [ including the full use of of DAZ Studio - a wonderful tool ], is an awesome subject, obviously too detailed a subject to present in this tutorial.

    [087] You may recall that we rendered the Fruit Tree in Part 4B of this tutorial. It is not a very good tree but it will serve for this tutorial. This Tree, you may recall, was rendered in four different orientations. In Picture_101 you can see how each of them looks. They have been rendered WITHOUT antialiasing.

    Picture_102 shows the alpha masks. They have also been rendered WITHOUT antialiasing. Without going too deeply into the subject of compositing [and some limitations that Bryce has in this domain], if the Tree had been rendered with antialiasing on, then in our final render we would see visible fringes around the profile shapes which would spoil the illusion [ they would look like pictures pasted on top of the scene]. This is because the rendering of the Masters was against a generic background and we only considered the Camera Angle and the Lighting to match our final scene. We don't know what the actual background for each prospective replicate of the Tree against the Terrain, Other Trees and Sky, etc., will be, since we will create the terrain and sky later. Since the Master Images are very much larger than the size they will be in the final scene, the AA is not even necessary [and it saves much rendering time]. In the final render of the scene, with the correct atmospherics, shadows, IBL, correct AA, TA and DOF, the illusion can be very convincing [even though my trees in this tutorial are not very good models to use for this method].

    [088] Next i prepared a Terrain on which to plant the Trees. I wanted the ground to raise up gradually and have some background and some waterways and/or lakes Picture_103 shows the landscape i made for this project. The bare slopes in the mid and foreground [and patches of land on the right] are now ready to receive a number of Fruit Trees. However it will not be very many trees because i want to make the fruit Trees as large as possible in order to test the compositing. The larger the trees are made on the composit plates, the more likely we may find some imperfections. Normally for this kind of scene, you would not make the Trees as large as i have done [about half the size would have been more realistic and would have allowed me to use 10 times as many trees].

    [089] Before we work with our Fruit Trees we adjust the lighting and camera angle to match those used for rendering the Master. We save the file with the correct lighting. This should match more or less the settings we used to render the Master Tree [but they don't have to be exact].

    [090] The Sky must also be set up. I create all my own skies from scratch in DTE for the Cumulus Layer and save them in a library. Picture_104 shows the skies in my sky library. There is one for every possible scene effect and because i made them in the DTE i can edit the filters and phase to get infinite variations to suit any scene composition and render resolution. They also render quite quickly compared to volumetric clouds.

    [091] We will also use one of my Bryce4D methods, which uses the Animation Slider to adjust the position of the clouds. Go to "File", "Animation Setup" and simply set up an animation period - about 5 seconds is sufficient - Please see Picture_105 for all the settings. If you want to make changes to the scene later you need to access "Auto-Key" on and off. Picture_106 shows the little Down pointing Triangle to click from the Animation Palette [Yellow oval at bottom left]. The Round Button located at the extreme bottom left corner the of UI is used to toggle between Object Selection and Animation Controls

    [092] If you want to edit anything in your scene, always move the Animation Slider back to the beginning [Frame 0] as shown in (1) Picture_107 and turn off "Auto-Key" (2) in Picture_107. After the changes have been made turn "Auto-Key" on again and then [if required] make changes to the sky as shown in Picture_108. Cast Shadows (1) in Picture_108 is turned on for the final render. (2) selects the direction you want the clouds to move to create the best holes for sunlight to shine through. (3) controls the speed. A very high speed should be used [up to 100] as it gives a better chance of finding a good spot [especially if your clouds are dense].

    [093] Having made any changes, move the Animation Slider to the frame you want to use for rendering. It is important to turn "Auto-Key" off when searching for a good spot because you will get an itch to move the sun or fiddle with the scene which are hard to resist and which will create unwanted key-frames. We will use my Bryce4D method later to get the best shadow pattern to fall on our trees and automatically have this match the sky, water reflections etc., etc.

    You don't need to render an animation to use my Bryce4D method. You render as you normally would at the frame that gives you the lighting you want. You may find several frames that give a good composition [and each with a different mood]. Of course you don't have light your scene using my Bryce4D method. There are many other ways of lighting a scene. David and Horo have provided many tutorials on lighting such scenes.

    Picture_105_108.jpg
    876 x 542 - 233K
    Picture_104.jpg
    674 x 420 - 96K
    Picture_103.jpg
    1200 x 678 - 644K
    Picture_102.jpg
    1000 x 1000 - 257K
    Picture_101.jpg
    1000 x 1000 - 1M
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 5D of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    [094] Making the Composit Plates. First we make the 4 Master Plates. Because the Plates are two-sided, there are actually 8 different Fruit Trees available for use in our scene. The other 4 trees are obtained by turning the plates 180 degrees around the Y-axis [mirror images]. We will use that trick at the very end of the project to fine tune the scene. We begin with Plate_00 [zero degrees].

    [095] Create a Composit Plate [2D square]. Make it the size you want and plant it in your landscape more or less in front of the camera in the foreground as shown in Picture_109. It must be more or less perpendicular to the camera but the camera can look down a bit as shown in Picture_110.

    [095] Enter the Materials Lab and now set some things up in the order (1), (2) and (3) as shown in Picture_111. Then open the Picture Loader/Editor [marked as step (4) ] You will probably see something like Picture_112.

    [096] Picture_113 shows the next two steps. Before clearing the Picture Library (1) make sure you have saved anything important that may be stored there. Then click on the "New" button (2) which will bring up a dialogue as shown in Picture_114. Be sure to name everything properly else it can get very confusing later. I named my Fruit Trees by their rotation angles. Also you will be asked for the size of the Composit Plate. I rendered all my files 800 x 800 pixels so i used that size. I could have used a smaller size which can save memory [ if you don't need any high resolution composits in the foreground you should do that ].

    [097] Picture_115 shows that a blank Picture Slot has been created. Next Click "Load" which is circled red in Picture_115. You will get a file dialogue as shown in Picture_116. You will notice, i also name my files with either an _C, _A, _D or _H extension. [Color, Alpha, Distance or Height]. After you have selected your image it will appear in the first of the upper 3 windows.

    [098] Picture_117 to Picture_119 shows loading the Alpha channel in a similar manner. You will get a file dialogue and you navigate to where all the Alpha images are located. The Picture Loader/Editor is quite smart and remembers all the different paths so that loading a hundred images is very quick and easy [ which is important when compositing animations ]. The third preview picture at the top right shows the final image with the background cut away. The first Fruit Tree is now loaded. To the top right of this third preview picture is the "New" button. We again use it to continue with the next picture. We repeat the procedure for the other 3 Fruit Trees [Tree_90, Tree_180, Tree_-90]. The work now proceeds very quickly because Bryce remembers everything - you only need to change the name and select the correct images [you don't even have to navigate to your folder]. Picture_120 shows all 8 images loaded.

    [099] Before we set up our 4 Composit Plates underneath the landscape we need to do some test renders and also decide if we are going to use ambient, diffuse or both on our Composit Plates. Picture_121 shows that i used both, because i could control Ambient globally and i wanted to leave as many options open as possible. Picture_122 shows a test render and Picture_123 a close up test render to look for any problems. For this extreme close up i used TA with a low quality setting. Picture_124 shows another render and reveals that the composit blends quite well into the scene from some different view angles as well [ always nice to have that option ]. Being satisfied with the test renders and having experimented with the lighting a bit [ to anticipate how we might best "plant" the Fruit Trees] we can proceed with the Replication Settup Stage.

    [100] The 4 Composit Plates are arranged below the landscape as shown in Picture_125. They must be at the correct orientation relative to the landscape above [facing the camera] because the orientation will be replicated exactly [ we will not use random rotation ]. The Fruit Trees need to be planted into the ground [which is quite uneven] and to achieve this, first we must make the "Origin Handle" visible (1) in Picture_125. Then (2) we unlock the link between "Origin" and "Position" by clicking on the lock icon. Then we make the "Origin" along the Y-axis 11.43 BU more positive (3). That will sink the objects a little bit into the Terrain ensuring that none of the trees are floating above ground [especially if the ground is sloping at a severe angle]. All 4 Composit Plates are treated the same way.

    Picture_125.jpg
    1040 x 600 - 281K
    Picture_121_124.jpg
    1000 x 799 - 722K
    Picture_117_120.jpg
    1000 x 750 - 412K
    Picture_113_116.jpg
    1000 x 750 - 281K
    Picture_109_112.jpg
    1160 x 800 - 525K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 5E of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    [1012] Now we can use the ARDL to replicate and distribute the Fruit Trees. But we encounter a problem. We want to plant the Fruit Trees only on certain regions of the target Terrain. But we can't see those regions clearly in the ARDL "Painter" window. The solution to this problem is to duplicate the Terrain we want to use and then enter the Terrain Editor and use the Upper and Lower Truncation Planes to isolate the areas we want to plant [create contour regions]. The areas we want to plant will then be either visible or invisible. The Trees will then be planted on this duplicated Terrain which will later be deleted leaving the original Terrain with the Trees in all the right locations. If we don't use this method might need to remove a lot of trees one by one [a tedious and slow procedure]. Another good render! shows how this is done in the Terrain Editor for this particular Terrain. The yellow areas [and the unmarked areas] are for trees and the red areas are for water [we don't want any trees there]. Another good render! shows how it looks in the ARDL. We can see what we are doing and can now place our trees much more exactly !!! But first we must set up the Mixed Brush. Please see Another good render!. Note that we don't want any random rotation !!!

    [102] When we have placed all our trees we need to ungroup them and delete the Truncated Guide Terrain we used with the ARDL to place our trees.

    [103] The Composit Plates should be divided into groups and each group color coded [makes future editing much easier].

    [104] Next we look for any tree formation in a group were the same copy is next to another [since Trees are randomly selected [ 1 out of 4] this often happens ]. One of those copies needs to be rotated 180 degrees.

    [105] We can now find a lighting solution using the animation slider [Please see Part 5C above]. Picture_129 to Picture_132 show 4 different render solutions. Mine are not very good, but i believe a truly Great Bryce Artist could use this method to good effect.

    [102] What are the advantages of the Composit Plate method? To render this many full 3D Trees takes a very long time [and i could have used thousands], especially if TA is used. The great advantage of the Composit Plates is that render time is very much reduced and one can afford to use TA in the final render which would be impractical with hundreds or thousands of full 3D Trees in the scene. Of course this is the industry standard method used in Feature Film Animation which dates back even before Walt Disney used it to great effect.

    Unfortunately unlike other high end 3D/4D programs like Houdini, in Bryce the Instances of Composit Plates cannot be automatically updated from the Masters. If you change the images of the Masters in the MatLab then the Instances will not change.

    Picture_131_132.jpg
    800 x 904 - 703K
    Picture_129_130.jpg
    800 x 904 - 769K
    Picture_128.jpg
    644 x 481 - 122K
    Picture_127.jpg
    640 x 480 - 142K
    Picture_126.jpg
    760 x 800 - 227K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 6A of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    We are now going to examine how we can use the ARDL for Modelling - Making Complex Objects/Forms and other things.

    [103] When we use the ARDL for Modelling we must be clear about 3 classes of objects:

    (1) The Master Object(s)
    (2) The Surface Object over which
    (3) Replicates of the Master Object are formed in strings or layers [either as Copies or Instances].

    Further we can control the orientation [Align to Normals] and also the depth of implantation of the Replicates into the Surface Object. In some applications we can also use what i call "nesting" were the Surface Object itself becomes a Master Object for another Surface Object. All this seems complicated, but it is easily demonstrated by a few example pictures. Therefore we start this Final Section of this "Tutorial" with some pictures of just a few things you can make with the ARDL. I will also give a brief explanation of each picture.

    Picture_133, Here we use 3 different Bryce Primitives [Cone Cube and a Sphere] to demonstrate Nesting. The Cone is the Master Object and the Cube is the Surface Object. We cover one face of the Surface Object with Cones using the ARDL. Nothing unusual about that! Next we create a large Sphere as a Surface Object and using the ARDL cover it with Cubes [using Align to Normals] and lo and behold, the cubes have ALL also inherited the Cones [and in correct orientation]. This is of course a very powerful feature but it only works with Bryce Native Instances. I does not work with Mesh Objects.

    Picture_134, Here i used MetaBalls in a similar manner [i also used the same brush as well]. Again nesting was easily achieved. We notice, i gave the small MetaBalls a very simple yellow material. The Large MetaBall for the final Surface Object was given a more complex material. We notice how the large MetaBall overpowers the smaller ones with its material. This is very usefull because if we give each of the small MetaBalls a complex material then we could [depending on how many MetaBalls we used] run out of memory because the material is not instanced but copied. You should note that the ARDL does not allow recursion. You cannot use only one MetaBall for all 3 levels of nesting. You must use three seperate MetaBall instances.

    Pictures_135 and 136, Here you see that you can coat Stones with other Objects. The possibilities are very large. You can coat Stones with other Stones or with MetaBalls [or with any kind of object]. Why is this useful? It allows you to make very complex organic objects including much more complex and realistic Stones [than the default Stones] which would be very time consuming to make by any other method. You can of course delete the Surface Object [Stone] afterwards, if you want. If you make the Stones used for coating the Surface Object True Instances, then they will all be the same form [but perhaps rotated in various ways if you choose that option], but they take up very little memory. If you make them Copies [uncheck "Instances"], then Bryce will randomly generate each Stone to be different but they will take up much more memory.

    Beware of making many copies with the ARDL [of any objects - particularly large or complex ones], it can crash! If you want to coat a Stone all over, you need to rotate it at least once [180 degreees] so that you can apply the brush again on what will then be the opposite side(s).

    It is worth knowing that Stones come of 6 different Basic Forms and 3 different Resolutions. That gives you 18 different fundamental Stone Classes which you can create and save using a certain procedure i have devised [perhaps something for another tutorial]. The Basic Forms are:

    (1) Polar - Minimum Perturbation [look like slightly distorted spheres or eggs].

    (2) Polar - Medium Perturbation [some moderate undulation and slight undercuts of the surface].

    (3) Polar - Maximum Perturbation [weird forms with heavy undercuts and lumps].

    (4) Cubic - Minimum Perturbation [look like slightly distorted cubes - very usefull for buiding walls constituted of individual stones].

    (5) Cubic - Medium Perturbation [some moderate undulation and slight undercuts of the surface - perhaps the most useful for many purposes].

    (6) Cubic - Maximum Perturbation [weird forms with heavy undercuts and lumps hard to distinguish from the Polar Varient - not of much use unless they are high resolution].

    If you undertake a program of random stone generation, selection, naming and saving then you will be able to build any form imaginable using very little memory.

    Picture_137, Here i used Negative Stretched MetaBalls to carve out the Positive MetaBall Surface Object. To do this you must raise the Origin of the Master Object by a certain amount depending on how deep you want the removal of material.

    Picture_138, Shows grouped MetaBalls on a Terrain Object. Once upon a time Bryce had more than the 6 Primitives we have in Bryce 7.1 today. Bryce 2 [for MAC] used to have the Gauss Primitive. But you can make many variants of this Gauss Form very easily in the Terrain Editor. So here i have planted some MetaBall objects in it.

    Picture_139, Shows more complicated MetaBall Objects aligned to Normals. If the objects were made very small, long and numerous and also buried into the Terrain, they could represent Frizzy Hair. Needless to say reflection should then be turned off.

    Picture_140, You can create Terrain Objects to function as Molds for Metaball Surfaces or Forms. The Terrains don't always have to be perfectly smooth as mine shown here, since we are only using it as mold for MetaBalls [once done we delete it]. That opens up infinite possibilities. Here you can see a very simple application. The Material is in MetaBall Object Space.

    Picture_141, Shows a Terrain Cone coated with Stones. This differs from a Primitive Cone in that you Can give it a top-curvature of any degree you want.

    Picture_142, Shows a Sphere coated with submerged Terrains. You can use either Native Bryce Terrains or Converted Bryce Terrains [using the Bryce Terrain to Mesh Exporter]. Needless to say the Origin of the Master(s) needs to be raised. If you need Alien Planets or Moons this might be the way to go. You can also create many useful forms for Vegetation in this way (Seed Pods).

    Pictures_143 and 144, Shows the behavior when grouped MetaBalls are used as the Surface Object. You must select each MetaBall of the grouped Surface Object in turn and enter the ARDL and coat it. You cannot select the whole group. If you coat the Surface with grouped MetaBalls, you must later ungroup all of them in order to merge them. You can create many impossible objects using MetaBalls in this way.

    Pictures_145 and 146, Shows what you can do with MetaBalls formed over other objects using the ARDL and subsequent Object Space Global Editing. The latter is possible because the ARDL aligns the MetaBalls perfectly along normals so that after the Mold is deleted they will duplicate, move, rotate, and scale in unison. With such methods the object shown in Picture_147 was created very quickly and easily. Needless to say the wire-frame display must be set to bounding boxes otherwise the editing required to achieve this object becomes very frustrating.

    [104] Conic Sections and more on MetaForms.

    You can use a Cone Primitive as a surface Object and coat it with MetaBalls. Depending on the orientation of the Cone, and the Brush Shape you set up, you can produce MetaForms based on Conic Sections. Later these can be assembled to make more complex MetaForms.

    Please have a look at Picture_148 and Picture_149 which shows a MetaForm constructed in this manner, as well as one possible end result. Similarly you can use sections of the Torus [orientated as you want before you enter the ARDL] as a Surface Object and make MetaForm surfaces with compound curvature.

    Picture_150 shows such a settup and Picture_151 shows the preliminary end result with can then be edited in many different ways. MetaForms with compound curvature like i show you here are much more difficult to achieve if you use Multi-Replicate Operations [but MROps are more precise]. For creating organic contend the method i suggest to you here is quick and produces results that don't look like they are mechanically generated even when you don't use any random factors [you can of course add those as well].

    Picture_148_151.jpg
    1000 x 1000 - 431K
    Picture_145_147.jpg
    1000 x 1065 - 923K
    Picture_141_144.jpg
    1000 x 1000 - 575K
    Picture_137_140.jpg
    1000 x 1000 - 495K
    Picture_133_136.jpg
    1000 x 1000 - 584K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 6B of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    We are concluding this tutorial with ARDL Brush Shapes.

    [105] There is very little information "out there" as to how to create and modify Brush Shapes. Most people no doubt resort to random tweeking. For planting stuff on landscapes this subject is probably of little concern but if you wish to create state-of-the-art models, not possible in any other application, then total control over the Brush and understanding all of its parameters is important.

    Perhaps the best way to help Brycers in this domain is to show many screen shots of Brush Shapes and the Parameter settings which produce them, and then allow Brycers to draw their own conclusions. So this Part of the "Tutorial" will consist of pictures [ which are "worth a thousand words"] and my occasional commentary on them.

    [106] When you go into the "Brush Editor" you don't edit the shape of the Brush but rather the content of the Brush - the Objects to be painted [planted] and the mix of how many of which kind. The Shape of the Brush is edited in the "Painter" Room. If you set up a Brush Shape in the "Painter" Room it will be remembered next time you enter the ARDL. This is useful if you use the ARDL for modelling.

    [107] MetaBalls are very sensitive to proximity and are a good way to test the distribution of Brushes. It should be noted that Brushes are Shapes [2D] but can result in Forms [3D] if those shapes are projected [down the Y-axis] on objects with compound curvature such Terrain, Cone, Torus, Sphere, etc., etc [ i have shown numerous examples of this in previous parts of this "Tutorial" ].

    [108]. It is apparent that ARDL Brushes don't produce mechanically perfect results - even if projected on to the ground plane [Please see Picture_152]. That is usually what we desire, not only for landscapes, but also for other creations, else we would use the Multi-Replicate Tool which [without special intervention] produces rather mechanical results.

    [109] Pictures_153 to 156 show quite simple brushes, useful for making strings of objects with more or less curvature. You will need to rotate the Surface Object to get the orientation you want before you enter ARDL. Brushes cannot be rotated when you are in the ARDL. You need to rotate the surface object to get the orientation you want. In these pictures and all the others that will follow, you can copy the parameters i show you here to get the same shapes depicted and then edit to get what you want.

    [110] Pictures_157 to 160 show how to get a lot more curvature but still only work with a single string of objects.

    [111] Pictures_161 to 164 show how to get simple distributions of several strings. If you set the divergence angle to 45 degrees you get an 8-way symmetry.

    [112] Pictures_165 to 168 show more interesting shapes. You can use any of these as a starting point for your own explorations.

    Picture_152.jpg
    800 x 800 - 364K
    Picture_165_168.jpg
    1280 x 960 - 529K
    Picture_161_164.jpg
    1280 x 960 - 524K
    Picture_157_160.jpg
    1280 x 960 - 507K
    Picture_153_156.jpg
    1280 x 960 - 477K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 6C of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    ARDL Brush Shapes continued.

    [113] Pictures_169 to 172 More Basic Brush Shapes you can further develop.

    [114] Pictures_173 to 176. Picture_175 shows how to make straight lines. The last - Picture_176 - shows how to apply 3 brush strokes with each set to slightly different the parameters. You can change parameters and apply as many different brush strokes you like.

    [115] Pictures_177 to 184 More basic Brush Shapes you may want to explore.

    [116] Pictures_183 to 184 Apparently show the same parameters producing slightly different shapes. That is because only whole parameter numbers are displayed, but when you click on the Parameter Value Windows you can can enter decimal fractions up 3 decimal places. This results in slightly different Shapes.

    [117] Pictures_185 to 188 More basic Brush Shapes you may want to explore.

    Picture_185_188.jpg
    1280 x 960 - 629K
    Picture_181_184.jpg
    1280 x 960 - 507K
    Picture_177_180.jpg
    1280 x 960 - 515K
    Picture_173_176.jpg
    1280 x 960 - 502K
    Picture_169_172.jpg
    1280 x 960 - 527K
    Post edited by pbudarick_4a3d2ac478 on
  • edited December 2012

    Instancing Lab Tutorial Completed: Part 6D of 6

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    ARDL Brush Shapes continued and CONCLUSION.

    [118] Picture_189 shows a 4-way symmetry with a large open center. The four groups could be randomized.

    [119] Picture_190 shows a 5-way symmetry with a large open center. The four groups have been randomized. It is best to use a very small amount and randomization.

    [120] Picture_191 shows you can create an interesting shape if you understand the parameters.

    [121] Picture_192 shows two brush strokes. One is flipped relative to the other. The "Divergence Angle" of one was 358 deg. and the other was 360 minus 358 deg. which is 2 deg. You can do this with all angles if you like.

    [122] Pictures_193 to 196 here i am exploring a six-way symmetry with interlacing and curvature.

    [123] Pictures_197 to 200 show more interesting brushes. The last one is especially interesting because it has 7-way symmetry and consists of a single continious string.

    [124] Well i have given you some starting points for creating different Brush Shapes. If you set up any of these, then please do play around with the "Density" and "Distribution" sliders. They interact in complex ways with the other sliders. The only way to master this part of Bryce is to practice and experiment. And don't forget you can enter decimal fractions for delicate effects [but these will not be displayed by the parameter boxes - except for one - unless you click on them] .

    [125] Finally i conclude this tutorial with my attempt to give you on overview of the BryceMODELLER System and how this relates to the ARDL and other tools. Please have a look at Table 2 [Picture_201].

    BryceMODELLER is quite an extensive and complicated system with which you can create virtually anything you want. In some respects what i show you here is a kind of flow chart and in other respects a helpful table which gives you a lot of options to consider if you want to use BryceMODELLER.

    Of course YOU have to set up BryceMODELLER by creating Template Files for various operations [and you choose - or invent - which ones you need - there are millions of possibilities]. Also there is no documentation on this aspect of Bryce. My table is not perfect and is not comprehensive, but i hope you will find it a helpful guide.

    You can think of BryceMODELLER as a "FisherTechic" Construction Set, with which you can build anything if you know the different ways the bits and pieces can be combined.

    The ARDL is certainly a fine addition to Bryce.

    Have a Merry Christmas

    Peter-Gene Budarick von Ide'

    Picture_201.jpg
    2000 x 1497 - 749K
    Picture_197_200.jpg
    1280 x 960 - 535K
    Picture_193_196.jpg
    1280 x 960 - 519K
    Picture_189_192.jpg
    1280 x 960 - 501K
    Post edited by pbudarick_4a3d2ac478 on
  • kiwi_ggkiwi_gg Posts: 198
    edited December 1969

    Merry Xmas Peter. What a mammoth effort this has been for you and so much appreciated by many. When I had'nt seen anything for some time I thought you had given up the project, so glad I was wrong. This has been bookmarked and will be printed off later, Thankyou.

    Cheers
    GG

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

    Brilliant!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • edited December 1969

    kiwi_gg said:
    Merry Xmas Peter. What a mammoth effort this has been for you and so much appreciated by many. When I had'nt seen anything for some time I thought you had given up the project, so glad I was wrong. This has been bookmarked and will be printed off later, Thankyou.

    Cheers
    GG

    Hello kiwi-gg. There were in fact times when i was tempted to give up on it, but i could not let the Bryce community down. I think although this is not the perfect tutorial i would have liked it to be, there are actually many useful bits of information in it for most Brycers. I will be editing it a bit over the next few days [manly cosmetic and fixing mistakes] and then concentrate on producing Bryce art. No more tutorials!

    Kind regards form OZ

    Peter.

  • edited December 1969

    Brilliant!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Hello Rahad, long time no contact.

    Now i am free to concentrate on my Bryce art. No more tutorials! I have learned my lesson.

    See you at Bryce5 Art Community Site.

    Kind regards

    Peter

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

    Peter,

    Tutorials can be punishing, and the depth you've gone to with this one is truly noteworthy. This hard work you have put into this tutorial will bring a lot of users much needed wisdom for years to come. I want to give you a few days to decompress before asking questions about a few ideas you have discovered.

    I am really blown away by the work you've done here. I had no clue the brush could make such cool designs. Much respect in my book! Sincerest thank you!

  • eireann.sgeireann.sg Posts: 0
    edited December 1969

    Nice tutorial but too much to read.
    Also: always a huge blob of text and at the end some pics. Very confusing for me.

  • eireann.sgeireann.sg Posts: 0
    edited December 1969

    Peter,

    Tutorials can be punishing, and the depth you've gone to with this one is truly noteworthy. This hard work you have put into this tutorial will bring a lot of users much needed wisdom for years to come. I want to give you a few days to decompress before asking questions about a few ideas you have discovered.

    I am really blown away by the work you've done here. I had no clue the brush could make such cool designs. Much respect in my book! Sincerest thank you!

    A video tut might have been better.
  • eireann.sgeireann.sg Posts: 0
    edited December 1969

    Instancing Lab Tutorial Completed: Part 3 of 6

    For Picture 54, Table 01:
    What are Mata balls?
    are they something like Meta Balls?
  • Rashad CarterRashad Carter Posts: 1,799
    edited December 1969

    Instancing Lab Tutorial Completed: Part 3 of 6

    For Picture 54, Table 01:
    What are Mata balls?
    are they something like Meta Balls?

    They are the same thing, its just a typo, I think.

    I agree, it would be nice if the pictures could be interlaced with the text. Unfortunately the new forum software doesnt allow that, all images are attached at the end. Even worse, getting the images to post in the sequence you desire is a bit of a challenge. All things considered it really is impressive what Peter has produced.

  • HoroHoro Posts: 10,633
    edited December 1969

    Hey Peter - long time since we last heard of you. I hope all is well. Very nice! I've waited for this tute to conclude. Amazing work!

  • edited December 1969

    Peter,

    Tutorials can be punishing, and the depth you've gone to with this one is truly noteworthy. This hard work you have put into this tutorial will bring a lot of users much needed wisdom for years to come. I want to give you a few days to decompress before asking questions about a few ideas you have discovered.

    I am really blown away by the work you've done here. I had no clue the brush could make such cool designs. Much respect in my book! Sincerest thank you!

    Thanks Rashad, you are very kind. I will spend a few days editing my posts changing Picture references to bold and fixing typo's.

  • edited December 2012

    Instancing Lab Tutorial Completed: Part 3 of 6

    For Picture 54, Table 01:
    What are Mata balls?
    are they something like Meta Balls?

    Yes a typo. MetaBalls or MB for short. Eventually i will get around to fixing all the typos and there are many of them to be fixed.

    Many thanks for pointing it out [it is consistently wrong in this Table].

    Kind regards.

    Post edited by pbudarick_4a3d2ac478 on
  • edited December 1969

    Horo said:
    Hey Peter - long time since we last heard of you. I hope all is well. Very nice! I've waited for this tute to conclude. Amazing work!

    Thanks. You are very kind Horo. At the beginning i never intended it to be a tutorial but then it sort of grew and became a monster and i realized i had an obligation to "finish" it for the Bryce Community. I much prefer David's and your video tutorials.

    As you would know better than anyone, when a person takes on something like i did, it is never really finished. It will be interesting to see how DAZ develop the brush shapes in the next version of Bryce. There is room for more possibilities.

    Kind regards

    Peter

  • eireann.sgeireann.sg Posts: 0
    edited December 1969

    Instancing Lab Tutorial Completed: Part 3 of 6

    For Picture 54, Table 01:
    What are Mata balls?
    are they something like Meta Balls?

    Yes a typo. MetaBalls or MB for short. Eventually i will get around to fixing all the typos and there are many of them to be fixed.

    Many thanks for pointing it out [it is consistently wrong in this Table].

    Kind regards.In the past I had my own webpage. Actually it isnt difficult to make an own webpage and post such things there. I even made it interactive with Flash,
    With an own page you could just put it all together as you want it and post a link.

  • HoroHoro Posts: 10,633
    edited December 1969

    Thanks. You are very kind Horo. At the beginning i never intended it to be a tutorial but then it sort of grew and became a monster and i realized i had an obligation to "finish" it for the Bryce Community. I much prefer David's and your video tutorials.

    As you would know better than anyone, when a person takes on something like i did, it is never really finished. It will be interesting to see how DAZ develop the brush shapes in the next version of Bryce. There is room for more possibilities.

    Kind regards

    Peter


    Been working on this. Expect a PM soon.

    There are people who prefer written tutorials, others prefer videos. Personally, I like videos if a written summary of the essentials is also included. It helps going to the part one has some doubts when experimenting.

  • ChoholeChohole Posts: 33,604
    edited December 1969

    Tutorials are nice in PDF format, is how a few people are doing theirs now, with the site restrictions. My only long tut I only have in html format at the mo, straight onto my site.

  • GussNemoGussNemo Posts: 1,855
    edited December 1969

    This tutorial would have taken me too long to read online, so with the aid of copy and paste, and MS Word, I've a copy I can read at my leisure. Or print if I so desire. From little I have read, there's a lot of information. Great job Peter.

Sign In or Register to comment.