Friday Flashback #147


Private Revolution
SOFTIMAGE Animation Software Breaks New Ground
Some facts from this April 1992 article:

  • The beta version of the SOFTIMAGE 4D Creative Environment made its debut at the 1988 SIGGRAPH show, and SOFTIMAGE Version 1.0 was released in January, 1989.
  • A basic SOFTIMAGE software package is priced around $34,000; the full-blown system may cost up to $56,000 for the software alone.
  • SIGGRAPH 1991 in Las Vegas, NV, saw the debut of the SOFTIMAGE Actor module
InMotion_April1992_1 InMotion_April1992_2

Private Revolutlon
SOFTIMAGE Animation Software Breaks New Ground
BY HELEN SHORTAL

Last summer, James Cameron’s Terminator 2 was widely hailed for revolutionizing the use of computer animation in the production industry- at a cost of about $80 million. But a quieter- and more cost-effective revolution in computer animation has been underway for some time in Montreal, Canada, which is home to software manufacturer SOFTIMAGE Inc.

In the four years since the introduction of the modular SOFTIMAGE Creative Environment, more than 230 companies around the world have licensed the 3D animation software, which also offers options that provide paint and compositing capabilities. Now, two recent developments have enabled SOFTIMAGE to offer previously-unprecedented animation capabilities to tele-production facilities and corporate communicators alike: the release of the SOFTIMAGE Actor module for character animation and the recent announcement of support for the economical Silicon Graphics IRIS Indigo Elan
platform.

illustration1
In The Beginning

SOFTIMAGE founder and president Daniel Langlois began developing the SOFTIMAGE Creative Environment in 1986. A graphic designer who received wide acclaim for his codirection of the animated film Tony de Peltrie in 1985, Langlois dreamed of creating a software package that would free computer graphic artists from the tedium of programming. The beta version of the SOFTIMAGE 4D Creative Environment made its debut at the 1988 SIGGRAPH show, and SOFTIMAGE Version 1.0 was released in January, 1989.

“Right from the outset, Daniel designed SOFTIMAGE with the artist in mind- especially in terms of its user interface,” says SOFTIMAGE marketing coordinator Elizabeth Jones. “He wanted artists to feel like they were working with a powerful set of tools, not a computer.”

SOFTIMAGE runs on all Silicon Graphics workstations, from the IRIS Indigo and the Personal IRIS to the highpowered 310 VGX and 340 GTX platforms. The Silicon Graphics IRIS 4G35GT is currently the most popular platform among SOFTIMAGE users. A basic SOFTIMAGE software package is priced around $34,000; the full-blown system may cost up to $56,000 for the software alone.

“I believe I was the first licensed SOFTIMAGE user in the world,” says graphic artist Sam Hadley of Fast Cuts Inc. in Washington, DC, who currently runs SOFTIMAGE on the IRIS 4G35GT. Hadley began working with SOFTIMAGE in 1989, when he was a graphic artist at Vox-am Associates in Silver Spring, MD.

“The user interface is still pretty much the same- really intuitive- but SOFTIMAGE has gotten a lot more powerful in the last few years,” says Hadley. “The system I have now runs about 15 times faster than it could a few years ago.” A Betacam SP facility that caters to the government, corporate and association markets, Fast Cuts purchased its SOFTIMAGE system about eight months ago.

“The Pan-American Health Organization wanted us to do three 30-second animated PSAs showing people how to prevent the spread of cholera by boiling their water and cooking their food,” Hadley recounts. “The hardware and software for the system arrived in boxes one morning, and by night I had the first three seconds of animation on tape. In two and a half weeks, all three spots were on the air.”

Multiple Choice
illustration2
Designed to provide artists with flexibility as well as creative freedom, SOFTIMAGE can output images at multiple resolutions to a wide range of formats,, including NTSC, PAL, HDTV, 35mm film and 4 X 5 transparencies. Both technical support and services for SOFTIMAGE users are available through the Customer Support Department at SOFTIMAGE headquarters in Montreal; its services include rendering and outputting to both film and video. With the PostScript option, SOFTIMAGE can also output line work to Post- Script-compatible printers, for applications such as storyboards or conventional cel animation. This versatility has contributed to SOFTIMAGE’s popularity as a tool for architectural and industrial design, education and scientific visualization.

