Recombinant Territory

Trimble SketchUp Pro can generate 3D terrain models using elevation data from many regions around the world. Sometimes the resulting geometry needs cleanup and refinement for better flexibility. Below as a summary of how an application called Side Effects Houdini (a beloved procedural powerhouse of the visual effects and game industries) can help.

Ingredients:

  • Trimble SketchUp Pro 19.1 (With internet access for geospatial data)
  • Side Effects Houdini 17.5 (Indie used here, but the free Apprentice might also be sufficient.)
  • Google Earth Pro for higher-resolution aerial images (texture mapping is beyond the scope of this particular discussion.)

Summary:

  1. Obtain terrain geometry using SketchUp.
  2. Import SketchUp’s terrain data into Houdini.
  3. Clean and and refine terrain using Houdini’s virtually limitless toolset.
  4. Import the refined terrain back into SketchUp.

Get Terrain

First, fetch some terrain data, which in this case originates from SketchUp’s Geographic Location network service. (This appears to require a paid version of SketchUp Pro, as Trimble no longer offers a standalone version like SketchUp Make.)

This SketchUp model has no association with any physical place on earth.
This SketchUp model is geolocated, or linked to some real-world coordinates.

Pressing the “Add More Imagery…” repeatedly might lead to a more data density than necessary. Each blue tile is a discrete object with no knowledge of its neighbors. Redundancy abounds.

overlapping elevation tiles
Untidy SketchUp terrain. Note the haphazardly overlapping tiles.

These tiles could benefit from some reorganization. To begin, unlock each of the “Location Terrain” geometry objects, then select them. (Note: the 3D layer is called “Location Terrain,” not “Location Snapshot,” which just contains raster aerial images.  And low resolution, at that.)

Next, choose File > Export > 3D Model… and specify a Wavefront geometry (obj) file format. 

SketchUp export settings.
Export SketchUp selection as standalone .obj file.

In the Export Options dialog box, enable “Swap YZ coordinates” so that the Y axis points upward.  Stick with meters as the units format.  Enabling texture maps seems to be of limited use, as each tile gets its own jpeg file.  (Houdini’s compositing system (COPs) could probably handle a procedure to recombine the individual images.)

As an aside, routing the .obj file through Pixologic ZBrush’s DynaMesh system produced something resembling the aftermath of a termite infestation.

Pixologic ZBrush’s DynaMesh, SketchUp, and termites.

Clean Terrain

Below is a sample Houdini node network for importing the SketchUp terrain, cleaning it up, then exporting a refined version. This method harnesses Houdini’s heightfield model, a system of portraying detailed terrains using surface-like 2D volumes.

Houdini Heightfield Network
Houdini node network that attempts to refine terrain geometry.
The Heightfield Project operator can transmogrify messy geometry into a lean and orderly surface.
Houdini heightfield projection in OpenGL viewport.
Make sure that the heightfield plane is large enough to accomodate the projected geometry.

Houdini’s heightfield operators can emphasize major contours for illustrative purposes.

Terrain with pronounced contour lines using Houdini’s Heightfield Terrace node.

The final nodes in this network convert the terrain to polygons and saves the geometry as an AutoCAD Drawing Interchange Format file (dxf).

Houdini - convert heightfield to polygons.
Bake the reconstituted terrain into conventional polygons for use elsewhere.

Back to SketchUp

Next, import the newly-minted dxf back into SketchUp. Enable drawing origin preservation to ensure that the freshened terrain slab remains positioned exactly where it should.

Import the new terrain geometry back into SketchUp.
Houdini terrain after SketchUp import.

Finally, enable edge smoothing in SketchUp to hide the model’s gridlines and make the terrain look more natural.

Smooth the appearance of the terrain’s surface in SketchUp.

Optionally, project a higher-quality aerial texture onto the fresh terrain.  Google Earth Pro can be a good source for such imagery.  (SketchUp’s finicky process for texture mapping is worthy of its own discussion.)

Terrain with a higher-resolution aerial image from Google Earth Pro.

Summary:

SketchUp > terrain > obj > Houdini > heightfield > dxf > SketchUp > heightfield > dxf > SketchUp

This isn’t necessarily a practical or advisable solution to cleaning up a slab of virtual terrain. But it turned out to be a fairly quick and repeatable approach in this case.

Hozhó Diagram

Navajo planning principals follow the concept of “hozhó,” which involves restoring beauty, harmony, and balance in life. This diagram for Dzilth-Na-O-Dith-Hle Community School in Bloomfield, New Mexico, attempts to convey those Diné society founding principles in a graphical form.

Navajo hozhó planning principles diagram.

The design brief contained an explanation of these planning principles, and an architects’s quick sketch of what the design should look like:

A plugin from Astute Graphics called MirrorMe provides a method to replicate, distribute,  and fuse shapes dynamically for instant symmetry.

MirrorMe plugin utility from Astute Graphics for Adobe Illustrator.

In a 2013 DEVELOP3D presentation about ideation, former Luxology/Foundry executive Brad Peebler describes how simply adding symmetry offers a remarkably easy way to generate and explore design ideas, particularly with a suggestion of an organic origin:

