ARTMATIC 5 New Features Guide
Transcription
ARTMATIC 5 New Features Guide
A RT MATIC 5.0 New Features Guide Many thanks to Peter Miller and Dick Scherzinger (Eonite) for their invaluable feedback. Copyright 2011, U&I Software LLC. All images are the property of their creators and may not be reproduced without permission. Images by Eric Wenger unless otherwise noted. Table of contents Requirements and Recommendations System Requirements Recommendations Note to Upgraders What’s New - Highlights What's New - In Depth Component Reference Update Miscellaneous component changes 1->1 Components 1->2 Components 1->3 Components 1->4 Components 2->1 Components 2->3 Components 3->1 Components 2->4 Components 3->2 Components 3->3 Components 3->4 Components 4->1 Components 4->3 Components Lesson: Using 3D Tree Structures 4->4 Components 4 4 4 5 7 8 21 22 23 23 24 24 24 26 26 43 43 47 55 65 66 72 78 A RT MATIC 5 New Features Guide This guide covers features added in ArtMatic 5.0. These features are not yet covered in the main ArtMatic reference manual. The comprehensive manual will be available soon. If you are already familiar with the main ArtMatic guide, you can become familiar with ArtMatic 5. If you are new to ArtMatic or have not used it in a while, you should skim this guide for features not covered in the main documentation but use the main documentation and its tutorials to become familiar with ArtMatic 5. Requirements and Recommendations SYSTEM REQUIREMENTS OS X.5 or later. The software can run on any hardware that can run X.5 or later. R E C O M M E N D AT I O N S When ArtMatic is used in conjunction with ArtMatic Voyager for the creation of volumetric clouds and objects, a quad core or better machine is recommended but not required. 3D rendering is by its nature processor-intensive and requires some patience. ArtMatic and ArtMatic Voyager compare favorably to other programs that accomplish similar degrees of resolution and quality – in fact, in many cases our apps are quite a bit faster than other 3D apps. ArtMatic objects (DFRM) requires ArtMatic Voyager 2.0 or later. ArtMatic 5 - New Features Guide 4 Note to Upgraders This chapter covers items of interest to anyone upgrading from an earlier version of ArtMatic. ArtMatic 5 is dramatic advance over previous generations of the software (as great as they were). These advances have required significant internal changes, some of which influence compatibility with files created in older versions of the software. Make sure to make backup/archive copies of all old files! We also recommend that you keep a backup copy of the version of the software with which the old files were created. Be sure to carefully read the rest of this section. File version compatibility - ArtMatic 5 can only read files created with version 4 or later. If you have files created with versions 3.x or earlier, you will need to run version 4.x under Rosetta or on a PowerPC-based Mac. Files are not backward compatible - This update has required a new file format which is not backward-compatible. Make sure to make back-up copies of any old documents before opening them in the new version since you will not be able to open them in the original version if you save them with the new version. Render variations - Some ArtMatic files created in earlier versions may not render precisely the same as they did in earlier versions (particularly those that use complex gradient shaders that reference the interior of the ArtMatic structure tree). Files that use any complex gradient shaders will probably need to be tweaked to restore their original appearance. Other gradient-based images may also need some adjustment. For this reason, we recommend that you maintain a copy of the ArtMatic version used to create the files and a backup copy of the original files. More information about this is found in the release notes. VTrack incompatibility - raw ArtMatic 5 files are not compatible with VTrack. You can render movies and picture sequences from ArtMatic 5 for use in VTrack, but VTrack cannot open ArtMatic 5 systems themselves. A new-generation video montage tool is being prepared but is not yet available. ArtMatic Voyager for 3D Rendering! ArtMatic 5 introduces a new class of components for creating fully-3D objects that can be rendered as stills or animation in ArtMatic Voyager (2.0 or later). ArtMatic Voyager now has options to render objects with or without a landscape and/or sky which allows Voyager to be a 3D rendering tool for ArtMatic art. Make sure to visit the ArtMatic Voyager home page and galleries to see the amazing visuals that the two apps can create together. OTHER ITEMS OF INTEREST TO USERS OF PAST VERSIONS: • Component popups. The component order has been updated to be more intuitive ArtMatic 5 - New Features Guide 5 • • • • • City Textures/ City Lights and Reflections/Tech Noise# components. The sharp/ smooth option is now displayed in the option pop-up rather than included as part of the algorithm. Picture input buffer. Input pictures are no longer reformatted to fit an internal picture buffer. The input format specification has been removed from the Input Pict/Movie dialog since it is now obsolete. ArtMatic Browser. Browse Directory requires that you choose a folder that contains one or more folders that contain ArtMatic presets. If you choose a folder that contains presets, rather than other folders, the display will be blank. Logical Format. Logical format has been removed from the preferences dialog as it is now automatic and only relevant for special cases that use non-square pixels. ArtMatic handles these cases automatically. Search for Missing preference. The old preference about searching for missing files has been removed. ArtMatic 5 - New Features Guide 6 What’s New - Highlights ArtMatic 5 is a major technological advance that opens up amazing new possibilities especially when ArtMatic 5 is used with ArtMatic Voyager: hundreds of new graphics algorithms many of which are optimized for the creation of 3D objects, eight-core rendering, seamless integration with ArtMatic Voyager, and much much more. The ArtMatic/ArtMatic Voyager combination is no longer just for creating 3D landscapes. ArtMatic 5's new DFRM (distance field ray marching) technology creates objects that can be rendered by ArtMatic Voyager with or without a surrounding landscape. These capabilities can be used to create cosmic visions, abstract 3D art, and stunning 3D landscapes. And, of course, all these new components expand the possibilities of the 2D graphics for which ArtMatic is famous. • • • • • • • • • • • • • • • Components for creating fully-3D objects when rendered with ArtMatic Voyager – including plants and trees and much more Up to 8 processors for rendering and previewing New image output formats: pdf, tiff, height map, png 33 new components providing hundreds of new algorithms New component options that expand the possibilities of many previously existing components Hot-linking with ArtMatic Voyager for automated realtime view-updating when the apps are used together Flexible aspect ratio for the main canvas (adapts to the Aspect preference) Compiled trees from groups. Compiled trees can be made from a group of tiles in the main structure tree. Audio-engine optimization for smooth audio previews on multi-core machines Support for up to 32-bit floating point audio output when rendering sounds New color shading modes Alpha channel visualization Many behind-the-scenes optimizations Preset library with more than 2,000 presets (optional) Much much more ArtMatic 5 - New Features Guide 7 What's New - In Depth This chapter describes features added in ArtMatic 5 that were not previously available. These features are not yet described in the main ArtMatic reference manual which is being updated to cover the new features. 8-core rendering. ArtMatic 5 uses up to 8 processors when rendering and previewing for massive speed improvements on computers with more than 4 cores. 3D Objects/Density Fields. The ArtMatic 5 engine features quite a few new components for constructing fully-3D objects using something called density fields. These components require ArtMatic Voyager for 3D rendering. The possibilities are enormous and have barely been explored. Take a glance at our online galleries, and look through this document for many examples of this new technology. These objects can be rendered with or without a surrounding landscape and/or backdrop. ArtMatic Voyager is no longer for rendering landscapes only. Now, it can render 3D abstracts and cosmic visions designed in ArtMatic. These objects can even be rendered as stereoscopic 3D images using ArtMatic Voyager's binocular rendering option which opens up a vast new area for exploration. What is a density field? Don't be intimidated by the technical explanation that follows. All you really need to understand is that a density field component creates output that ArtMatic Voyager can interpret as a 3D object. You do not need to know anything about the underlying technology or how density fields work to make use of them. Technically, a density field takes a point in 3D space and returns a value that indicates the distance from the object's surface. The object's surface is defined as anywhere that the density field is 0; positive values indicate the object's interior; negative values indicate regions outside the object. ArtMatic provides density field components that are easy to manipulate to create objects. See the DFRM Guide for detailed information and some lessons. The images on the following pages demonstrate objects designed in ArtMatic and rendered with ArtMatic Voyager. ArtMatic 5 - New Features - In-Depth 8 ArtMatic 5 - New Features - In-Depth 9 Images this page copyright 2011 by Eonite and may not be reproduced without consent. ArtMatic 5 - New Features - In-Depth 10 Images this page copyright 2011 by Eonite and may not be reproduced without consent. ArtMatic 5 - New Features - In-Depth 11 Examples on this page provided by Peter Miller and may not be reproduced without permission. Copyright 2011. ArtMatic 5 - New Features - In-Depth 12 Examples on this page provided by Peter Miller and may not be reproduced without permission. Copyright 2011. ArtMatic 5 - New Features - In-Depth 13 Flexible canvas aspect ratio. The canvas is now drawn using the Aspect preference and is changed on-the-fly. The horizontal to vertical ratio of the displayed area must be 1:2 or less. If the horizontal to vertical ratio is greater than 1:2, 1:2 will be used. New components. 33 new components supply hundreds of new algorithms, shapes and patterns. ArtMatic 5's new architecture allows a single component to have up to 32 different algorithms or behaviors plus many now have an option that provides alternative ways of interpreting their parameters. Many of these new components provide functionality especially useful for implementing 3D objects. Component Algorithm Popup. In the past, some components used Parameter A as an algorithm selector for components like 2->1 Math Tools or 2->1 Tech Noise. The new ArtMatic 5 architecture now allows components to have an Algorithm selector without using up a parameter slot. All old components and most of the new ones still make use of the parameter A slider for algorithm selection (although you can choose the algorithm from the popup as well). The new 4->3 3D Tree Structures is a component that uses the algorithm popup but uses Parameter A for something else. Component options. Many components now have an option popup that appears when relevant. The options generally influence how certain parameters are interpreted (such as whether the angle is specified in radians or degrees). The option is not keyframable and appears below the parameter sliders when available. Common options are: • • Angle in Radians/Angle in °. This option lets you choose to work with angles in degrees rather than in radians. In the past, ArtMatic always used radians for rotation and angles. When using degrees the range is from -180° to 180 °. Use the 'snap to integer' grid to make it easier to set precise angles when using degrees. Radians provides a larger range of rotation. Use Direct Frequency / Use Voyager km. When available, this option lets you set the frequency of some noise components using ArtMatic Voyager distance rather than using the direct frequency. This is available for fractal noise and Perlin noise functions which are often used in designing ArtMatic Voyager terrains. This option is convenient when designing systems for ArtMatic Voyager since it makes it much easier to set the size of large-scale features (which are associated with very low frequency values like 0.0012 which can be hard to set using the sliders). With the Voyager km option, you ArtMatic 5 - New Features - In-Depth 14 • can use the full range of the slider to set the base noise scale (the scale of the lowest frequency element of the noise) in km. It is accurate when the scaling in Voyager is set to Absolute but is still useful when using relative scaling. It will also make frequency parameter mutations (using the mutation tools) more meaningful for terrains. Zero Floor / Allow Negative Values. Certain 2->1 components (such as Lozenge, Line, and Shapes #) have a new option that allows negative values. Previously, these components generated values greater than or equal to 0 only. The creation of 3D objects (for ArtMatic Voyager) requires values that are both negative and positive. By using the option Allow Negative Values, 2->1 components can be used together to create 3D objects. See the section 3D from 2D for demonstrations. ArtMatic/Voyager hot-linking.When ArtMatic is being used to edit an element opened from ArtMatic Voyager, the view in ArtMatic Voyager is updated instantly when the ArtMatic system is saved. This feature is especially powerful on a two display system or with the apps side-by-side on very large screens. New output formats. New image output formats are available when rendering images to disk. The available formats are: pdf, tiff, png, Height Map 1025 (16 bits), and Height Map 2049 (16 bits). Height Map output for exporting to 3D apps. The new Height Map output options are used to export surfaces from ArtMatic to 3D software such as Unity and Bryce or any other software that supports 16-bit height maps. Height Maps only make sense with 1-out systems or RGBa systems (where the alpha output defines the exported elevation map). Audio - optimized realtime rendering. Sound rendering has been rewritten to be multithreaded. Audio playback is much improved when previewing complex systems on multicore machines. Audio - support for more audio types and bit depths. ArtMatic now supports aif, caf, Sound Designer II and wav files at up to 32-bit output. All internal audio computations are 32-bit floating point. CAF (core audio file) format supports 32-bit floating point output as well as 16, 24, and 32-bit integer. List of PIctures supported as Movie input. Image sequences are now treated as movies when used as inputs to Pict/Movie components. If you select an image file with the Choose Pict/Movie popup and its name ends with a number (such as image0120.png), ArtMatic will treat it as a movie if it also finds image0000.png. Use the Rate Option Match Frame in the Input Pict Movie Setup dialog so that the frames will be matched to the project's frame rate. The options for the movie start time work with image lists and allow you to extract portions of the image sequence. If you want to use a still image that has an imArtMatic 5 - New Features - In-Depth 15 age sequence-type name (that is in the same folder as other files with sequential names) as input, you will need to either rename it so that the name doesn't seem like a sequence number or move it into a folder by itself. New interlacing options for Input Pict Movie Setup. A new Fields popup has been added to the Input Pict/Movie Setup dialog to provide improved handling of interlaced input. If the movie is not interlaced, leave the setting at "Normal / Interlaced" or you will lose definition. Fields options: • • • • • Normal / interlaced: no change (use this for non-interlaced input or interlaced input that you don't want to re-interpret). Merge Fields: mix the even and odd fields Merge Fields & filter: mix even and odd fields and apply a light blur Even Fields: use the input's even lines and duplicate them to the odd lines Odd Fields: use the input's odd lines and duplicate them to the even lines List of Pictures image format now PNG. Rendering a movie with the List of Pictures format now uses PNG format rather than PICT. Compiled trees - New Compiled Tree from tile groups. It is now possible to select a logical group of tiles and create a new compiled tree from it. To select a group of tiles, click on the uppermost tile of the group and shift-click on a tile below it to set the output tile of the compiled tree. Choose New Compiled Tree from the Tree popup (or type the 'n' shortcut). All tiles between the two tiles will be added to the compiled tree including the last one as long as all the tiles are linked directly or indirectly to the first selected tile. It is the user's responsibility to select a meaningful group. In some cases, you may need to add a tile or two in order to make sure that all the tiles that you want to capture are part of a logical grouping. Example This example shows what happens if you have tiles connected to tiles outside of the selection group. The first tile selected is the group's parent and has a green outline. The last tile of the group is indicated by the red outline. The last tile in this group is connected outside the group. As a result, the compiled tree ends up with a last tile that has an unconnected input which is something to be avoided or corrected. ArtMatic 5 - New Features - In-Depth 16 [Left] Structure Before [Middle] Outer Structure after New Compiled Tree is applied [Right] CT Interior. Notice that the last tile in the tree has an unconnected input. Before using New Compiled Tree, you should make sure that the selected group is logical and complete (or you should clean up the tree afterwards to make sure that all inputs/outputs are connected). For example, in this case, a tile could be added at the top of the tree to join the two branches so that the new compiled tree will be complete. [Left] The tree with a tile added at the top to join the branches [Middle] After applying New Compiled Tree [Right] Inner structure of the new compiled tree Compiled trees - Rename compiled tree command. It is now possible to give a compiled tree a new name. To rename a compiled tree, use the Tree popup's Rename Compiled Tree command. This changes the name of the tree internally and is useful for indicating the tree's function. If you later export the compiled tree, this will be the exported tree's default name. Improved Alpha Channel visualization. A checkerboard background has been added to make alpha-channel visualization obvious when working with structure trees that have an alpha channel. This should prevent surprises that have occurred when people inadvertently created ArtMatic systems with unintended alpha channels that caused their images to be partly transparent when opened in apps such as Preview that automatically composite images with transparency against a background color. To render a movie with an alpha channel, make sure to set the color depth to "millions+" for a QuickTime or use List of PIctures (which renders as a sequence of PNG files). If you do not want an alpha channel, ArtMatic 5 - New Features - In-Depth 17 use the new RGB Multi shader or add a 3->3 tile at the bottom of the structure (which makes the structure an RGB rather than RGBa structure). A checkerboard pattern shows through for RGBa (four-output) structure trees where the image is not fully opaque. If you do not want an alpha channel (a transparency layer), set the shader to RGB Multi (or add a 3-output component at the bottom of the tree so that there will be no alpha channel). RGB Shader Changes. There are two new RGB shading modes: RGB Multi and RGB Density (main out). RGB Direct mode has been renamed RGB Alpha (main out) and RGB Alpha Bump has been renamed RGB Bump (main out). Also, as noted above, a checkerboard background pattern has been added to help visualize the alpha channel. RGB Multi (new). This mode has a few uses. It composites (mixes together) parallel output components in trees that have more than one output component. RGB multi ignores the alpha channel of the main output; so, it is useful if you want to render a 4-output tree without its alpha channel. It is especially useful for designing multi-output ArtMatic systems for ArtMatic Voyager since ArtMatic Voyager 2 can make use of multi-output systems. It makes it possible to visualize the extra outputs being sent to Voyager. How it works. The alpha channel of the leftmost component is ignored. If there is more than one output component, the image is composited according to the following rules: • • • scalar values (the output of a one-output component) are shaded in additive mode using the auxiliary colors where auxiliary color one is used for the first extra output, auxiliary color for the second extra output, etc.). RGB values (3-output components) are shaded in additive mode RGBa values (4-output components) are added according to the alpha layer values (i.e. the alpha layer is treated as a transparency mask). Several examples of RGB multi mode are found the 5.0 Examples folder of the ArtMatic presets library. Improbable Bubbles and all the examples that start with the word "multi" use RGB Multi. ArtMatic 5 - New Features - In-Depth 18 RGB Multi. Scalar values example.The main output component is an RGB (three-output) component. There are two extra scalar outputs labeled A and B. The extra outputs are drawn with the auxiliary color that corresponds to their position. The first extra output (A) is drawn with the first auxiliary color and the second extra output (B) is drawn with the second. [Inset] ArtMatic system [Outer] Image as it appears with RGB Multi. RGB Density (new). This mode is primarily for visualizing 3D objects that will be rendered by ArtMatic Voyager. It gives you an idea of the shape of the object and the colors that will be used for its texture. RGB Density only makes sense when the output component is RGBa (has four outputs). The left three outputs provide the object's colors. The fourth output is interpreted as the object's surface (density field). The object acts as a mask so that the color texture only appears where the object is defined. By contrast, RGB Alpha mode scales the transparency proportionally to the fourth output's value for fine gradations of transparency. Because an object either exists or doesn't exist at any point in space, RGB Density is much more useful for visualizing where an object is defined than RGB Alpha mode. RGB Density does not provide 3D shading. For true 3D-visualization, use the system inside ArtMatic Voyager. [1] The structure tree [2] The image created when using RGB Alpha mode [3] The image created when using the RGB Density shader [4] [Left] The object as rendered by ArtMatic Voyager in No Planet Mode [Right] The object rendered in ArtMatic Voyager as part of a scene. ArtMatic 5 - New Features - In-Depth 19 Gradient color shader changes. In order to implement forward-looking technology, many of the gradient-based color shaders had to be re-implemented. As a result of these changes, some of the gradient-color shaders do not render identically in version 5 as they did in previous versions. The complex gradient-based shaders were most affected by this change--especially those that reference components in the interior of the structure tree. These shaders have been kept for historical reasons but may disappear at some point in the future. So, you should not rely on them -- especially the modes such as Linear+3 Lights that make use of input values in the interior of the tree. You should now use the 1 -> 3 Main Gradient or Indexed Gradient components to map the gradient to RGB color and use the many compositing tiles to obtain similar effects using true RGB colors. IMPORTANT! If you have files that use gradient color, make sure to keep backup copies of the original files as well as the ArtMatic version used to create them as a reference. ArtMatic Voyager mode updated (Global Input Matrix). The ArtMatic Voyager global input mode now fills A3 and A4 with the Voyager camera position which allows the creation of camera effects (such as lens flares). When "Link Environment to Sun" is turned on in ArtMatic Voyager (available when the Sky mode is Backdrop or Backdrop+clouds), the A3 and A4 inputs provide the sun's co-ordinates (which are centered to the sun position). Scroll Wheel Support. The computer mouse's scroll wheel is now supported if it is turned on in both the System's and ArtMatic's preferences. The scroll wheel can be used to scroll the canvas. Removed outdated "Use Pict's Own Size" option. Formerly, ArtMatic scaled picture input to fit an input buffer the same size as the project's work format unless Use Pict's Own Size was selected in the Input Pict Movie Setup dialog. Input images are now always used at their true size. Removed outdated Logical Size preference. In earlier versions of ArtMatic, userdefinable preferences for the work format (the actual pixel dimensions) and logical size were provided to handle non-square pixels. Since, digital video now predominantly uses square-pixels, we have removed this setting which often caused confusion for people that were unfamiliar with the difference between square and non-square pixels. Unless using a preset for something (such as DV format) that uses non-square pixels, ArtMatic will use square pixels. When choosing a preset size that is associated with non-square pixels (such as DV format), the logical size is automatically set. ArtMatic 5 - New Features - In-Depth 20 Component Reference Update This section documents new and changed components. There are 33 new components in ArtMatic 5 which includes some new classes of components that are especially useful for designing 3D objects. If you do not already have ArtMatic Voyager, you may want to download the demo version and explore the folders with "DFRM" in their name in ArtMatic Voyager's 2.0 Examples folder. Where relevant, images have been rendered from ArtMatic Voyager rather than ArtMatic. Some important new or expanded classes of components are: • • Density Fields / Objects - There are components that create primitive 3D solids and/ or collections of primitive solids (spheres, cubes, tubes, and the like). Technicallyspeaking, these components create density fields that ArtMatic Voyager can render as 3D objects, but you do not need to understand what a density field is to make use of them. While these are especially useful for designing objects to be rendered in ArtMatic Voyager, they can be used to create beautiful images in ArtMatic itself, as well. See the document DFRM Guide more information about DFRM. 3D iterators - These components allow iterative manipulation of 3D space/objects and are especially useful for creating complex 3D fractal and fractal-like objects. Such as those below: Examples by Peter Miller • 3D space transforms - Quite a few space transforms have been added that are useful for manipulating 3D objects and for creating 3D objects from 2D components. ArtMatic 5 - New Features -Component Reference 21 MISCELLANEOUS COMPONENT CHANGES Packed Alpha mixers (updated). All of the Packed Alpha... 2->4 and 3->4 components (Packed Alpha Max, Packed Alpha Min, etc.) have been rewritten to address several issues when the input is from scalar values or 3->1 Pack. In general, Infinity is transmitted out when all the input values are infinite. Scalar input values are treated as surfaces shaded with gray levels according to height. Packed 3 inputs are given a default alpha/height value except for Add where it is set to 0. Packed inputs. All of the components that take packed inputs can also accept nonpacked input in any inputs. City Noise components. The centering of the street marks in various city noise components were fixed. Compiled Tree Recursion/Iteration. Some changes have been made to how compiled trees handle recursion. In the past, all compiled trees with the same number of inputs and outputs (except for the 4->4 compiled tree) were recursive. Recursive compiled trees pass their output back to their input when iterated. Iterative trees loop without recursion. The 4>4 Compiled Tree has been modified to be recursive like all other trees with the same number of inputs and outputs. Since there are times when recursion (feedback) is undesirable, there is now an option to disable feedback. Feedback might undesirable if, for instance, the compiled tree inputs are 3D co-ordinates and the outputs are color values. When feedback is off, the recursion parameter behaves like an iteration parameter. This only affects 1->1, 2->2, 3->3, 4->4 compiled trees. In older versions, feedback was always on for these trees (with the exception of 4->4 trees). The options menu appears below the parameter sliders. Options (new): allow feedback, feedback disabled. ArtMatic 5 - New Features -Component Reference 22 1->1 COMPONENTS Set Constant (new). This component returns a constant value set by parameter A regardless of the input value. The options popup provides three interpretations of parameter A: direct value, 1/value, angle in °. When direct value is selected, the output value is the setting of parameter A. When the 1/value option is used, the output is 1 divided by the parameter A value. When the angle in degrees option is selected, parameter A is treated as a value in degrees, and the output value is the equivalent value expressed in radians. Math Tools (new algorithms). Two new algorithms have been added (selectable by parameter A or the Algo popup) iteration break |x|>32. This component aborts iterations within a recursive compiled tree when the input value is larger than 32. This can be used to optimize certain fractals by aborting meaningless (and time-consuming) iterations. fract(x). Returns the fractional part of the input and is much faster than modulo. Modulo (updated). The function was updated to increase the frequency parameter's range and to make sure that 0 is in the middle of each repetition series. The phase setting offsets the x-axis. Scale (updated). The component was updated to have parameter options. The options are: direct value, 1/value, or angle in degrees. When direct value is selected, the output value is simply the setting of parameter A. When the 1/value option is used, the output is 1 divided by the parameter A value. When the angle in degrees option is selected, parameter A is treated as a value in degrees and the output value is equivalent value expressed in radians. The angle in degrees option is convenient for multiplying by Pi (180 degrees) or Pi/n. Saw (updated). The Right Slope parameter (A) now includes negative values in its range. A negative slope provides a gradual attack and a rapid decay. Offset (updated). The range of the offset parameter has been increased. 1->2 COMPONENTS Derivative (new). Returns the partial derivatives DX, DY. Set Constant (updated). Parameter options have been added: direct value, 1/value, angle in °. See 1->1 Set Constant for more information about these options. Modulo (updated). Modulo has been updated to ensure that 0 is centered in the repetitions. ArtMatic 5 - New Features -Component Reference 23 1->3 COMPONENTS Derivative (new). Returns the partial derivatives DX, DY and DZ which are useful for 3D Fields (such as DFRM objects) and 3D Textures. Set Vector (new). Scale the input value using parameters A, B and C and output A*x, B*x, C*x (which creates the vector Ax, Bx Cx). 1->4 COMPONENTS RGB Gamma (new). This is the same as the 1->3 RGB Gamma component with the additional capability that it passes out the input via the alpha channel. RGBA Indexed gradient (new). This is the same as the 1->3 counterpart with the additional capability that it passes out the input via the alpha channel. 2->1 COMPONENTS Math Tools (new algorithms). Four new algorithms have been added to the algorithm list (also selectable by parameter A). • • morph log (e^x + e^y). This is a morphing algorithm. Its equation is: log(exp(x) + exp(y)). The result is a smooth blending of two functions when their values are close but works like a maximum function when the values are far apart. smooth max. A version of maximum with a fixed smoothing ratio that is useful in recursive/iterative compiled trees. Unlike the normal maximum algorithm, smooth max adjusts the smoothing to the iteration level of compiled trees in order to avoid small scale elements being smoothed too much. This is often used in recursive compiled trees used to generate trees and vegetation for ArtMatic Voyager. • power x^y. Raise input value x to the power of input value y. • iteration scale x/y^i. This algorithm performs scaling that is inverted with respect to the number of iterations of the tree which contains it. It is useful for iterative fractals where space needs to inverse scaled with respect to the number of iterations. It is especially useful for creating DFRM fields where the field amplitude needs to be inverse-scaled with respect to the space. Most of the iterated DFRM fractals and iterative tree examples provided with ArtMatic Voyager make use of this component. See the "iter tree" series of examples and the "Fractales 3D" examples found in the ArtMatic Voyager 2.0 Examples folder. ArtMatic 5 - New Features -Component Reference 24 The table below demonstrates how the use of iteration scale can be used to have elements (such as spacing and size) change in relation to the number of iterations. Iteration # Example 0 2 3 6 ArtMatic 5 - New Features -Component Reference 25 Ax+By+C (updated). Add parameter options (direct value, 1/value or angle in degrees) for interpreting the scaling parameter . See the 1->1 Scale component for more details. 2->3 COMPONENTS Packed RGB min (new). This new packed mixer returns the minimum of (input 1 * parameter A) and (input 2 * parameter B). This component can also be used to mix two 3D spaces. If the inputs are RGBA, transparent regions are shaded lighter. Packed RGB max (updated). A new parameter, feather, has been added to smooth discontinuities 3->1 COMPONENTS 3D Density Shapes #. This component provides 3D density fields that correspond to some basic solid objects which can easily be morphed into complex objects. It is primarily used for creating 3D objects rendered in ArtMatic Voyager but they can be used for native ArtMatic images, too. In general, the fields have 0 as the center value (which defines the object surface in Voyager). The value goes to -infinity when moving far away from the object. The field is positive inside the object and indicates the distance to the surface. See the example "2.0 examples/DFRM Objects/Basic Objects/3D Shapes Dimensions.vy" to see all the primitive shapes with their normal orientations and size. Parameters: (A) Algorithm - selects the shape (B) Radius - the object size. An undistorted,unscaled sphere of radius 1 (the unit sphere) has a radius of 20 meters in ArtMatic Voyager. (C) Amp (amplitude) - This value is normally either 1 or -1. -1 creates a negated field which is very useful when using boolean operations (such as min) to create a hole in another field as shown below. The algorithms from plate xz to hollow tube use the amplitude to control the z dimension (depth). ArtMatic 5 - New Features -Component Reference 26 Complex shapes can be made from simple combinations of primitive Density Shapes. In this example, a cube with amplitude 1 is combined with a cylinder whose amplitude is -1 using MinMax set to minimum. See the DFRM Guide for more information. Sphere a sphere of radius B. Column an infinite upright cylinder of radius B in the y axis Tube x axis an infinite upright cylinder of radius B in the x axis ArtMatic 5 - New Features -Component Reference 27 Tube z axis an infinite upright cylinder of radius B in the z axis Ring (xz) plane axis a horizontally-oriented (oriented in the xz plane) torus (donut shape) Ring (zy) plane axis Ring (xy) plane axis ArtMatic 5 - New Features -Component Reference 28 Saucer xz a flattened sphere Cone an infinite cone. Radius (parameter B) changes the slope Pyramid an infinite pyramid. Radius changes the slope Cube a cube ArtMatic 5 - New Features -Component Reference 29 Smooth Cube a smooth-edged cube Cylindre A cylinder whose height is finite above 0 but infinite where y < 0 Obelix a truncated rectangular prism (box shape) that is finite where y > 0 and infinite where y < 0 Arch y an arch-topped rectangular prism (box shape) that is finite where y > 0 and infinite where y < 0 ArtMatic 5 - New Features -Component Reference 30 Rounded tube y A cylinder with a rounded top that is finite where y > 0 and infinite where y < 0 Spheres cluster xz A collection of spheres on the xz plane (horizontallyoriented). This is a nice starting point for groups of rocks or asteroids Spheres Cluster A cluster of spheres. This is a nice starting point for flying rocks or asteroids ArtMatic 5 - New Features -Component Reference 31 Column Cluster xz Cubes Cluster xz Cubes cluster Plate xz ArtMatic 5 - New Features -Component Reference a horizontally-oriented flattened box 32 Panel xy a vertically oriented flattened box. Amplitude (parameter C) controls the depth Frame xy a vertically-oriented rectangular frame shape. The frame edges are squares and Radius controls the object size. Amplitude controls the depth. Hollow Tube z a hollow horizontallyoriented cylinder oriented along the z-axis. The size is Radius*8. Amplitude (parameter C) controls the depth in the z direction Leave y A vertically-oriented leaf shape. A useful primitive for designing vegetation ArtMatic 5 - New Features -Component Reference 33 Grass y A vertically-oriented shape reminiscent of a blade of grass. This is a useful primitive for building objects, but for creating "real" grass the builtin 3->4 Color Grass Field component is computationally-more efficient than building grass from primitives. Branch Smooth The branch series is essentially a collection of smooth-topped cones (with a steep slop) with a variety of useful textures. A branch shape with a smooth surface. Branch B A branch shape with a textured surface Spiky Branch A branch shape with a spiky textured surface ArtMatic 5 - New Features -Component Reference 34 Cactus Branch Twirl Bumped Branch Radial Displace #. This component creates radial displacements that provide interesting surface features to 3D objects (primarily those that will be rendered from ArtMatic Voyager), especially vegetation. This component provides quite a few different algorithms for very different effects. Radial displacement can take a shape like the one on the left (a sphere merged with a cone) and add interesting surface detailing The displacements radiate outwards from a vertically-oriented cylinder. To use Radial Displace with DFRM objects, add the output of Radial Displace to the object's output value as shown in the example tree. For the math-minded: Radial Displace creates displacement ArtMatic 5 - New Features -Component Reference 35 of the angle/distance/y-axis with a displacement vector pointed towards an outward x/z cylinder. Explanation of the example structure tree. Group A creates the "cone/sphere" by combining two 3->1 Density Shapes (a cone and a sphere) using 2->1 Math Tools set to Max as the mixer. The 3D Offset tile is used to control the position of the sphere on the cone. The tile labeled B is the Radial Displace component. The tile labeled C is used to add the Radial Displacement to the object (density shape). Parameters: A: Algorithm, B: Phase, C: Frequency Algorithms. The table below illustrates all of the algorithms by applying them to a merged cone & sphere. The renders were done with ArtMatic Voyager. See the ArtMatic Voyager example file 2.0 examples/DFRM Life & Plants/Components Demo/RadialDisplaces Demo.vy to see examples of all the algorithms. Advancing the time slider will advance you through the algorithms. Cone and sphere with no displacement. 1. Fibrous Segmented 2. Petales 0. Y-Segmented ArtMatic 5 - New Features -Component Reference 36 3. Radial Sines 7. Bumps A 4. Sparse Spikes 8. Bumps B 5. Upward spikes 9. Random 6. Saw and Spikes 10. Spherical Spikes ArtMatic 5 - New Features -Component Reference 37 11. Spherical Spikes+ 14. Spherical Bumps C 12. Spherical Bumps A 15. Spherical Random 13. Spherical Bumps B ArtMatic 5 - New Features -Component Reference 38 3D Density Noises. This component provides a variety of 3D noise that can be blended with a density field object (DFRM object). The output range is infinite so it needs to be intersected or blended with a finite object to bound it. 3D Density Noise (depending on how it is used) can add texture to a surface (as seen in the Textured Torus examples below) or transform a primitive shape like a sphere into something much more interesting. Typically, 3D Density Noise’s output will be combined with the output of a density field object using a component like 2->1 Ax+By+C or 2->1 Interpolate. Some helpful example files are provided with ArtMatic Voyager: • • Textured Torus - A basic example that shows all the noise types (by moving the time slider in Voyager). See Voyager's 2.0 Examples/DFRM Objects/Basic Objects/Textured torus.vy Desert Psychic 3D - This example interpolates a sphere with the Jitter Spheres noise to create a sphere cluster. It demonstrates how you can transform one object into quite a different object. See Voyager's 2.0 examples/DFRM Objects/Basic Objects/desert psychic 3D JS.vy Parameters: A: Algorithm, B: Scale, C: Amplitude Algorithms: Cylindre 3d grid # , Rect 3d grid # , Diamond 3d grid # , Sphere 3d grid # , Spheroid noise # , Cuboid noise # , Jitter Spheres # , Random Boxes # , Lines Network # , Random Plates # , Random Polygons # D E S E R T P S Y C H I C E X A M P L E S ( 3D D E N S I T Y N O I S E ) This structure tree demonstrates how 3D Density noise can be used to transform a simple shape into something much more complex. This tree interpolates a Density Shape with Density Noise to create a new shape (or cluster of shapes). This is the ArtMatic tree used to create the object cluster in the Desert Psychic 3D example system. It is used for the examples that follow. In all cases below, the 3D Density Shape is a sphere. ArtMatic 5 - New Features -Component Reference 39 Shape: Sphere. Density Noise algorithm: Jitter Spheres. Shape: Sphere. Density Noise algorithm: Cylinder 3D Grid. The only difference between the object in the previous image and this one is the setting of the interpolation parameter. Shape: Sphere. Density Noise algorithm: Cylinder 3D Grid Shape: Sphere. Density noise algorithm: Random Polygons. ArtMatic 5 - New Features -Component Reference 40 Algorithms Illustrated (3D Density Noise) Textured Torus Example A B The tree used in the examples below is from the Textured Torus.vy example file provided with ArtMatic Voyager. In the example file, move the time slider to see each of the algorithms demonstrated. Group A provides the Density Noise (which is warped using cylindrical projection. Group B provides the basic shape which is a combination of a torus and a rounded tube (both are 3D Density Shape algorithms). The Density Noise is added to the object using the 2->1 Ax + By + C component. 0 - Cylindre 3D Grid 2 - Diamond 3D Grid 1 - Rect 3D Grid 3 - Sphere 3D Grid ArtMatic 5 - New Features -Component Reference 41 4 - Spheroid Noise 8 - Lines Network 5 - Cuboid Noise 9 - Random Plates 6 - Jitter Spheres 10 - Random Polygons 7 - Random Boxes ArtMatic 5 - New Features -Component Reference 42 2->4 COMPONENTS RGBa Blurred Pict/Movie (new). A color version of the 2->1 Blurred Pict/Movie component. The source image is loaded into an internal buffer and blurred. The loading time increases with the size of the image. Very, very large-sized images may take a long time to load since ArtMatic applies a high-quality blur algorithm and blurring is by nature a cpuintensive task. (As a point of reference a 5120 * 4800 pixel image loaded quite quickly on a dual-core 2.4 GHz MacBook Pro while a 10,000 by 10,000 pixel image loaded fine but took many minutes to load). Packed Alpha... (updated). All of the components with 'Packed Alpha' in their name have been updated. See the section Packed Alpha Mixers found later in this document for details. Packed Add (updated). This component no longer limits values to 0 and over. Negative colors can be interesting for special effects (such as negative lights). If you need to clamp values to 0 and over, use any of the following: 4->4 Contrast & Offset, 4->4 Color Shift, 4>4 Smooth Floor, or 3->3 RGB Contrast. 3->2 COMPONENTS Revolution space. This component creates a 3D solid of revolution by rotating a 2D shape around the y (vertical) axis. For example, if you rotate a vertically-oriented circle around the y-axis, the result is a torus (a donut shape). Revolution space returns dist(x,z) from the left output and y from the second output. Connect the inputs to 3D space and the outputs to a 2D surface. Parameters: A: Radius EXAMPLES A torus is created from the Distance component whose Amplitude is less than 0 ArtMatic 5 - New Features -Component Reference 43 The solid created when the 2>1 Shapes component is set to Pyramid Squared The result when 2->1 Lozenge is used ArtMatic 5 - New Features -Component Reference 44 Spherical Projection (updated). Spherical projection now has 4 algorithms from which to choose: two algorithms for spherical projection and two for cylindrical projection. Previously, there was no algorithm choice. Algorithms 0 and 1 are useful for mapping a 2-D image onto the surface of a sphere since they take into account the curvature of the sphere in all directions. Algorithms 2 and 3 are useful for mapping a 2-D image onto a cylinder or cylinder-like object which is only curved in one direction. The algorithm choice depends on whether the 3D space being mapped is spherical or cylindrical as demonstrated in the table below. Example: ArtMatic Voyager/2.0 examples/DFRM Objects/Basic Objects/ Textured torus.vy uses a cylindrical projection The algorithms are: • • • • 0 - Spherical Projection. This was the algorithm used by ArtMatic 4.8 and earlier. Note that there is a discontinuity at 2π. Output: angle(x,z), asin(y/M) 1- Spherical Sym Projection. The absolute value of x is used which keeps the projection symmetrical and continuous. Output: angle(|x|,z), asin(y/M) 2- Cylindrical Projection. Y is passed out unchanged. Output: angle(x,z), y 3- Cylindrical Sym Projection. This is the same as algorithm 2 except that the absolute value of x is used to make the output symmetrical and continuous. Output: angle(|x|,z), y Technical Note: asin is arcsine and M is the modulus (dist(x,y,z)) used to normalize y. The structure tree used to generate the example images. With vertical skew = 1, 3D ellipsoid produces a sphere. When the skew is set to 0, the result is a cylinder. ArtMatic 5 - New Features -Component Reference 45 A sphere with the Spherical Projection set to algorithm 0 (spherical projection). Notice that it compensates for the curvature in all directions. Spherical Projection set to algorithm 2 (cylindrical projection) to project the logo image onto the cylinder. Spherical Projection set to algorithm 2 (cylindrical projection). Notice the squashing of the logo. Spherical Projection set to algorithm 1 (spherical projection) to project the logo image onto the cylinder. Notice the distortion that occurs because the spherical algorithm is compensating for curvature at the top and bottom which a cylinder does not have. ArtMatic 5 - New Features -Component Reference 46 3->3 COMPONENTS Scale (updated). Add options popup with options: Individual Axis and Uniform Scaling. In earlier versions, individual axis was used. Uniform Scaling allows all dimensions to easily be scaled by the same amount. It uses parameter A to scale all three outputs and uses B and C to for addition scaling of the Y and Z outputs. With Uniform Scaling, the formulas for the outputs are: Ax, ABy, ACz. With Individual Axis, the output is Ax, By and Cz. Offset (updated). The parameter range was increased to +/-64 RGB Contrast (updated). The component now clamps colors to valid ranges (no negative values). Color Shift (new). Like the 4->4 version, this component controls hue, saturation and luminosity and clamps the colors to valid nominal ranges (0 - 8). 3D Tile (new). Tile space in up to three dimensions. This component is useful for creating regular tilings of space which can be useful for creating 3D objects that feature repeating patterns. Algorithms: Infinite Tile #, Repeat twice, repeat 3 ... repeat 12. Parameters: A - Tile X, B - Tile Y, C - Tile Z The parameter range for A, B and C is 0 to 1. The parameter value sets the spacing of the tiling along the associated axis. When the parameter is 0 , there is no tiling along that axis. • • Parameter options: Use 2/period. This option treats the parameter value as frequency. Low values increase distance while high values decrease it. At 1, the tiles overlap slightly. Use period. Treats the parameter as the distance between the tiles. 3D Mirrors and Rotates # (new). This component provides several 3D space transformations that are especially useful for creating 3D objects. The transforms include a variety of rotation and mirroring algorithms along with some others. Parameters: A: Algorithm, B: N Rotate (number of rotations), C: Offset or Angle ArtMatic 5 - New Features -Component Reference 47 Algorithms Illustrated (3D Mirrors and Rotates) Far left: Untransformed Obelisk. Left: The tree used for the examples: 0 Mirror N xy sharp Mirror each tile/branch and perform N rotations using rotational symmetry with respect to the xy plane. 1 Mirror N xy smooth 2 Rotate N xy N symmetrical rotations with respect to the xy plane. 3 Mirror N xz sharp The same as algorithm 0 but with respect to the xz plane ArtMatic 5 - New Features -Component Reference 48 4 Mirror N xz smooth The same as the previous but with smoothing. 5 Rotate N xz The same as #2 but with respect to the xz plane. 6 Helix in Y Create a helical transformation of the space with respect to the y axis. Note: it is sometimes useful to use 3D Offset after this component. 07 Mirror N xz & Rotate 30 zy Rotational symmetry with respect to the xz plane plus a rotation of 30° in the zy plane 08 Mirror N xz & Rotate -30 zy Same as previous but with -30° rotation in zy. In each of the previous algorithms (0 - 8), parameter C controls the rotation center's offset while parameter B (N) controls the number of symmetries of rotations. In algorthms 9 - 15, the parameter C controls the vertical rotation or the spread rather than the offset. ArtMatic 5 - New Features -Component Reference 49 09 Mirror N xz & tilt C y Mirror symmetry of the input with radial symmetries with respect to the xz axis plus a rotation of -C° in the zy plane. Parameter C controls the vertical rotation in this algorithm (while in algorithms 0 through 8 it controlled the offset). The upper example shows C = 2 while the lower example has C=60. 10 Mirror N xz & tilt -C z Essentially, the upside down version of the previous algorithm. 11 Rotate N xz & Spread Radial symmetry without mirroring plus a randomized offset for each rotation. Parameter C controls the angle by which the rotations are spread 12 Rotate N xz & Spread & Bend Up The same as the previous algorithm with the addition of bending in the zy plane. This is especially useful for creating flowers and fluted textures. 13 Rotate N xz & Spread & Bend Down The same as the previous algorithm but with a downward bend. ArtMatic 5 - New Features -Component Reference 50 14 Rotate N xz & Branch 3 Radial symmetry with 3 repetitions to create a branched structure. Parameter C is the spreading angle. 15 Rotate N xz Random xz symmetries with randomized rotations and offset with a spread of -C° in the zy plane. 3D Distorts and Bends (new). This component provides a variety of 3D space distortions that are useful for creating 3D objects.The component is generally used to modify the shape of objects by being used above the objects in the structure tree (which warps the objects by modifying the space in which they occur). Parameters: A - Algorithm, B - Amount, C - Scale/Period. Example files: See the examples provided with ArtMatic Voyager: 2.0 Examples/DFRM Objects/Space distort objects Spread Gaudi Plant example. ArtMatic 5 - New Features -Component Reference 51 Algorithms Illustrated (3D Distorts and Bends) In the images below camera is facing northwest. The thick cylinder runs along the x axis Undistorted 0 Dist xz ripples y Distort the space vertically using formula: sin(dist* scale) * amount. Ex. 1. Amount =-2 Ex, 2 Amount = 2 1 Dist xz bend Bend the space vertically by an amount that is a function of the distance to to the center (0) of the xz plane. 2 x Bend Bend the space vertically in the x axis by amount*x ArtMatic 5 - New Features -Component Reference 52 3 z Bend Bend the space vertically in the z axis by amount*z 4 y Bend 5 Rotate xz by y Vertical twirl of the space by amount * scale 6 Warp y Distort the space's scale on the y axis 7 Warp Dist Distort the space proportional to its distance from the center (0). ArtMatic 5 - New Features -Component Reference 53 8 Cylindrical bumps Cylindrical coordinate displacement pattern (angle(x,z),y). This works nicely for objects of revolution and branches. Strong displacements can result in poor convergence. If there are artifacts even at Best and Sublime quality, the amount of distortion should be reduced. 9 Cylindrical & y bumps 10 Cylindrical & y spikes 11 Cylindrical randomize 12 Spherical bumps ArtMatic 5 - New Features -Component Reference Spherical coordinate displacement patterns. Equations: (angle(x,z),angle(y,dist)) 54 13 Spherical spikes 14 Spherical ripples 3->4 COMPONENTS 3D Looper (new). This component is a fully 3D looper and is similar to the 2->3 Looper. Like all loopers, this component is recursive. The leftmost 3 outputs of the component are fed back into the component that feeds the loop. The rightmost output is the count value (the iteration number times Parameter B, count multiplier). All components between the looper and the next memory component are looped. Jitter Tile xz# (new). Jitter Tile xz splits the xz plane (the horizontal plane in ArtMatic Voyager) into many similar cells with local centers. When the output is fed into a component (or series of components) that create a 3D object, the result is non-identical copies of the object. "Jittering" is often used to perform operations like creating a forest from a tree or a field from a blade of grass for ArtMatic Voyager. This has many applications and is especially useful for creating object clusters for ArtMatic Voyager. A forest of non-identical trees created using Jitter XZ ArtMatic 5 - New Features -Component Reference 55 Application Note: For proper convergence of DFRM objects (for ArtMatic Voyager), care should be taken not to use too much randomization or to set the scale too low which may causes objects to move outside their cell. Jittering of a single object can also be performed in ArtMatic Voyager itself. This simple tree jitters a 3D Density Shape (set to the frame shape).The fourth output (the randomized jitter value) is sent to 4->3 Rotate so that each copy is rotated differently. By setting up the structure tree correctly, you can create significant variation among the copies. The system as it appears in ArtMatic Voyager. Parameters: A: Scale controls the size of each cell. The smaller the value, the smaller the region of space that is replicated and the closer the repetitions will be to each other. If you set this to ArtMatic 5 - New Features -Component Reference 56 a small value, the region may be too small to contain the object -- especially if the Jitter % is high. B: Jitter % controls how much the center position is deviated from strict tiling. C: Clip radius % allows to restrict the area. At maximum the repetitions are infinite. A small value provides only a few repetitions. Output: The output are new co-ordinates X, Y and Z plus a 4th output (W) which is a random number with a range of 0 - Pi that varies with each tile in the. Parameter Options: Regular Jitter - the xz plane (horizontal plane in Voyager) is broken up into a fairly regular grid Sparse Jitter A - the space is divided into a grid that is more irregular and sparse than first mode with various placement patterns. Sparse Jitter B, Sparse Jitter C - other variations of sparse jittering. bypass"- no tiling/jittering. This setting is sometimes useful for debugging a complex system so that you can see the item being jittered on its own. Regular Jitter Sparse Jitter A ArtMatic 5 - New Features -Component Reference 57 Sparse Jitter B Sparse Jitter C 3D Leaves # (new). This component creates a variety of leaf-shaped density fields that are especially useful for creating leaves or other DFRM objects for ArtMatic Voyager. A typical structure tree demonstrating this component is shown below. The input is a 3D space and the output is a 3D space warped into a leaf shape (which will be sent to a color texture function) and a density field (which will be used in Voyager to define the leaf shape). The MR Palm Tree Voyager example Tropical B Leaf Attached to a Cactus Branch EXAMPLES. There are many examples of this component's use in the Voyager's 2.0 Examples/DFRM Life & Plants/Components Demo folder. In particular see the example leaves Demo.vy. ArtMatic 5 - New Features -Component Reference 58 A very simple section of an ArtMatic structure that uses the Leaves # component and others to create a color-textured leaf in ArtMatic Voyager. This structure was used to create the examples in the table below. Algorithm is selected with the algorithm popup. Parameters: A: Angle, B: Bending Amount, C: Shape The shape parameter provides variations of the generated shape. Palm Leaf A with Bend = 0 Palm Leaf A with Bend = 1 Bending Amount illustrated Parameter Options: Orient xy, Orient zy, Symmetric 30 xy, Symmetric 45 xy, Symmetric 60 xy, Triple 30 xy, Triple 45 xy, Eventail xy Algorithms Illustrated (3D Leaves) Algorithm Shape = 0 (Min) Shape = 1 (Max) 0 Heart 1 Heart Saw ArtMatic 5 - New Features -Component Reference 59 2 Palm Leaf A 3 Palm Leaf B 4 Lozenge Saw 5 Tropical A 6 Tropical B ArtMatic 5 - New Features -Component Reference 60 7 Tropical C 8 Alien Rings 9 Alien Flower ArtMatic 5 - New Features -Component Reference 61 Parameter Options (3D Leaves #) illustrated: Orient xy Orient zy - Camera rotated offaxis slightly for this image. Symmetric 30 xy Symmetric 45 xy Symmetric 60 xy Eventail (fanned) xy Triple 30 xy Triple 45 xy ArtMatic 5 - New Features -Component Reference 62 Color Grass Field # (new).Creates an infinite field of grass for use with Voyager DFRM objects. The output is color (the lefmost 3 outputs) + field value (object). The field value defines the shape of the blades of grass. This component is faster than using a jitter function with a repeated single grass object. The Option popup provides several different grass types. Those with "random" in the name have randomized colors. Random Yellow Grass using the follow terrain Option Parameters: A: Modulation Scale, B: Modulation Amount, C: Contrast. Parameter Options: see table below The examples below were created with the ArtMatic Voyager Builtin Grass example file provided with Voyager (2.0 Examples/DFRM Life & Plans/Grass folder/Builtin Grass). ArtMatic structure tree of the Builtin Grass example file (provided with ArtMatic Voyager), Notice the use of A2 (Voyager Elevation) to limit the grass to low elevation areas. The use of A2 Requires that the Follow Terrain option be turned on in Voyager's Object dialog. The parameter options popup provides a number of different options that determine the color and shape of the blades of grass. The table below shows the various types of grass at a few different levels of magnification. ArtMatic 5 - New Features -Component Reference 63 Green Grass Random Green Grass Random Green Gr. (close) Yellow Grass Random Yellow Grass Sparse Grass Random Sparse Grass Strange Grass Strange Grass (closer) Random Strange Grass Random Strange Gr. (closer) Random Strange Gr. (close) Sparse Strange Grass Sparse Strange Grass (closer) Sparse Random Strange Gr. ArtMatic 5 - New Features -Component Reference 64 Packed Alpha... components (updated). See Packed Alpha Mixers in the section Miscellaneous component changes. 4->1 COMPONENTS 3D w Fractal Noise (new). This is a version of 3D Fractal noise that uses the fourth input (w) to control the fractal dimension (the roughness) of the noise. Values above 0 increase the fractal dimension (with relation to the baseline dimension) and values below 0 decrease it. This component is great for clouds or terrains when you need higher fractal dimensions. Use a constant w value to increase or decrease the fractal dimension or a varying w to create interesting patterns and terrains. Fractal Noise controlled by a constant Image with w set to a high value w set to a low value w = approximately 0.5 w very low w set to a higher value Volumetric clouds created with the structure shown above Algorithms: Straight fractal noise, Multi Fractal Positive, Multi Fractal Balanced, Ridged fractal noise. Parameters: A: Amplitude, B: Phase, C: Frequency Parameter options: Use Direct Frequency, Use Voyager km ArtMatic 5 - New Features -Component Reference 65 Examples: See the ArtMatic Voyager examples in 2.0 examples/Terrains and also 2.0 examples/Clouds & Volumetrics/Volumetric AM w fractal clouds.vy 4->3 COMPONENTS w Multiply (new). This component simply multiplies the x, y, and z inputs by w (the fourth input) and sends out the result of the multiplications. This is similar to 4->3 w Scale but the output values are not clipped. w Divide (new). Divide the x,y and z inputs by w and pass out the results. w Scale (updated). A new parameter "Roof" was added allowing you to pin the multiplier value (the w input) to this maximum. Roof must be higher than the Floor parameter. RGB Mix, RGB Alpha, RGB Multiply, RGB Interpolate (updated), w Color Fade & Color Shift (updated). These components have been updated to transmit Infinity correctly. Note the components between RGB mix and RGB interpolate can accept a packed color stream as the 4th input. If the 4th input is a scalar value, they map the value to the current gradient to create the color. (In earlier versions of ArtMatic, if the 4th input was scalar, the gradient color was only used if the component was at the bottom of the tree. 3D Tree Structures #. This component creates a tree-like branching of space using a variety of techniques (symmetries, rotations, translations and repetitions) that are especially useful for creating trees and plants for ArtMatic Voyager. When used inside a recursive CT (compiled tree), this component may be sensitive to the iteration level (depending on which tree algorithm is selected) which results in a more varied structure than if each level were simply a scaled down version of the parent. [Left] ArtMatic Voyager tree [Right] 3D Tree Structure used inside a recursive compiled tree ArtMatic 5 - New Features -Component Reference 66 To create an tree-like object, the component is used in conjunction with a component such as 3->1 Density Shapes since by itself, it is just a space distortion function. Most users will want to use one of our many examples as a starting point for their creations since using the component from scratch requires a solid understanding of ArtMatic structures and recursion. However, it is fairly simple to make modifications to the many example files that are provided with ArtMatic Voyager. Of course, you are not restricted to creating trees for ArtMatic Voyager. Use this component to create non-tree-like objects, too. A sphere transformed with a single recursion of 3D Tree Structures Inputs and outputs. The four inputs are a 3D Space (the left 3 inputs) and w which acts as a random seed for the random numbers used internally to determine the branch spacing. When the 4th output of Jitter Tile xz# is connected to w, it will randomize the aspect of repeated trees. Or, you can connect w to global input A3 if Voyager Jitter Opaque mode is in use. To control the range of w-related modifications, you can use the 1->1 Math component set to the Fract algorithm to limit the range from 0 to 1 and add a scale and offset so that you can control the minimum, maximum and amplitude of the variations. ArtMatic 5 - New Features -Component Reference 67 The best way to get started using this component is to start from one of the examples in Voyager's 2.0 Examples/DFRM Life & Plants/Plants iterative folder. Parameters: A: N Rotate - For most algorithms, this is the number of symmetries of rotation. Some algorithms, such as Alternate 180, only use this value for iteration #3 (in a recursive CT). B: Angle A - The main branch angle. Low values result in branches pointing upward. 90 degrees will be perpendicular and high values create branches angled down. C: Angle B / Slope % - The slope or a second angle. The meaning depends on the particular tree algorithm. The slope controls how much the length of the branches diminish going up. At 0, the branches are parallel. For some algorithms (such as cactus) it controls the bending. For some (palm trees) is is the sub-branching angle. Algorithms Illustrated (3D Tree Structures) The tree algorithms are also referred to as "tree rules" since strictly speaking some of the algorithms are rule sets sensitive to the number of iterations. 0 - Palm Tree - All branches start from the same center. nice for palm-like structures 1 - SR Tree B1 - When iterated (recursed), the first iteration level can have N branches while the additional iteration levels just have N branches created with rotational symmetry off of the parent branch. ArtMatic 5 - New Features -Component Reference 68 tree rule 1 (3 iterations) 2 - SR Tree BN bend up - All levels can have N branches with some randomization 3 - SR Tree BN bend down - All levels can have N branches with some randomization 4 - Random SR Tree BN - All levels can have N branches with some randomization tree rule 4 (3 iterations) 5 - Random SR Tree B1 - Similar to rule 1 but branch direction and length are randomized. ArtMatic 5 - New Features -Component Reference 69 6 - Cactus - Branches grow alternately left and right. When iterated it produces a structure like the one below: 7 - Alternate 180 - branches grow alternately left and right. 8 - Alternate Ferns, ArtMatic 5 - New Features -Component Reference 70 9 - Rotating Branches - branches grow in alternating fashion with a global rotation controlled by parameter C. tree rule 9 (3 iterations) 10 - Rotating Branchs & SR - Similar to 9 for the first levels but then grows clusters of rotating branches whose number is related to parameter A. Here an example of tree rule 10 with leaves attached with SR 8: ArtMatic 5 - New Features -Component Reference 71 LESSON: USING 3D TREE STRUCTURES Analysis of a basic structure for creating a tree The generation of a trees/plants is a complex problem. 3D Tree Structures can create a wide variety of plant structures. A typical structure tree for a tree/plant is shown below: • • • There is a section (a single 3->1 Density Shapes tile in this structure) responsible for creating the trunk. The trunk shape is passed (along with 3D space) to a recursive compiled tree that creates the branches (it includes the 3D Tree Structures component, The trunk+branches are fed to compiled tree that adds the leaves. A typical ArtMatic structure tree for trees and vegetation The compiled tree that handles the branches is generally a recursive compiled tree. The number of levels of recursion determine the number of layers of branches. Some tree algorithms vary the branching pattern according to the recursion level. More details are found below. A SIMPLE STRUCTURE: TRUNK + BRANCHES Below is a very simple structure that provides a trunk and branches and colors them with a simple color texture. ArtMatic 5 - New Features -Component Reference 72 The outer level structure [ArtMatic system: Angles 43 tree iter from the Voyager example Tree rule 1.vy]. The structure creates a trunk with branches and uses a simple color texture. The same structure and recursion level (3) but a different tree rule (number 4 instead of number 1) creates a very different tree. ArtMatic 5 - New Features -Component Reference 73 Main Structure. The main (outer-level) structure tree provides the tree trunk (A) and color texture (C). The recursive compiled tree (B) provides all the branches and sub-branches. The 3D Rotate component at the top is useful for adjusting the orientation. Helpful hint: 3D Rotate is very helpful when designing any 3D object as it enables you to rotate the object in space while working on the object even if you don't plan on having the object rotated in your final scene. The 3D space (from 3D Rotate) and the tree trunk (from 3->1 Density Shapes) are passed into the CT that adds the branches (described below). The tree trunk (A) output is also sent to the 1->4 Hue Color tile (C) which provides the tree's color texture. Hue Color's RGB output is sent to Alpha Scale and Offset which provides final adjustments of the completed tree. The Branches CT (Compiled Tree) In the structure shown above the compiled tree (CT) labeled B provides the branches. A CT is a group of components that appear as a single tile in the outer-level ArtMatic structure. Below is the internal structure of the compiled tree that creates the branches. This structure (with different parameter settings) is used for almost all of the plants and trees that we create. Adjustments of a few parameters can create a virtually endless variety of plants and trees. [Left] The structure inside the compiled tree that provides the tree branches. The green lines indicate the input received from the parent tree: 3D Space and the tree trunk (a density field) CT Inputs: The compiled tree receives four input values from the parent structure (which are indicated in green in the diagram): three space co-ordinates and the tree trunk density field . Quick analysis: the incoming space is scaled (by the W* component) and sent to the 3D Tree Structures component whose output is sent to 3D Density Shapes (algorithm = Cactus Branch) and blended with the tree trunk (the density field received from the input). The output is the modified space (modified by 3D Tree Structures component) and the modified density field (which is the tree object). ArtMatic 5 - New Features -Component Reference 74 Details: The Set Constant tile (label: A) is used as a scaling factor by being multiplied against the incoming space using the W Multiply tile. Its output is also used as the y-input for the Math Tools component in the group of components labeled D where it has a further impact on the scaling. The scale space is sent from W Multiply to the 3D Tree Structures component (label C) -which is set to Algorithm 1, N Rotate =1, Angle A = 5, Angle B/Slope = 40.844. The 3D Tree Structures component's w input (which acts as a random seed) comes from the Set Constant component labelled B in the diagram. The 3D Tree Structure's output is a space warped into a tree-like shape. This space is sent to 3->1 3D Density Shapes which is set to the Cactus Branch algorithm. This provides the actual branch objects (the density field). The 3D Tree Structure output is also passed to the first three outputs of the final component (whose job is just to pass out the values it receives). The 3D Density Shape (which is at the top of the group labelled D in the diagram) is sent to 2->1 Math Tools->Iteration Scale. The resulting branches are thus automatically scaled by the number of iterations. Each successive iteration creates smaller branches. The adjusted branches are then added to the density field (the actual tree object) that was passed in to the compiled tree. The resulting output is a density field (3D object) which is passed to the fourth input of the last component. The last component sends 4 output values out of the tree. The three coordinates of the branch-warped space and the updated branching object (density field). Recursion. The recursion parameter of the compiled tree determines the number of branching layers. Setting it to a value larger than 0 causes the CT to be looped so that its operations are performed several times. This particular type of compiled tree is recursive which means that the compiled tree's output is fed back to the input each time that it is iterated (looped). Each iteration of the tree creates a new level of branching as illustrated below. Some of this component's algorithms (the so-called tree rules) are sensitive to the recursion level and create different branching patterns at different levels of recursion so that different levels of branches are not simply scaled down versions of the previous level. ArtMatic 5 - New Features -Component Reference 75 Recursion = 0 Recursion = 1 Recursion = 3 With this tree rule (algorithm 1), each level of recursion adds another set of branches at the end of the existing branches. Some tree rules add branches elsewhere as shown below. Tree Rule 4 with Recursion = 3 ADDING LEAVES To add leaves to a tree, we need to add components to: • • add leaves to the trunk and branches blend the leaves with the tree branches. Below is a "trunk+branches" type structure to which components have been added to provide leaves [Left] Structure that creates just trunk and branches [Middle] The structure modified with components to add leaves [Right] The compiled tree that handles the leaves ArtMatic 5 - New Features -Component Reference 76 The tree with the added leaves Analysis • • • a compiled tree (A) was added that takes a 3D "tree" space as input and sends out an 3D color texture and a density field that corresponds to the leaves. Its output is packed with 4->1 Pack so that it can be sent to a mixer a 2->4 Packed Alpha Max component (C) was added to mix the tree and branches with the leaves a4->1 Pack component (B) was added to pack the trunk+branches A tree created with the structure tree above as it appears in ArtMatic Voyager. ArtMatic 5 - New Features -Component Reference 77 Recursion and 3D Tree Structures. When used inside a recursive CT, one must set the scaling ratio for each level carefully to avoid having branches grow outside the plant's boundaries. Our example systems are already set up with the necessary scaling components and should generally be your starting point. In general, scaling values of 2 to 5 work best. Because the structures are recursive, they are quite sensitive to parameter values and can be computationally intensive. 4->4 COMPONENTS Memory W Max (updated). The component is now intiated to -inf so that it can be used with 3D fields that have negative values. Compiled Tree (updated). In ArtMatic 4.8 and prior versions, 4->4 compiled trees were looped but not recursive (while all other CTs with the same number of inputs and outputs were recursive). In ArtMatic 5, 4->4 compiled trees are recursive as they should be. A new option, allow feedback (ins -> outs) has been added for all recursive compiled trees. By default, the option is on and the CTs are recursive. When the option is turned off, the CT will loop non-recursively (and thus needs a memory component at the end to accumulate the loop results). 4->4 Compiled Trees are most commonly used to create recursive fractal-like objects. For fractal-like objects, the input to the CT will be a 3D space in inputs xyz and the fourth input (w) will be a density field. Inside the CT, you generally will accumulate the density using Memory w Max. This component is also used extensively for creating iterative plant structures (see 4->3 3D Tree Structures) where the input is 3D Space and (in w) the density field to which the structure is to be added (such as the tree trunk to which branches are to be added). In these cases, the output is typically the modified object (density field) or a packed RGBa value that holds the color texture and field density value (the object). The advantage of using 3D Space + RGBa output is that you can mix the output with other similar CTs to build up complex plant structures. For example, a first 4-> 4 CT might create the first level of branches while a second will add a different secondary branching structure and a third would add the leaves. An example of this is found in the ArtMatic Voyager examples 2.0 Examples/DFRM Life & Plants/Plants Iterative/Composite... ArtMatic 5 - New Features -Component Reference 78 Composite Tree A.vy and the ArtMatic structure that creates the plant. ArtMatic 5 - New Features -Component Reference 79