At Northern Telecom lnc. in Research Park, NC, animation director and marketing specialist Paul Graham uses SOFTIMAGE to produce “everything from brochure covers and videos to high-res images for trade show display panels,” says Graham. Running on a Silicon Graphics 310 VGX workstation, the SOFTIMAGE system at Northern Telecom includes the Nefertiti paint program and the Eddie compositing module, which provides in-computer integration of live action and special effects.

“SOFTIMAGE lets me do everything Irom logo spinning to visualizing the concepts behind the services we market,” says Graham, who is particularly impressed with SOFTIMAGE’s Wave module.

Wave allows the artist to automatically animate multiple deformations of ob jects, such as raindrops falling on a pond or flags rippling in thewind. “Wave makes it a million percent easier to create ripple and water effects, and it allows me to use as many waves as I want in the same obiect,” says Graham. “Other programs limit you to a single wave.”

Graham recentlY used Wave to animate the background for a threescreen video presentation at the ITVA Silver Reel awards. “With Wave, I created lour or five water ripples that ran into each other and bounced back and forth across the three screens,” says Graham’ “Since you can actually see the deformations as they take place at the wireframe level, you have a tremendous amount of control over the effect.”

Enter Actor

SIGGRAPH 1991 in Las Vegas, NV, saw the debut of the SOFTIMAGE Actor module, which automates many of the oncecumbersome processes required to create detailed animation sequences.

Actor uses inverse kinematics to pre vide complex and realistic skeletal animation. The artist uses a “skeleton editor” to construct a hierarchical chain and specify the range of motion in each of its joints. When the artist moves one end of the chain, Actor automatically calculates the subsequent movements of the entire chain. The artist can specify environmental conditions such as wind or gravity, and the system will automatically assimilate them into its calculatiens. Deformable envelopes created with Actor automatically match the movements of an underlying hierarchical chain, allowing for the speedy creation of remarkably detailed characters.

The graphic artists at Manhattanbased Compugraph Designs, a division of MTI subsidiary The lmage Group, were among the first designers to work with Actor. “I had a storyboard that really required Actor, so SOFTIMAGE sent us a beta version,” says creative director Mike Saz.

“Professional animators appreciate SOFTIMAGE for features like latticebased deformation of shapes and skeletal control of figures through inverse kinematics,” notes Saz. “Other software isn’t addressing these features. And to have animation software that’s fast enough to use in production is even better. You know how the production industry is- if you can’t have it done by Tuesday, then it doesn’t matter.”

Compugraph designer/animator Lisa Suzuki used SOFTIMAGE to create two fanciful spots for Sony Corporation in Mexico. “Sony is moving into the VHS VCR market, so the spots take you inside a Sony VHS machine and show that there’s an entire world in there,” says Suzuki. “You see a fish scurrying through an underwater scene full of waving plants. Then the body of the fish changes into the body of a bird, through shapeto.shape animation, and Actor animates the bird’s flap ping wings.”

Mixed Media

At Manhattan’s VSC Post, computer animator Dave Throssel uses SOFTIMAGE on high-end commercial proiects where animated characters are composited with live-action sequences. In the past few months, Throssel has completed spots for Warner Cable, Norelco, Fixodent and the New York Lottery.

“I run SOFTIMAGE on a Personal IRIS, which is perfect for the kind of work I do,” says Throssel. “I usually don’t render whole scenes- just the heroes in the scenes. And SOFTIMAGE has a’drawover’ option that lets you see the live action behind your wireframe model.”

The New York Lottery campaign uses an animated champagne cork ricocheting around the home of two lotterywinners to make the point that, “‘You’d better be careful, because you might just win the lottery’,” says Throssel. Duringthe liveaction shoot, vases and cookie jars on the set were rigged to break on cue. Working with this footage, Throssel then used SOFTIMAGE to animate a cork that flies out of its champagne bottle and wreaks good-natured havoc on the room.