By default, Illustrator’s Type On A Path tool positions text characters along the baseline of a path shape.  But aligning along a path’s midline may offer more flexibility for adjustments.

Align text along the midline of a path for easier positioning.

To change this behavior, invoke the the menu command Type > Type on Path > Type on Path Options, then choose “align to path: Center”.

Adobe Illustrator text on path alignment options.

Shoddy Stylus

Line art drawing of a broken digital pen

Many of the Wacom drawing pens I’ve used over the years have failed in the same way, gradually developing a stress fracture within the plastic barrel. When that crack widens, the stylus’s internal circuit board can slip out of place and cause the drawing nib to retract unexpectedly.

Cracked plastic

That crack in the plastic casing leads to a mushy feel to the pen, loose enough to make the pen feel wobbly and unsteady. An unstable nib produces unreliable drawing results, spewing digital ink all over like an irritated cephalopod.

Irregular ink flow

Reseating the barrel will temporarily fix the problem, as will a dab of plastic glue. So far, a more reliable solution has been a simple nylon cable tie.

Nylon strap example

Unsightly, but effective.

Nylon tie cable

Other stylus models like the rotation-aware Art Pen don’t seem to be as susceptible to such a break, though the inner structural design looks identical.

Stringy Diagram

A bare corporate staffing diagram, or org chart, tends to express little more than an organization’s hierarchy, meaningless to outsiders. Or it may inadvertently make a statement about the institution’s convoluted bureaucracy.

This 2013 diagram attempts to convey the capabilities of a flat-level corporation, calling attention to the specialities of each contributor.

twisty lines v2.graffle

The diagram’s basic structure of boxes and lines originated in OmniGraffle, a Mac drawing application well suited for visualizing relational information.

omni_stringy_document_view

OmniGraffle’s connection lines can anchor themselves to magnetic points on each piece of geometry. Adjusting the position of the objects produces tension and slack in the connection lines.

omni_stringy_v3

Next, the rough OmniGraffle diagram went to Adobe Illustrator for cleanup and refinement.  As of version 6, OmniGraffle’s vector export discards layer structure.  But Illustrator’s selection tools can quickly isolate elements and sort them back into layers.

ai_stringy_layer_list_v2

A shaded circle in the layers palette indicates that the layer, object, or group has a dynamic effect attached.  The appearance palette contains a list of these applied effects and provides a way to adjust their parameters. Objects placed within an effect-laden container inherit those graphic styles automatically.

ai_stringy_appearance_yellow

Many paths are simple two-point Bézier curves, easily adjustable using Illustrator’s pen tools.

ai_stringy_bezier_curve

ARC 40th Anniversary Logo

Here are some design concepts to commemorate the 40th anniversary of Architectural Research Consultants, Incorporated.

The logo’s bluish rectangle containing lowercase lettering has remained unchanged since 1976.

arc_40_yellow
Yellow “40th Anniversary” tag.

arc_40_red_burst
Red “Est. 1976” badge.

arc_40_q_shape
Ornate ring of text.

cutout.png
Text ring drop shadow depth effect in Illustrator.
This circular design uses a hierarchy of layer styles (defined in Illustrator’s Appearance palette) to mimic bevels and shading.

arc_40_round
Circular design with embossed edges.
 

ai_arc_40_round
Layer-based design attributes in Illustrator’s Appearance palette.
The casual handwritten typeface is Jellyka CuttyCupcakes by Jessica “Jellyka Nerevan” Lapointe.

jellyka_cuttycupcakes.png
Jellyka CuttyCupcakes.
 

 

Morto Ambulante

Unsightly Morto Ambulanteante drawing from 2008:

Gross morto ambulante picture
Zombie-like drawing from 2008

Gloppy brush smear in Scribbles drawing application:

Scribbles Application UI
Scribbles Application UI

Preliminary design idea:

Preliminary zombie sketch.
Preliminary zombie sketch.

Sphynxie

Wrinkly feline project constructed using Pixologic ZBrush 4 and The Foundry modo 701 in 2013:

Wrinkly snout vaguely reminiscent of a sphynx kitty.
Wrinkles vaguely reminiscent of those of a sphynx kitty.

(The human-headed, lion-limbed, mythological desert beast fond of riddles is a Sphinx. The kind that meows is probably a Sphynx.)

Fuzzy papier mâché cat snout.
Fuzzy papier mâché cat snout.

Originating as a sphere in ZBrush, the kitty model grew increasingly detailed with sculpting techniques and DynaMesh topology tools.  Unrefined ZBrush geometry can become dense, inefficient, and extermely slow.  Fortunately, ZBrush offers various utilities to drastically simplify mesh information without sacrificing surface detail.

This project employed the process of subdivision re-projection and 32-bit displacement maps.

ZBrush mesh at its highest subdivision level.
ZBrush mesh at its highest subdivision level.

ZBrush mesh with displacement enabled.
ZBrush mesh with displacement enabled.

