This tutorial is a collection of ERC code examples for Poser 4® model libraries.
Requirements: You should know how to edit library files with a text editor.
Format: html.
Contents: The tutorial is divided into 10 chapters. You should read chapter 1, before you use the code examples. If you are not yet familiar with ERC coding, you should read all prior chapters, to understand the following chapters. The download links below include a summary of the contents.
Download links: You can download zip archives of the entire text (10 html pages), or single chapters. You can download some of the example models used in the tutorial. The download links are included in the respective chapters.
* * * * * * * * * *
July 2003 - Update note: New download links to the example models. The new links are included in the tutorial text. See also bottom of this page.
September 2005 - Update note: A different approach to ERC code. Using the undocumented ERC operators.
* * * * * * * * * *
How to Write ERC Code - Chapters 1 to 10 (5.5 MB)
Download the entire tutorial.
Chapter 1 (450 KB)
Introduction.
The master and slave channels. The "valueOpDeltaAdd" command. The "valueParm" channel type.
Basic master-slave relations, cascading control, and multi-slaves.
Introducing the "Deformer Value" and "Channel Value". Creating a dynamic dial lock.
Important Notes.
Chapter 2 (324 KB)
Connecting deformer channels. The "deltaAddDelta" parameter.
Creating compound translations. Standard formula for deltaAddDelta. The tangent formula.
Chapter 3 (460 KB)
Creating synchronous rotations. The "reference-slave" formula for deltaAddDelta. Teams of slave channels.
Two typical applications of synchronous rotations: The steering wheel and the bike pedals.
Chapter 4 (327 KB)
Scale channels in compound motions. The "non-zero default" formula for deltaAddDelta.
Using ERC code to fix the "trackingScale" of Morph Target channels.
Using ERC code to adjust channel units.
Chapter 5 (200 KB)
The segmented motion. The delay channel and the offset value rule.
Creating a simple segmented motion.
Chapter 6 (506 KB)
Using segmented motions for compound non-linear deformations.
The offset direction rule.
Using non-zero default channels in segmented motions.
The "bidirectional multi-slave" module. The control and filter channels.
Repeating cycles.
Chapter 7 (815 KB)
Segmented Morph Target deformation in pp2 code (prop libraries).
Morph Targets and "delta-morphs".
The valueOpDeltaAdd command in pp2 code.
Compound motions, compound segmented motions, and dynamic dial locks in pp2 code.
Combining motion segments and blending Morph Target deformations.
Using bidirectional multi-slave modules in pp2 code.
Chapter 8 (845 KB)
Workshop. Creating a complex segmented motion.
More about blending Morph Target deformations.
Expanding multi-slave modules.
More about repeating cycles.
The shift-phase module.
Simplifying code with teams of slave channels.
Creating start motion variants.
Chapter 9 (996 KB)
ERC and "alternateGeom".
The "geomChan" slave.
Connecting geomChan channels.
Using alternateGeom to hide body parts.
Using ERC logic to control various alternateGeoms.
Using ERC control for series of shapes.
Chapter 10 (831 KB)
Introducing variable deformer ranges.
The "delay-scale" and "shorten-scale" methods.
Variable continuous slave motion.
Variable segmented motion.
Variable repeating cycles.
* * * * * * * * * *
Example models:
Poseable mug (108 KB) <http://www.atlantis23.com/poseablemug.zip>
Briefcase prop (970 KB) <http://www.atlantis23.com/ofBriefcase.zip>
"Digitcounter" prop (340 KB) <http://www.atlantis23.com/digitcounter.zip>
"Caty" prop (87 KB) <http://www.atlantis23.com/catyprop.zip>
Seesaw (57 KB) <http://www.atlantis23.com/seesawfigure.zip>
* * * * * * * * * *
v1 9/2002
v2 7/2003 VK
v3 9/2005