“Our clients like SOFTIMAGE because it has a single interface and they understand the terminology it uses,” says Throssel. “Our system paid for itself in just four months. SOFTIMAGE is the best animation package you can get your hands on, and the Silicon Graphics workstations keep getting cheaper and more powerful. Once you start using SOFTIMAGE , you don’t want to work with anything else.”

Getting values and fcurves for the port parameters of an ICE node


ICE nodes have ports, and the ports have parameters. It’s the parameters that you work with in an ICE node PPG.

For simple types such as float, integer and boolean, you can access the port parameter value through ICENodeInputPort.Value. However, for more complex types, like a 3D vector, you need to go through the ICENodeInputPort.Parameters.

In either case (simple or complex types), to get an Fcurve, you get a parameter and then use Parameter.Source.

For example, suppose you have a Scalar node:
ports_params_Scalar
To get the value from a Scalar node, you’d do this:

si = Application
node = si.Dictionary.GetObject( "pointcloud.pointcloud.ICETree.ScalarNode" )
port = node.InputPorts(0)

# For scalars, you can just use the port.Value property
print port.Value

# Or you could go through the Parameters
print port.Parameters(0).Value
# 0.428628623486
# 0.428628623486

# It's a little confusing because the port and the parameter have the same name:
print port.FullName
print port.Parameters(0).FullName
# pointcloud.pointcloud.ICETree.ScalarNode.value
# pointcloud.pointcloud.ICETree.ScalarNode.value


# Now get the Fcurve
fcv = param.Source

Now consider the case of a 3D Vector node, where you have one port (value) and three parameters (value_x, value_y, and value_z):
ports_params_3DVector
In this case, you cannot use ICENodeInputPort.Value, so you have to go through the parameters collection:

si = Application
node = si.Dictionary.GetObject( "pointcloud.pointcloud.ICETree.3DVectorNode" )
port = node.InputPorts(0)
print port.FullName # pointcloud.pointcloud.ICETree.3DVectorNode.value
param = port.Parameters( 0 )
print param.FullName # pointcloud.pointcloud.ICETree.3DVectorNode.value_x
print param.Value # 0.933080613613

# Now get the Fcurve
fcv = param.Source

hat tip: Alan Fregtman

Scripting: Toggling the constraint compensation mode


Here’s one way, using the not operator.

si = Application
si.SetUserPref( "SI3D_CONSTRAINT_COMPENSATION_MODE", not si.GetUserPref("SI3D_CONSTRAINT_COMPENSATION_MODE") )

The “problem” with this approach is that you’re toggling between 0 and -1, not between 0 and 1 (when you click the CnsComp button in the UI, you set the pref to either 0 or 1). The -1 happens because not 0 is -1.

Application.LogMessage( True == 1 )
Application.LogMessage( False == 0 )
Application.LogMessage( not False == -1 )
# INFO : True
# INFO : True
# INFO : True

So here’s a couple of other ways to toggle the preference value:

si = Application
si.SetUserPref( "SI3D_CONSTRAINT_COMPENSATION_MODE", 0 if si.GetUserPref("SI3D_CONSTRAINT_COMPENSATION_MODE") else 1 )
si = Application
toggle = [1,0]
si.SetUserPref( "SI3D_CONSTRAINT_COMPENSATION_MODE", toggle[si.GetUserPref("SI3D_CONSTRAINT_COMPENSATION_MODE")] )

Linking an ICE compound to a help page


The short answer is that you can’t do it, not really. The best you can do is provide a URL in the compound properties
Compound_URL
and then right-click the compound and click Open Netview on URL.
Compound_Open_URL_in_Netview

