{"id":1307,"date":"2009-09-27T22:01:27","date_gmt":"2009-09-28T04:01:27","guid":{"rendered":"http:\/\/www.mrbluesummers.com\/?p=1307"},"modified":"2010-03-23T05:22:07","modified_gmt":"2010-03-23T05:22:07","slug":"introduction-to-3dsmax-probooleans","status":"publish","type":"post","link":"http:\/\/www.mrbluesummers.com\/1307\/blog\/introduction-to-3dsmax-probooleans","title":{"rendered":"Introduction to 3dsMax ProBooleans"},"content":{"rendered":"
\"3dsMax<\/p>\n

3dsMax Boolean Types<\/p>\n<\/div>\n

Booleans have been in 3dsMax as far back as most of us can remember. It’s a powerful object type that allows you to combine objects together using a Boolean operation. \u00a0You can combine two together to form a new, unified mesh, or subtract them from eachother and create shapes that would otherwise take a very long time to create. \u00a0If you’re coming from Bryce or Vue you’ll find that Booleans are a delightful (but slightly bitter) taste of home. \u00a0ProBooleans clean up and add to the ordinary Boolean object in many ways that we’ll outline shortly. \u00a0It actually makes it the indispensable 3dsMax tool it was meant to be.<\/p>\n

In this primer paper, I’ll be walking you through the ProBoolean compound object in 3dsMax. We’ll first do a deep dive into the features available in this tool, followed by when you should use Booleans and some techniques for doing so.<\/p>\n

ProBoolean in 3dsMax<\/h2>\n

ProBooleans in 3dsMax are a glorious thing. \u00a0Back in 2004 I was quoted as saying (with some exaggeration) that “I could die happy if ProBooleans was bundled with (the next shipment of) 3dsMax.” \u00a0To some extent this was true. \u00a0I learned on Bryce, so having a solid Boolean foundation starting out would’ve made my transition much easier. \u00a0Let’s take a scenic drive through each of the aspects of this tool, and I’ll try not to get too gushy.<\/p>\n

Pick Boolean Rollout<\/h3>\n
\"3dsMax<\/p>\n

3dsMax Boolean Types<\/p>\n<\/div>\n

The 3dsMax Boolean operand instancing types are identical to the ones in the original boolean object. \u00a0You can choose how your object is brought into the boolean hierarchy, and this can give you tremendous leverage over the final object.<\/p>\n

Reference<\/strong> – The operand is instanced <\/em>into the hierarchy, but modifications can only be made to the original object (the one not in the ProBoolean object).
\nCopy-<\/strong> The operand is duplicated <\/em>and brought into the hierarchywithout any instancing.
\nMove- <\/strong>The operand is put directly <\/em>into the heirarchy, and it exists only in the Boolean object.
\nInstance<\/strong>– The operand is instanced <\/em>and moved into the Booleanhierarchy. \u00a0Modifications can be made to the original or to the instance in the Boolean object.<\/p>\n

ProBoolean Parameters Rollout<\/h3>\n

The parameters rollout is where you’ll find the meat and potatoes of ProBooleans in 3dsMax. \u00a0From top to bottom, it contains 5 sections- Operation, Display, Apply Material, Sub-object Operations, and the Heirarchy viewer.<\/p>\n

Operation<\/h4>\n
\"Examples:<\/a><\/p>\n

Examples of 3dsMax Boolean Operations<\/p>\n<\/div>\n

This group handles what Boolean operation to execute on the objects. \u00a0Remember that this is the operation you want the selected object<\/em> to execute. \u00a0I.E. “I want this object that I picked to be a subtraction from the object that I have currently selected.” \u00a0You’ll find the rundown below:<\/p>\n

    \n
  1. Union- Combines the objects together into a single mesh. \u00a0The volume is combined as well.<\/li>\n
  2. Intersection- Creates an object in the area where all objects share some volume.<\/li>\n
  3. Subtraction- Removes the volume defined by the operand from the parent.<\/li>\n
  4. Merge- Attaches the objects together (similar to Editable Poly’s “Attach”), but cuts the objects where faces intersect.<\/li>\n
  5. Cookie- Conducts the requested operation (Union, Intersection, Subtraction, or Merge) but removes faces created by the operand.<\/li>\n
  6. Imprint- Overrides the selected operation and simply cuts the parent object where the operand intersected it.<\/li>\n<\/ol>\n

    Display<\/h4>\n

    This group is pretty self-explanatory. \u00a0It determines whether you’d like to see the result of the Boolean operations, or the 3dsMax objects that make up that result.<\/p>\n

    Apply Material<\/h4>\n
    \"Operand<\/a><\/p>\n

    Operand Materials<\/p>\n<\/div>\n

    This group handles how you’d like materials to be handled during the boolean operation. \u00a0“Apply Operand Material” will apply the incoming object’s material to the faces it creates. \u00a0Click on the image on the left to expand it. \u00a0If we had set this operation to “Retain Original Material”, the entire box would still be grey.<\/p>\n

    Sub-object Operations<\/h4>\n
    \"3dsMax<\/p>\n

    3dsMax ProBoolean Parameters<\/p>\n<\/div>\n

    This is where things get interesting. \u00a0Suppose you’ve inserted an object into the ProBoolean heirarchy and suddenly you need it back or need to delete it. \u00a0“Sub-object Operations” is where you’ll find that kind of functionality. \u00a0The “Extract Selected” button will do just that- extract the selected object in the Heirarchy Viewer according to the extraction method you’ve chosen. \u00a0You have 3 extraction methods to choose from:<\/p>\n

      \n
    1. Remove- This will extract the object from the heirarchy and leave you with the original object.<\/li>\n
    2. Copy- This will create a copy of the object that you may manipulate independent of the original in the ProBoolean heirarchy.<\/li>\n
    3. Inst- This is short for “Instance” and will create an instance of the object that you may manipulate in order to impact the Boolean object.<\/li>\n<\/ol>\n

      Besides this you’ll see “Reorder Ops” which will change the position of the selected object to whatever the number is in the spinner. \u00a0By default it’s set to one, which will move the selected object to the top of the chain- just after the base object. \u00a0Finally, the “Change Operation” button will change the net operation of the selected object to whatever is selected in the “Operation” group.<\/p>\n

      Advanced Parameters Rollout<\/h3>\n
      \"3dsMax<\/a><\/p>\n

      Advanced Parameters<\/p>\n<\/div>\n

      Update<\/h4>\n

      This group will control how the Boolean object is updated. \u00a0If you’ve got a chain of operations that contains extremely complicated operands, you’ll probably want to keep the updating to a minimum to keep things snappy. \u00a0While the default is set to “Always” you could set your updating mode to accommodate more complex situations.<\/p>\n

      Decimation<\/h4>\n

      Decimation controls the optimization that 3dsMax does after the ProBoolean operations are complete. \u00a0You can think of it as a cleaner, smarter “Optimize” modifier that comes with the package. \u00a0The percentage value represents the percentage of edges that are removed from the final object. \u00a0The higher this value, the more optimized the mesh becomes.<\/p>\n

      \"Levels<\/a><\/p>\n

      Levels of ProBoolean Decimation<\/p>\n<\/div>\n

      Quadrilateral Tessellation<\/h4>\n
      \"ProBoolean<\/a><\/p>\n

      ProBoolean Quadrilateral Tessellation<\/p>\n<\/div>\n

      When enabled, this feature will convert the final object into an all-quads 3d mesh. \u00a0This is an excellent feature if you’re looking to meshsmooth the final result. \u00a0While the final polycount will be quite high, this can be very useful for certain situations.<\/p>\n

      Planar Edge Removal<\/h4>\n

      Having control over how ProBoolean deals with geometrically meaningless edges can be quite important. \u00a0You’ll find this most useful when you’re combining objects that have coplanar, adjacent faces that have different materials. \u00a0Sometimes ProBoolean will ignore the different materials and remove faces anyway, and this can cause problems. \u00a0Know that you can control this change from the “Planar Edge Removal” group.<\/p>\n

      When and How to use Booleans in 3dsMax<\/h2>\n

      I recently created a Monday Movie showing you how to use the ProBoolean compound object to create meshsmoothed text in 3dsMax<\/a>. \u00a0 That’s just one example of what you can do with this feature.<\/p>\n

      I’ve found ProBooleans to be most useful for creating custom parts for mechanical renderings. \u00a0With the quadrilateral tessellation, you can take this a step further in order to meshsmooth the result. \u00a0Take a look at the images below that show a basic object being built using ProBooleans. \u00a0Something of this complexity might take significantly longer to produce using polymodeling. \u00a0ProBooleans allow you to virtually ignore mesh structure in favor of form. \u00a0It allows you to say “I don’t care what the mesh structure looks like, I just want an object that looks like this.” \u00a0While this tends to yield relatively polygon-intensive objects, it can be a big timesaver.<\/p>\n

      Take a look at the workflow below. \u00a0If you’re feeling adventurous, try doing what I did but then applying the quadrilateral tessellation and a bend modifier.<\/p>\n

      \"Example<\/a><\/p>\n

      Example Operation with ProBooleans – Click to Enlarge<\/p>\n<\/div>\n

      You can really go pretty crazy with ProBooleans as soon as you get a feel for what’s possible. \u00a0If you go easy on the tessellation, you can get some great effects at relatively little incremental polygons over modeling it by hand.<\/p>\n

      \"3dsMax<\/a><\/p>\n

      3dsMax ProBooleans are Addictive!<\/p>\n<\/div>\n

      Until recently, the only advantage ordinary Booleans had over ProBooleans in 3dsMax was that they were exposed to MaxScript. \u00a0However, even now this has been met with the exposure of ProBoolean to the scripting language. \u00a0As far as I know, Booleans remain in the 3d Studio Max package for legacy support reasons.<\/p>\n

      Common Errors<\/h2>\n

      \"ProBoolean_Invalid_Boolean_Error\"<\/a>The single most common error with 3dsMax ProBooleans is “Invalid Boolean” or “Check Operands for Self Intersection”. \u00a0This is commonly caused by having a ProBoolean object wrapping another ProBoolean object where the child object made no changes. \u00a0It’s caused by clicking ProBoolean twice on an object and then trying to select operands. \u00a0You can fix it by extracting the original object, and creating just one “ProBoolean” layer.<\/p>\n

      This happens all the time, don’t sweat it too much.<\/p>\n

      Another common issue is that ProBooleans crashes 3dsMax for extremely complex or taxing objects. \u00a0You’ll just add an operand, and 3dsMax will stall and stop responding. \u00a0This, too, happens all the time. \u00a0Booleans are a tricky object type and they are naturally rather resource intensive. \u00a0Remember to give the program plenty of room to breathe, and if it starts acting sluggish or stops responding, don’t click around wildly. \u00a070% of the time, the program will finish what it’s doing in about 10 seconds and recover from the crash. \u00a0Remember that nothing beats saving often. \u00a0I have Ctrl+Alt+S wired to “save-incremental”. \u00a0Every project of mine easily has dozens of incremental scene files.<\/p>\n

      If you find that your computer is struggling to keep up with a ProBoolean object in your scene, you can always apply an “edit mesh” modifier to help keep things snappy.<\/p>\n

      Another common problem is subtraction artifacts, though these are much less frequent in ProBooleans than in ordinary Boolean objects. \u00a0Even then artifacts don’t often come up in Max 2009 or higher. \u00a0When they do happen, they tend to occur when 3dsMax mistakenly inserts additional vertices along the edges in a subtraction. \u00a0While ordinarly this shouldn’t cause any problems if you’re not worrying about meshflow, they can cause problems in the polygon normals causing a strange tearing effect. \u00a0However, if this is still important, or if you’re getting artifacts on planar surfaces, you might want to read Bracer’s Vertex Cleanup Tutorial<\/a>.<\/p>\n

      And there you have it. \u00a0In this paper we’ve laid down a foundation for using ProBooleans in 3dsMax. \u00a0Now go play around with the toolset and start crashing the program. \u00a0If you’re not crashing 3dsMax at least once per week, it means you aren’t trying enough new things!<\/p>\n","protected":false},"excerpt":{"rendered":"

      Modeling using Booleans in 3dsMax has gotten much better over the last few years. This primer paper will show you how to get started using the ProBoolean compound object type.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"_links":{"self":[{"href":"http:\/\/www.mrbluesummers.com\/wp-json\/wp\/v2\/posts\/1307"}],"collection":[{"href":"http:\/\/www.mrbluesummers.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.mrbluesummers.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.mrbluesummers.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.mrbluesummers.com\/wp-json\/wp\/v2\/comments?post=1307"}],"version-history":[{"count":0,"href":"http:\/\/www.mrbluesummers.com\/wp-json\/wp\/v2\/posts\/1307\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.mrbluesummers.com\/wp-json\/wp\/v2\/media?parent=1307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.mrbluesummers.com\/wp-json\/wp\/v2\/categories?post=1307"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.mrbluesummers.com\/wp-json\/wp\/v2\/tags?post=1307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}