ZBrush mesh at its lowest subdivision level.
ZBrush mesh at its lowest subdivision level.

A fuzzy ear's subsurface scattering.
A fuzzy ear’s subsurface scattering.

Veins locked into place using modo's UV editor.
Veins locked into place using modo’s UV editor.

The cat’s yellow eye color and texture originate from a manipulated image of a human iris.

Yellow iris texture map in Pixelmator.
Yellow iris texture map in Pixelmator.

morph map in modo controls the eye’s level of pupil dilation.

Stretchable iris geometry.
Stretchable iris geometry.

A spherical magnet deformer gently squishes geometry out of the way, carving out a comfy socket for the eyeball.  This allows the eye geometry to swivel around without intersecting with other meshes.

A magnet deformer helps the eyeball geometry fit neatly into its socket.
A magnet deformer helps the eyeball geometry fit neatly into its socket.

The eyes remain synchronized to each other using channel links.  Morph maps and linked deformers ensure that the surrounding facial tissue stretches and slides as the eyes move.

Eyeball motion linked together using modo's schematic panel.
Eyeball motion linked together using modo’s schematic panel.

A simple facial rig provides a limited range of motion to the jaw, ears, and neck.

SNL Foundation Diagram

Sandia National Laboratories logo.

Sandia National Laboratories (SNL) is one of the world’s leading nuclear and energy research facilities.  This 2014 ARC diagram was part of SNL’s Five-Year Facilities and Infrastructure Plan (FY 2015-2019), and attempted to visually describe the labs’ organizational framework.

SNL Foundation multi-colored slabs.
SNL foundation multi-colored slab diagram.

SNL Foundation monotone slabs.
SNL foundation cylindrical slab diagram variation.

Cleaner, simpler quasi-isometric design alternative using Adobe Illustrator:

Multi-colored isometric blocks.
SNL diagram with an isometric design.

Two-dimensional diagram version from The Omni Group’s OmniGraffle design application.

OmniGraffle Lab Foundation Diagram
2D OmniGraffle version.

Three-dimensional variations of the diagram used weight containers and deformers within The Foundry’s modo application.  In modo, a weight container specifies which of an object’s polygons are susceptible to effects like squishing and twisting.  The nodes in this Modo schematic view depict the strength and range of some twist and bulge deformer effects.

The Foundry relational node schematic.
Schematic view in modo.

Once wired together, polygons within a weight container (depicted in red below) will bulge and twist more readily than other polygons.  Such effects can be animated over time and are non-destructive, making it easy to revert the source geometry back to its original rest state.

The Foundry Modo weighted rotational deformer at 0°.
The Foundry Modo weighted rotational deformer at 0°.

The Foundry Modo weighted rotational deformer at 600°.
The Foundry Modo weighted twist deformer with a spiral intensity of 600°.

In the end, SNL strategic planners decided to stick with their existing in-house diagram:

Original SNL strategic framework diagram.
Original SNL strategic framework diagram.

miroMOTION DC20

Miro logo SVG.

In the 1990s, playing full-screen digital video often required specialized computer hardware. One such solution was a PCI card called miroMOTION DC20, which supported video capture, editing, and playback at a pixel resolution of 640 x 480 at a smooth 60 fields per second in 24-bit color.

The DC20 encoded video data using a proprietary motion JPEG format, readable only on computers also containing a hardware decoder. Computers without the appropriate hardware would display blank video or fail altogether.

dc20_panel_failure_os8

quicktime_10_failure

Fortunately, there are some workarounds to recover orphaned DC20 video files.  If software solutions like the DC30 Xact Driver for Mac G4Morgan M-JPEG codec for Windows, or OS emulation are unsuccessful, the approach below may help.

Legacy QuickTime Pro + Handbrake

This method relies on access to a Mac running OS X 10.6 or older using QuickTime Pro.  If such a machine is unavailable, it might be possible to run a virtualized copy of OS X within VMware instead.

First, open an unplayable DC20 video file in QuickTime Player.  Ignore any error messages about missing software.  If the application refuses to even open the video, you may have to try an even older version of QuickTime.

QuickTime Pro 7 on an Apple Xserve G4 running OS X 10.4.
QuickTime Pro 7 with blank video on an Apple Xserve G4 running OS X 10.4.

dc20_inspector
QuickTime 7 movie inspector panel.

qt_miromotion_properties
DC20 movie properties in QuickTime 7.

Next, re-save as a self-contained movie.

save_as_self_contained
Save as self-contained movie in QuickTime Pro 7.

Then open the newly-exported movie in a video transcoder like Handbrake.

handbrake_queue
HandBrake 0.10.2 queue on OS X 10.11.2.

Inspect the image quality using Handbrake’s video preview.  Try exporting in a more recent video format like H.264.

Handbrake picture settings.
Handbrake picture settings.

handbrake_preview
Handbrake image quality preview.

Sadly, no transcoding process can rescue old video files from filesystem bitrot, the silent corruption of electronic data over time.

corrupted image data
Casualty of filesystem bitrot.