For ICE compounds, a CompoundNode property is loaded into the PPG when you inspect the compound.
C3DCompoundNode
This CompoundNode is like a proxy container for the actual compound, and it takes care of populating the PPG with the required controls, and finding the right help page. To do that, it just takes the name of the compound and constructs a URL like http://download.autodesk.com/global/docs/softimage2014/en_us/userguide/files/iceref_MyCompound.htm. (Hmm, having just said that, I figure if you had a local version of the help, then you could stick your own help page there, and Softimage would find it.)

For shader compounds it’s a little better, because you can put something like this in your PPG Logic, and it will work.

#ppg logic start
from win32com.client import constants

def OnInit():
    Application.LogMessage( "OnInit" )
    PPG.PPGLayout.SetAttribute( constants.siUIHelpFile, "http://lmgtfy.ca" )
#ppg logic end

hat tip: everybody on this thread

Screenshots of the week


Arnold shader “OSO” in emTools version 1.910
by Mootzoid
Shader_emToolsArnold_OSO

A script that applies fur via ICE. And Compression Matting on the fur

feathers and script improvements

Compression Matting on fur controlled by texture map

UV to position
by Mathaeus
uv_to_position

Transform UVs in the render tree
by NNois
Capture

Select in Array until Max Sum

Read color information of a texture map
by face
color

Friday Flashback #146


SOFTIMAGE|3D had a Effect > GC_Displace command (written with the C++ GDK) that displaced the vertices of a polygon mesh object based on an applied texture map. Using GC_Displace, you could “sculpt a terrain, a craggy moon surface, or even a face.”

I came across a screenshot of GC_Displace the other day, so for fun I re-created the basic effect in ICE:

ICE_GC_Displace

Friday Flashback #145


Screenshot of Wam!Net ROD Render in SOFTIMAGE|3D. From the Softimage web site back in 2000/2001.
Soft_website_ad_pic-liter1

Press release from April 2000:

Softimage Works With WAM!NET to Offer High-Speed Rendering to the Animation and 3-D Special Effects Industries

NAB2000

LAS VEGAS–(BUSINESS WIRE)–April 9, 2000

Softimage Co., a subsidiary of Avid Technology, Inc. (NASDAQ: AVID), and WAM!NET Inc. today announced that WAM!NET has joined the Softimage Developer program as a Gold Level Partner to provide its ROD!(TM)service (Render On Demand). ROD! is designed to give SOFTIMAGE(R)|3D and SOFTIMAGE(R)|XSI(TM) artists and animators a strong alternative to traditional rendering and asset management.

This relationship will give digital content creators an option to farm out the rendering process using the WAM!NET(R) ROD! service. Studios and small production facilities alike can reduce production costs and accurately estimate projects with the ROD! service, which provides the much-needed computing power for larger projects. This additional “as-needed” computing power allows animation and special effects studios to reduce overhead costs and accurately estimate project requirements, enabling them to remain competitive in the growing animation and special effects industry.

“Softimage is one of the top innovators in three-dimensional and two-dimensional graphics technology,” said Keith Elzia, vice president of strategic development at WAM!NET. “WAM!NET is an e-services company that believes in providing best-of-breed technology to its subscribers. Softimage is a technology leader in the animation and special effects industry. As a Gold Level Partner, our joint marketing and sales effort with Softimage will help build a stronger ROD! service for the animation industry with the two popular Softimage software applications available on ROD!.”

“WAM!NET has provided a powerful and cost-effective rendering service that is an excellent alternative for all of our customers regardless of size,” said David Miller, director of business development at Softimage. “The benefit of the WAM!NET ROD! service is that it is available on an ‘as-needed’ basis to provide added coverage and economic flexibility for the ebbs and flows of animation and special effects projects.”

WAM!NET’s ROD! service provides high-speed, wide-area rendering services and offers an effective way for all studios to do high-speed rendering and bid with confidence on large projects that require tremendous rendering power and asset management capabilities. WAM!NET’s services eliminate the need to upgrade or add to existing hardware and software to access high-speed, on-demand rendering.

The Benefits of WAM!NET

WAM!NET provides many benefits to SOFTIMAGE|3D, SOFTIMAGE|XSI and mental ray(R) customers, including:

