The Art of Constructive Solid Geometry in Bryce or “Bryce Origami”
The ramblings below were prompted by the response from Rashad in my previous thread.
Constructive Solid Geometry [CSG] was developed for industrial design and engineering representation. It is a quite old form of computer aided creation and representation of 3D objects [ i am not sure, but it has probably been around for 30 years]. The idea is that objects are usually manufactured by casting, extruding or machining and they can be built up from simple geometric objects called primitives. These primitives can be combined using Boolean Set Operators and Linear Transformations. An object is stored as a “tree” structure. The “leaves” contain simple primitives and the nodes store Linear Transformations and Boolean Set Operators. In the more advanced 3D graphics applications, the objects can be nested so that each “leaf” can itself be a “tree”. Bryce is one of the most advanced implementations of CSG available to artists at a very low price and it is capable of nested CSG!!!
Interestingly Bryce has survived as a viable means of modelling in Constructive Solid Geometry to this day.
I am here going to discuss only CSG in Bryce and not the other 2 modelling methods inherent in the “Bryce Modeller” (Metaballs and Displacement Modelling). Most 3D applications are based on polygonal modelling, giving the designer/artist control over points, edges and faces [polygons]. These applications may have Boolean Set Operations in their toolkit but these are used on the polygonal mesh. When the objects are completed they are generally not editable [there are some very expensive 3D programs such as Houdini - which i have tried out - which can actually do this. But i would not recommend Houdini to Bryce artists].
Bryce does not give the designer/artist any control over points, edges and faces [except globally]. For this reason, uninformed people say that “Bryce does not have a modeller”. The Primitives of Bryce are mathematical representations of 3D Forms and not polygonal mesh objects although Bryce can convert them into polygonal mesh objects for display [coloured wireframes] and export either back into Bryce [ as with the procedural stones ] or to other graphics applications which don’t do CSG. The Primitives of Bryce come in 3 groups : the Cube and Pyramid, the Cylinder and Cone, and the Sphere and Torus. The available Linear Transformations are: changing the origin point of a solid, positioning the solid in X,Y,Z, scaling it in X,Y,Z, rotation around X,Y,Z and skewing the solid along any arbitrary axis [the last needs some help from a user supplied procedure]. Bryce also allows these operations globally, in either world or object space [these can be a bit confusing and require careful study – Bryce is not 100% consistent in their application] The Boolean Set Operators are: Union of two solids, subtraction of one solid using another, and intersection of two solids [the common-shared volume becomes the new solid]. Since Bryce also supports change over time [it is a 4D application] Boolean Morphs and Particle Systems can be created [in conjunction with other tools Bryce offers and user supplied procedures].
I must mention that quite a lot of CSG work can be done without Boolean Set Operations [BSO]. On the other hand if we combine CSG with BSO and the other two distinctly different modes of modelling which Bryce Modeller has [Metaballs and Displacement Modelling ] then we have an extremely powerful modelling system. Recently Artists such as David Robinson [ www.bambam131.com ] have taken advantage of this power, and created realistic and believable space ships, landing capsules and space stations. David Robinsons models are of immense complexity and fine detail and could not have been created in a “high-end“ 3D-Application within a reasonable period of time [one also has to include the time it takes to learn any “high-end” application compared with learning Bryce].
Although Bryce is not exactly easy to use if you want to model very complicated objects with complex compound curves, you can learn to do this in a short period of time. Bryce Modelling therefore suits people who have a particular subject matter in mind, ranging from landscapes to architecture to machinery, spacecraft, etc., etc. , [not to mention the magnificent cloudscapes of David Brinnen] and who don’t wish to learn how to model generically as a “professional 3D artist”. These people may be engineers or scientists, who only want to represent their ideas or projects/object for dissertation and communication purposes, and simply don’t have 2 years spare time to learn Lightwave3D or some other such super program with millions of parameters and dialog boxes.
For example about 10 years ago when i was working as an electrical engineer, i designed an automated testing machine for testing circuit boards. I had to convince the management to spend the huge sum of money it would cost to build it. I only had about a week to do it. So i built the complicated mechanical rig in Bryce and also made an animation of it. When Management saw what i had done they accused me of having already made this device secretly at my home and that i simply photographed and filmed it. I said no i did it in less than a week with software costing less than $100. Some of these people were in charge of our CAD design department and we had 3D Industrial Design hardware and software costing millions [the company was then the largest manufacturer of electrical products in Australia]. They said it was “unbelievable”. But we got the funding and the equipment was constructed, and it worked as intended.
The point of the above example from real life is that credit does not belong to me but to the Bryce software. Today we must also give credit to DAZ for keeping Bryce alive! I simply recognized the right tool for the right job. At the time i was also learning Lightwave3D and became quite proficient at it. I recognized that if i had used Lightwave3D for this project, it would have taken too long to complete the demonstration art. In order to get the funding for the project i had only a very short period of time [i also had other responsibilities such as programming their automated test software].
I refer to Bryce-ONLY modelling as “Bryce Origami”. Generally people do not practice the Art of Origami to make a living. I very much doubt that people who practice Bryce-ONLY modelling get rich out of it!!! What some artists have made in Origami, starting with only a square sheet of paper, is truly remarkable. There are certain rules in Origami and generally the objects made are not imitative. In Bryce Origami it is similar. One would not imitate super-realistic humans or animals [for example as was attempted with Maya in the film “Final Fantasy....”]. If one were to build for example animated creatures using linked metaballs, they would be fantasy creatures, which convince us because of their interesting design [perhaps beautiful or terrifying], believable textures and most importantly by their realistic motion. In Bryce 4D we can achieve this. Rigging our creature for animation is harder to do than in Lightwave3D [or Carrara] but we can still do it if we wish to do it.
Like paper Origami, Bryce Origami has rules. Photoshop or any other such image editing application must not be used. 3D modelling software of any kind must not be used. All images must be created and processed in Bryce and all models must be made in Bryce. If Greyscale-to-height maps are required they must be created in Bryce. The only concession is in the assembly of animations for final display. It is permitted to use Quicktime Pro to assemble the frames or a program like Adobe Premiere.
If mesh objects are required for some purpose then the Bryce objects are converted and exported as OBJ files. They are then imported again and textured and then stored in the object library for that project. To create the mesh of a single primitive one simply changes the selected wireframe resolution to the number of segments one wants [the minimum is 8] one then duplicates the primitive and enlarges it a bit. The outer object is set to the intersect operator and the inner object to ”positive”. They are then grouped, then converted [little “c” button] and finally exported as OBJ somewhere one can find it again. Then one can delete the mess Bryce has made and import the object again. This is permissible because only Bryce is used and no other application. We don’t import it into another 3D application in order to change it [if you have Hexagon or Carrara it is always tempting to do that]. If the object is very complicated then one always retains the unconverted master either in an object library or as a file. The reason for converting to mesh may be to reduce the complexity of big models or to reduce the number native Bryce objects which Bryce may not like.
We begin Bryce Origami always at the world centre. By starting there we have a known numeric reference. Most operation require precise numeric alignment. Also for objects with circular or semicircular structure we use the principle of balance across the central rotation point by flipping a copy. When multireplicate is completed we remove all the balance objects. A pentagonal structure would end up with 10 parts and every second one must be removed. The other method is to use a linked chain which does not require a centre point.
The most imported habit to develop is to always work out how one is going to do something before one does it. It is good to doodle in Bryce but when we have an idea we want to realize to completion we spend some time planning how to do it. Usually there are many ways to do something. We visualize how the object will look when completed and all the steps required to get there. There is not much point in spending a day trying to build something only to find out it was impossible doing it that way. One then gets discouraged and ends up with the mindset of people who say “Bryce can’t model - it has no modeller”. Well the artist is an important part of Bryce Modeller!!!
The next important discipline is to name, group and colour everything. When one has a model with say 1000 primitives, it must be organized so that one can select any part of group of parts. I always use the postfix “_cut“ [cutter] to name parts that cut away from other parts. If one has only a list of Cube_1, Cube_2, Cube_3, etc., etc., then one does not know which are cutters, to be selected and moved globally [to change for instance a chamfer all around an object].
There are probably 10,000 or more distinctly different Bryce Origami techniques that one could learn and discovers. There are always new ones to discover if one pushes the limits. Bryce doodling is good way of doing that. Most times i get ideas in my head when i go for a walk and then try them out when i get back to my computer. If the object is very complex i build a simple test version to test the construction principle and give me motivation. In that process i learn new things about the structure of the object and how to make it better. I always look for ways to eliminate frustration. I try to make every step of construction enjoyable. I am doing it for my own pleasure.
I don’t use very much mathematics except when necessary. One only needs to know simple trigonometry, basic geometry and basic algebra and arithmetic. Of course the Windows calculator is indispensible. I always do all the number crunching in advance and put all the data either in a text file or in my notebook. I don’t want to be frustrated when i am building a model. There are enough things to worry about without having to maximize the calculator all the time to calculate a value.
If you are a computer wizz you can get free programs [“autoIt” is one of them] and write scripts for Bryce to make objects automatically driven from a text file in which you enter all the numeric parameters. The scripts will run and open an instance of Bryce and then automatically create objects and pump numbers in the required parameter fields, etc., etc.. Bryce has been designed to allow you to do this [you have probably noticed the annoying parameter box that always pops up in the centre of the screen]. You can then have a farm of robots working away while you do something else. I used to make animations with Bryce 2 in this way after i was driven insane putting in all the parameters by hand. Now that i am retired i don’t use scripts any more. It is too much messing around for me now to set them up. But i would put money on it that some talented Bryce artist is doing just that right now.
When the object is completed i save, save, save. I also save at every critical stage. If one has organized the construction very well and done a similar procedure before, then the work usually goes very quickly. Normally one would not spend more than 4 hours on a very complex object. Most objects can be built in less than an hour. When the object is saved, it can be used for many purposes and many of the objects are also editable. For example a spline made of many cubes can be used to make any kind of complex curve shape. It might take many hours to make something like that but then you have a universal building block to create any shape needed. For example you can make a coil sping using only the Cube and the Torus. Once you have the object saved you can load it and operate the spring like real spring operates!!!. You can’t do that with an imported mesh spring inside of Bryce.
I don’t agree entirely that Bryce Origami is TOO time consuming, because most of the objects are re-useable and some of them even editable. The initial investment of time pays off in the long run. If one is going to build furniture for example, only one table leg needs to be created and one can thereafter edit it to change it for other pieces of furniture in the same style.
Another great advantage pertains to reflective objects with smooth complex curvature [S-curve profiles, Onion Domes, etc.]. Mesh objects are not smooth when we zoom in on the curved edges [the normals are perpendicular to the camera rays – very evident in the Bryce stones] and often the terminator also reveals the polygon structure which soft shadows may not eliminate entirely. If one wants to make a perfect bottle or vase then it can only be done [in Bryce] using CSG and BSO. It is perhaps time consuming to make such objects, and also it CAN NOT be done by lining up the parts by eye – one has to get some help from simple mathematics. However once a few of these object are made they can be squashed and stretched and used for many purposes.
Bryce Origami can be very addictive. It is not unlike being addicted to computer games. One always thinks up more and more “impossible” objects. And the more one accomplishes, the more daring one becomes.
I should stress that Bryce offers some automated help. The multireplicate procedure and global object space displacement being the most obvious. There are many other neat things in Bryce to help you with the work.
If members of this forum are interested i can describe some simple Bryce Origami techniques and objects – with lots of pictures of course [5 pictures 800x800 is sufficient for the illustration because 2 to 4 will fit on one picture]. Or you could direct me to how and where i should post tutorials.
I also will need to brush up on HTML.
I think that is enough for tonight i don't want to bore you with too much text. You probably won't believe me but i hate writing.