12 November 2001
Reported, written and edited by David Duberman
for editorial/subscription inquiries, send mailto:email@example.com
Search the Spectrum archives at http://www.3dlinks.com/spectrum
Digimation, the Discreet Preferred Plug-in Publisher, is the leader in the plug-in market for 3ds max. As we enter into our 10th year, we are committed to creating innovative plug-ins that offer the 3ds max community a way to turn ideas into reality. Check our website for our Anniversary Specials. http://www.digimation.com.
Please note: An illustrated version of this article is available at http://www.creative-3d.net/.
DarkTree Textures 2 Review
By David Duberman
SRP $479 ($125 upgrade from 1.x)
The procedural texture is one of the most powerful tools in the 3D artist's armamentarium. Unlike bitmap images, which are, in effect, cast in stone, the flexible, algorithm-based procedural texture gives you one or more parameters that you can alter to change and even animate its appearance. For example, 3ds max's Wood map lets you define grain thickness plus radial and axial noise, and assign two colors or other maps to the texture. Other benefits of procedural textures include minimal use of memory and the ability, with some, to change parameters as you move through the mapped object, resulting in a 3D texture. Perhaps more importantly, you can use procedurals to create fantastic, special-effects imagery such as plasma and alien scales—just right for that latest sci-fi spectacular—that would be otherwise difficult to come by. Drawbacks include the extra time necessary to calculate the texture's appearance from the formula and input parameters, although with today's super-fast processors, this often doesn't add a lot of overhead.
For users, the primary disadvantage of procedural textures is that they're not all that easy to come by. Given a digital camera or camcorder, or an analog image recorder plus digitizing device such as a scanner, anyone can generate a virtually unlimited supply of real-world images for use with the 3D application of choice. And if you can drag a mouse or use a drawing pad, you can generate images for texturing with software like Adobe Photoshop and MetaCreations Painter. But most 3D programs come with a limited selection of procedural textures, and it takes a talented programmer equipped with useful algorithms to create new ones. That is, it did until the good folks at Darkling Simulations came up with their brilliant DarkTree Textures 2 (DT2), a stand-alone program that lets the non-hacker with an eye for design create a practically infinite number of procedural textures. It comes with a nice variety of still and animated preset textures, but its real strength is the editor, which lets you string together a generous selection of supplied modules in a hierarchical structure to create your own textures. DT2 generates bitmaps, but Darkling has also considerately created plug-ins, called Simbionts, for bringing the procedurals directly into 3ds max, LightWave 3D, Hash Animation Master, and trueSpace.
As its name indicates, DT2 is the second major revision of Darkling's premiere app. The way the program works is still basically the same, but a number of significant improvements have been made, particularly in the area of animation. I'll cover some of these during the course of this review; if you want a quick rundown of everything that's new, check out http://www.darksim.com/html/dt2_new_features.html. And if you're the impatient type, and just want my opinion right up front, here ya go: This is a killer piece of software, one you'll be using for years to come. Buy or upgrade now; you won't be sorry.
The User Interface
DarkTree Textures uses three different windows to display data and let you control the program. The main program window offers the Texture library, a scrolling Explorer-style list with a small preview pane above it that depicts the current selection. Each texture, which Darkling calls a "darktree," is represented by its name and a small icon whose color specifies the type of channel it defines. The three major channel types are color, bump, and percent (the latter can fill in for any numeric parameter). A texture can also be a fourth type: fully shaded, which comprises many attributes. The rest of the main window is for rendering images and image sequences, including batch processing capabilities. Supported output formats include Windows Bitmap (16- and 24-bit), JPEG, Targa, PICT, TIF, FPX, IFF, PSD, XPM, PCX, and PNG. All but the first three are new; as with BMP, a number of formats can be output in several different bit depths. Also new is support for alpha channel output, so, for example, you can save Targa-format images in 24-bit or 32-bit depth.
Once a darktree's thumbnail is displayed in the preview pane, you can click the Examine button to open a larger a resizable Examine window appears. This window offers a wealth of functionality. For example, you can combine textures any way you like by dragging different channel types from the list to the window. The new toolbar lets you map the texture onto a plane, sphere, cylinder, cube (new), or the new Frame option, which is a plane you can rotate in any direction. Here you can also tile the texture, play and record an animation if it exists, rotate the preview object, or toggle any channel's action. The latter options include the ability to see the "surface bump," (formerly raw elevation) which is the bump component in grayscale.
Because the program can take a little while to calculate a texture's final appearance, even on a fast machine, the Examine window uses two passes at successively higher resolutions to fully render an image, plus an optional third pass for anti-aliasing. Unfortunately, DT2's renderer doesn't support multiple processors.
The DarkTree2 Editor
Next the preview pane in the main DT window is the Edit button--the key to the heart of the program. The DarkTree editor lets you design, build, and display the structure of your textures. You can also enter the editor with the New menu command, in which case you start out with a blank slate, or open an existing texture for editing simply by double-clicking it.
Like the main window's Texture library, the editor contains a scrolling list of components arranged into various categories. To its right is a grid of "sockets" into which you drag the components. You then wire these together to create a sideways hierarchical layout, or "tree," whose tip, which the program calls the root, is the component in the single socket in the first column. Each component can be linked to a parent by its type icon—the dot in the lower-left corner—and to one or more children from its "links panel," the protruding area at the upper right. Right-clicking the links panel brings up a menu of available parameters, color-coded to show what type of component they can be connected to. Parent components must be situated to the left of their children, but can be higher or lower.
Here's an example. If you're creating a procedural texture for use in 3ds max, you might start with the shader component in the root socket. The original shader had eight such as Color and Bump; DT2's version adds 12 more, including several Clear Coat parameters that let you add a second specular highlight to your surface representing a clear coat of lacquer or finish. Also new in the shader are settings for anisotropy, metal highlight, and transparency.
By linking a parameter to a child component, you control that parameter with the child's settings. For instance, you can control the shader's color with a pattern such as Bricks or Checkerboard, and its specular level with a Noise component such as Rough. You can create long, branching chains of components, with the results becoming increasingly modulated and complex as you move leftward, culminating in the root module where everything comes together. It's easy to see the cumulative effects, because each component's face depicts, by default, the result of its settings combined with those of all of its children.
The editor offers 103 components, expanded from DT1's 75. A helpful enhancement in DT2 is the ability for component names to include spaces; in DT2 words in names were separated by underscores. The components are divided into categories such as Control, which handles randomization tasks, and Deform, which provides distortion functions like Radial Twist and Turbulence.
An important tool category is Generator, with 2D functions like Sine Wave, Linear and Bias. You can use these to control geometric shapes, blend functions and more, and to modulate animation. For smooth transitions there's the Gradient class, and for realistic textures there are the Naturals, with Agate and Clouds, and the Noises, with Fractal and Manhattan. The Pattern class provides your basic Bricks, Checkerboard and more, and the Process class implements such image-processing functions as Darken, Fade, and Multiply. There's also a Transform class with standard Translate, Rotate and Scale functions, and for using existing images and image sequences, there's the External class.
You won't have much of a problem discovering what a component's parameters do, but you'll spend a lot of time learning how they interact with each other and with those of other components. DT is a perfect toy for the tinkerer at heart.
Here's a list of all the new components in each category:
When I reviewed DT1, I expressed disappointment that some of the Pattern components, like Bricks and Weave, were 2D only, and thus couldn't be used as 3D textures. Good news: Four previously 2D-only components--Bricks, Checkerboard, Dots, and Flagstones--can now be mapped in three dimensions, and Flagstone also has a new parameter for rounding corners.
Among the new components of particular interest to those doing 3D rendering is Incident, which interpolates between two values (colors, etc.) based on the difference between the viewing angle and that of the surface normal. This can be used for very realistic-looking surfaces, or very unrealistic ones. Similar to Incident is Surface Up, in which the resultant value is derived from the difference between the viewer angle and the "up" angle (world Y axis); it's useful for adding top-surface textures such as snow or moss. 3D artists will also be able to make good use of Surface Distance, which blends between two values (textures, etc.) based on viewer distance; sort of an LOD tool for textures.
In DT1, right-clicking a component did nothing; you had to double-click it to edit it. In DT2, you can do the same, but you can also right-click for a menu with choices like Examine (obviating DT1's eponymous button), Edit Component, and the ability to convert the component and its children (i.e., the subtree) to a different type.
Another major addition to the editor are tabs in the side panel that previously contained only the component list, which is now available from the default Components tab. New is the Properties tab, which lets you name the texture and its author, add a description, and specify the number of animation frames. Here you also set global thumbnail parameters: mapping type, which includes Frame, Planar, Cylindrical, Spherical, and Cubic; aspect ratio for Frame mapping; and Frame view angles. I'm guessing DT3 will let you set these, as well as the angle settings for the Examine window, interactively. I'll get to the third tab--Tweaks--in a bit.
Click-and-drag methods are fine for high-level texture editing, but at some point you've got to examine and possibly hand-alter some parameters. You do this by double-clicking a component, which opens the component editor. Every component has a different set of parameters. Depending on the Views setting, a small window shows the current component, the component as acted on by any children, or the root component as modified by all of its children. This window gets updated while you change a setting, not after as in DT1. You can set translation, rotation and scaling transforms numerically or, new in DT2, with the mouse. And you can align a component with its parent (applying the parent's transform settings to the component), return transform settings to the defaults, and copy and paste transformations between components.
The lower part of the component editor dialog lets you edit the actual parameters, which are typically numbers and colors. If a child component or tweak is controlling a parameter, the setting is unavailable. Otherwise, you can enter numeric parameters from the keyboard, or use the mouse with the gizmos to the right of the number setting. Called zip-sliders, these work similarly to 3D Studio MAX's spinners, where you can click to change a setting by a small increment, or drag for a larger change. You change colors with a custom color selector, which unfortunately lacks zip-sliders, or drag on the color swatch to change hue, saturation, and value. The editor has an Undo button but doesn't respond to Ctrl-Z, although that key combo is available in the rest of the program.
Animating and Tweaking
One of the biggest improvements in DT2 is the addition of the Timer component, which replaces DT1's Trigger component. In DT1, a darktree could use up to 11 triggers for animating various texture elements. However, the triggers were relatively primitive; you could specify start and end frames and start and end values, and that was about it. DT2's Timer component, on the other hand, is one of its most flexible tools, thanks to the new spline editor. Incidentally, the new Spline generator component uses the same editor.
DT2's spline editor is nicely designed and easy to use. The graph's horizontal and vertical axes represent time (or input) and value respectively. You can add and delete control points, drag them around one at a time, and enter input and value settings with the keyboard or via zip-sliders. Bezier handles aren't implemented, but you can set a point's in and out slopes to smooth or linear. You can also move the whole spline horizontally and vertically, and shift and scale the view horizontally. Lastly, you can specify that the spline should take effect only once, or repeat in standard or Ping-Pong fashion.
If you prefer a more formulaic animation-control method, you can simply plug a Timer into an intermediate component, such as a generator. For example, if you link a Timer to a bell-curve generator's Input parameter, and then use that to modulate an object's width (say, a brick pattern's mortar), the width starts at 0 in the first frame, increases smoothly to maximum size at the middle frame, and then shrinks to 0 again in the last frame. If you change the Timer's upper value to 50, you get only the left half of the bell curve.
The other major new feature in DT2 is Tweaks. Basically, what it does is give you external control over any component parameters. This offers three significant benefits:
Tweaks are easy to understand and simple to use; a truly powerful addition to an already-great program. The only thing I'd add is that, when you create a new tweak and are presented with a dialog for naming it, that the field be filled in by default with the name of the parameter you're tweaking.
Plugging In to 3ds max et al
Using DarkTrees with 3D apps like 3ds max is fairly easy, thanks to free plug-ins you can download from the Darkling Website. With max, you can load a DarkTree file as a map or as a material; in the latter case, the root component must be a shader. You can find a review of SimbiontMAX 2.0, the for-sale version of the 3ds max plug-in, at http://www.creative-3d.net/productFeatureDisplay.cfm?content=simbiontmax.
One of the nicest new features for documentation junkies like me is a Help link in most of the components' edit windows. Click it and a browser page opens with a description of the component, an explanation of how it works in more-or-less plain English, and hints for usage. Symbols indicate whether the component works in two or three dimensions, or both, or is a modifier that doesn't actually generate imagery. This is accompanied by brief explanations of each of the component's parameters, both internal and available for linking. Incidentally, those aren't always the same. For example, several of the Tile components have Distortion and Time parameters that are available only for linking. It makes sense when you understand that they need some sort of external function to work.
The well-written printed manual complements the online component help by offering a number of short, pithy tutorials, plus detailed descriptions of the program's various sections, along with a wealth of techniques for achieving specific results. For instance, the Seamless Looping section tells how to use the Loop components to create animations that can be repeated without an obvious starting or ending point. A number of parameters are common to several members of each component family, and the manual discusses these in greater depth than the online help. You'll be consulting the latter on a regular basis while using DarkTree 2, but if you don't read the printed documentation as well you'll be cheating yourself of much of the program's utility. If you'd like to check out the manual before you buy, download the free version in Acrobat format from http://www.darksim.com/html/arcanum.html.
Nice little touches--the obvious result of much thought and care--abound in DarkTree Textures 2. For instance, whenever you drag a component to a tree slot, a dialog opens in which you click a button to indicate the type: Color, Percent, or Bump. Normally, the default type, which to accept all you need do is press Enter, or click if you've set your mouse to automatically move to the default button, is Color. However, if you've pasted a component into the Root socket as different type, this type then becomes the default for all subsequently placed child components.
Almost all graphical components are 3D textures, so you can produce fascinating animations simply by moving a texture perpendicular to an object surface. To do this in 3ds max, you first apply a UVW Mapping modifier to the object and animate its gizmo on the Z axis. In the Material Editor > Coordinates rollout, set the texture's Source to Explicit Map Channel, and set the Map Channel to the same number as the UVW Mapping modifier's (both default to 1). A relatively small movement can have a noticeable effect.
I love little 3D graphics programs that don't play by the big boys' rules, thus creating software that's different and outstandingly usable and useful. Amorphium is one excellent example of this; DarkTree Textures 2 is another. DT2 isn't a traditional 3D program by any means; it doesn't do modeling, and it knows nothing about character animation. It does one thing--creating procedural and bitmapped textures--and it does it superbly. It's a 3D program because most of the procedural textures live in three-dimensional space. Thus, moving them perpendicular to an object's surface creates a sequence of "slices" from the texture's depth, generating a fascinating abstract animation that can't be done any other way.
Imagine a toolchest (or, if you like, a toy box) from which you keep taking items, and every time you look back into the box, you spot a new, enchanting tool that's just what you were looking for. Or even better, you didn't know you were looking for it, but as soon as you see it, you know what you can use it for. And best of all, the box is always full. For 2D and 3D artists, DarkTree Textures 2.0 is that toolchest. From a finite set of components and parameters you can create endless varieties of great-looking textures--it's magic!
Don't take my word for it: download a free demo version from http://www.darksim.com/html/dt2_demo.html.
This week NxN Software, a supplier of Digital Production Management (DPM) solutions for the interactive entertainment, animation and new media industries, will release alienbrain 5.0. Key new functionality includes advanced project-tracking and asset-management facilities, 35 additional productivity features, scalability to 100+ users and new clients for Macintosh and Linux. With the release of 5.0, NxN also introduces entry-level configurations that make alienbrain available for a 10-person team for starting at $9,900.
More on new features:
New from askSam Systems is BullsEye Plus, a Web research application for online consumers. The software integrates search from Intelliseek's BullsEye products with the Web-saving capabilities of askSam's SurfSaver.
SurfSaver is a browser add-on that lets users store Web pages directly from their browser into searchable folders. Once saved, users can quickly search and browse these pages (even when they are not connected to the Internet). Unlike bookmarks, SurfSaver creates a permanent archive of Web pages in folders on the computer.
BullsEye Plus can search across hundreds of search engines simultaneously, analyze the results for accuracy, and manage the information.
BullsEye Plus includes:
New from Curious Labs, Inc. is Avatar Lab, software for the creation, editing, animation and publishing of character-based 3D avatars for Adobe Atmosphere. Driven by technology from Poser, CL's character-animation and figure-design tool, Avatar Lab lets users generate avatars in five steps.
Avatar Lab's Face Room lets end users import facial photographs and use them to modify the geometry, creating personalized 3D heads. The base geometry is matched to a front and side photograph and the imported images are blended together automatically to create a singular texture map. A real-time 3D preview and texture map window shows the user the results as they manipulate editable control points.
Availability Avatar Lab 1.0 for Windows will be available direct from the Curious Labs Webstore for $99 USD. An introductory price of $69 will be offered for a limited time to those who purchase Avatar Lab before January 1, 2002. http://www.curiouslabs.com
Adobe Atmosphere is available for download from the Adobe Website at http://www.adobe.com/products/atmosphere/main.html
Cebas says it will release a free upgrade of its renderer finalRender in December. The software's feature list includes all of the features from previous products LumaObject and Bunch of Volumes. finalRender adds unlimited network rendering licensing with the purchase of a single interactive license.
The raytracing system for 3ds max 4.2 enables rendering effects such as caustics and global illumination. Its adaptive global illumination sampling system is view and resolution independent. The sampling system is adaptive in that samples are placed more densely in areas where the global illumination quality relies on high numbers of samples, like corners, shadows and edges. finalRender also implements of sub-surface scatter, for surfaces such as milk where light penetrates the surface and scatters before re-emerging. Further, the software supports embedded objects within the semi-transparent material, so, for example, users can render a translucent block of ice that has rocks inside it, and the result will realistically block light from scattering where it encounters the opaque embedded objects.
Pixel Genius's new Photoshop-compatible plug-in lets digital photographers read and export "Meta Data" embedded within digital camera captures and file info data embedded in Photoshop files. The plug-in displays and exports to text files any industry-standard meta data embedded within digital files.
Pixel Genius, in an effort to aid the photo-imaging industry's adoption of meta data standards, is providing MetaReader as freeware for downloading from the company's Web site (registration required). In the near future, Pixel Genius will be offering a full featured meta data editor that will enhance the basic functionality of the free MetaReader.
Newly available from ParallelGraphics is Outline 3D v2.5 (O3D), a new version of its online design and visualization platform for the construction, furnishings, and interior design industries. The product is intended as an online solution for marketing products within a real-time environment. Its online design capability turns 2D floor plan layouts into 3D interactive rooms where products and furnishings can be selected and viewed in a realistic environment.
New features include the ability for users to embed the O3D functionality within their own Web site and to add their own products to the O3D catalog. Users can also now display more detailed product information such as real-time pricing and availability.
LucasArts Entertainment last week shipped its new real-time strategy game Star Wars Galactic Battlegrounds. The game comprises six civilizations spanning the entire Star Wars saga and features campaigns covering land, sea and air.
Star Wars Galactic Battlegrounds utilizes PC engine technology created by Ensemble Studios and used in the popular Age of Empires series. The real-time confrontations involve six key civilizations: Galactic Empire, Rebel Alliance, Wookiees, Gungans, Royal Naboo and Trade Federation. Star Wars Galactic Battlegrounds features numerous gameplay modes, including single-player campaigns, skirmishes, historical missions and multi-player battle arenas over Internet and LAN.
Campaign settings range from interstellar asteroids and aerial encounters to submerged cities and epic ground battles, with over 300 different units and structures. Players will be able to test their tactical battle skills as they deploy masses of units, up to 200 per side including bounty hunters, Jedi Knights, stormtroopers, X-wings, AT-ATs, snowspeeders, AT-STs, Wookiee Kas tanks and droids. The game also features a scenario editor, which lets players generate and share custom single- and multi-player missions.
You can now relive the nightmare of your Doom experiences wherever you go with the release of the original for the Game Boy Advance from id Software and Activision. Developed by id Software and David A. Palmer Productions, the game delivers the same nonstop 3D action in labyrinthine levels with hordes of hellish enemies, and supports single-player and 2-4 person multiplayer action in Cooperative or Deathmatch modes.
Doom challenges gamers to assume the role of a lone space marine who must rid a Martian moon of an army of gruesome, hell-spawned creatures that have invaded it. Equipped with weapons such as chainguns, plasma rifles and rocket launchers, players face off against demons and opponents through 24 large single-player levels and eight dedicated multiplayer maps.
Just out from Sierra is Half-Life for PlayStation 2. The console version features new multiplayer cooperative and competitive modes set within the Half-Life universe as well as a next-generation upgrade of the original game. The Texas-based development team, Gearbox Software, used the PS2 technology to revamp the graphics, resulting in characters and models with four times the detail of the PC original. In addition to the original single-player story, a new console-exclusive mode, called Half-Life: Decay, lets fans explore the Black Mesa Research Facility cooperatively for the first time.
"The Half-Life franchise on the PC has received unprecedented support from both its fans and the press alike, winning well over 50 Game of the Year awards from publications around the world," said Mike Ryder, president at Sierra. "Working with Sony to take full advantage of their technologically advanced next-generation system, I believe we've set the stage for Half-Life for the PlayStation 2 to make another significant impact on the gaming world."
"This is the definitive version of Half-Life," said Randy Pitchford, president and director of Gearbox Software. "With the graphically enhanced award-winning original, head-to-head combat mode, and Decay, the exclusive cooperative mission, it is like three games in one."
Eidos Interactive recently released Soul Reaver 2, the PlayStation2-based sequel to the 1.5 million-unit-selling Soul Reaver.
Soul Reaver 2 begins where the original title left off, with Raziel emerging from the Chronoplast time portal, and returning to different eras of Nosgoth's past in his pursuit of Kain. Over the course of his journey, he unearths the mysteries of Nosgoth's ancient races, and exposes the secrets behind the corruption of the Pillars and the vampire genocide.
New enemies include vampire hunters, Sarafan warrior-priests, spectral spirits, undead warriors and extra-dimensional demons. Among the game's technical advancements are constant 60 fps screen update and the ability of the game engine to display 30 times more graphic detail than its predecessor. Also, the animation engine incorporates real-time inverse kinematics, and streaming engine technology minimizes load times. The new combat system provides Raziel with new fighting moves and improved enemy artificial intelligence (AI).
Just out from Activision is Tony Hawk’s Pro Skater 3 for PlayStation2. The sequel to the best-selling sports game of 2000 features eight large levels filled with people, traffic, and other interactive elements. The game also features richer graphics, special effects, smoother animations, and improved tricks. Locations include Los Angeles, Canada and Tokyo.
Players can also create their own custom characters with the game’s Create-A-Skater feature. Choosing from hundreds of options, players can customize the look for each character by choosing gender, height, weight, skin tones, accessories and tattoos. Online functionality lets gamers log onto the Internet and skate in virtual skateparks with their friends from around the world.
Spectrum is an independent news service published every Monday for the interactive media professional community by Motion Blur Media. Spectrum covers the tools and technologies used to create interactive multimedia applications and infrastructure for business, education, and entertainment; and the interactive media industry scene. We love to receive interactive media and online development tools and CD-ROMs for review.
Send your interactive multimedia business, product, people, event, or technology news to: firstname.lastname@example.org. We prefer to receive news by email but if you must, telephone breaking news to 510-549-2894. Send review product and press kits by mail to David Duberman, 2233 Jefferson Ave., Berkeley, CA 94703.
If you contact companies or organizations mentioned here, please tell them you saw the news in Spectrum. Thanks.
Please send address changes (with old and new addresses), subscribe and unsubscribe requests etc. to the above address. If you use the Reply function, please do _not_ echo an entire issue of Spectrum with your message.
Publisher's note: We are now accepting limited advertising. If you'd like to offer your company's products or services to Spectrum's elite audience of Internet and multimedia professionals, send an email query to mailto:email@example.com, or telephone 510-549-2894 during West Coast business hours.
- David Duberman
©Copyright 2001 Motion Blur Media. All rights reserved. No reproduction in any for-profit or revenue-generating venue in any form without written permission from the publisher.