–The ability to offload computer-intensive, time consuming rendering functions to WAM!NET’s high-speed, wide-area media network to save both money and time on projects;

–Asset management features and offsite archives provide an efficient method of storing and managing their rendering workflow;

–Access to WAM!NET’s distributed rendering on a high-speed, privately managed and secure network;

–The ability to utilize the WAM!NET ROD! service to outsource their computer-intensive rendering needs and enjoy increased profits and improved productivity as artists free up their workstations for more projects; and

–Most importantly, large or small studios alike will be able to enjoy WAM!NET’s ROD! service and confidently pursue larger projects with the processing power to meet tight deadlines on a pay-as-you-go basis.

About WAM!NET Inc.

WAM!NET Inc., with its digital media management service, sets the industry standard for electronic collaboration in the graphic arts, advertising, marketing and entertainment industries. WAM!NET’s Industry Smart(TM) high-speed transportation network, on-line archiving service and production workflow application software allow subscribers to digitally collaborate with thousands of global trading partners with one simple connection. Since its incorporation in the state of Minnesota in 1994, WAM!NET has attracted more than 1,900 users of direct services and over 6,800 users of its dial-up and Internet Gateway service. WAM!NET services are available throughout America, Europe and Japan.

WAM!NET is headquartered in Eagan, Minnesota, with offices throughout North America, Europe and Japan. The company has benefited from strategic relationships with SGI, MCI WorldCom and Winstar Communications. For more information about WAM!NET, call 800.611.9006, or visit WAM!NET’s Web site at http://www.wamnet.com.

WAM!NET(R) is a registered trademark and Industry Smart(TM) and ROD!(TM) are trademarks of WAM!NET Inc. All other trademarks and registered trademarks are the property of their respective companies.

About Avid Technology, Inc.

Avid Technology, Inc., of which Softimage Co. is a subsidiary, is an international, industry-leading provider of digital audio and video tools for information and entertainment applications. Avid’s products are used by a variety of customers worldwide including film, television and interactive content producers, TV news broadcasters, corporate communicators and consumers. For more information, visit the Softimage site at http://www.softimage.com or Avid’s Web site at http://www.avid.com.

(c)2000 Avid Technology, Inc. All rights reserved. Product specifications are subject to change without notice. Avid and Softimage are registered trademarks and XSI is a trademark of Avid Technology, Inc. WAM!NET is a registered trademark and Industry Smart and ROD! are trademarks of WAM!NET Inc. mental ray and mental images are registered trademarks of mental images GmbH & Co. KG in the USA and/or other countries. All other trademarks contained herein are the property of their respective owners.

Objects and default properties


Here’s a scripting question from the mailing list:

Why do I get “None” when I print ChainRoot.Children and
ChainRoot.Bones?

si = Application
chainRoot = si.Create2DSkeleton(0, 0, 0, 10, 0, 0, -90, 0, 0, 4)

print chainRoot
print chainRoot.Children # Not working
print chainRoot.Bones # Not working
print chainRoot.Effector

# root1
# None
# None
# eff1

The answer is that ChainRoot.Children and ChainRoot.Bones are objects that don’t have a default property, so (in Python) you get the string representation of those objects, which is “None”.

ChainRoot and ChainRoot.Effector, being types of SIObject, and they do have a default property: the Name property.

ChainRoot.Children is an X3DObjectCollection, and ChainRoot.Bones is a ChainBoneCollection, and for whatever reason, those two collections don’t have Item as their default property (for some collections, like ISIVTCollection and LinktabRuleCollection, the Item property is the default property).

So the above Python is equivalent to this:

si = Application
chainRoot = si.Create2DSkeleton(0, 0, 0, 10, 0, 0, -90, 0, 0, 4)

print chainRoot.Name
print str( chainRoot.Children )
print chainRoot.Bones.__str__()
print chainRoot.Effector.Name

# root1
# None
# None
# eff1

Note that in JScript and VBScript, you’d get a “Type mismatch” error instead of the string “None” (in the original snippet).