I signed up for Ralph's FITC 2008 Toronto pre-conference workshop,
hoping to revitalize my knowledge of Papervision3D development. And Ralph
Hauwert
did not disappoint. This workshop was hard core and kicked
some
serious ass.

Ralph broke the ice in the workshop by sharing two of his main
passions (other than PV3D): Commodore 64 DEMOs,
and bashing Justin
Timbaland
. :) Pretty funky and hilarious stuff. Reminded me a lot
of André Michelle and Joa Ebert's 8-bit-boy.

Then he dove right into a very sweet demo with a 3D tree scene by Den
Ivanov
called park
seasons. I
was already blown away, and we had barely even started yet. You ain't
seen dynamic "masking" until you've seen this.

Ralph showed a demo reel with the latest and greatest samples,
rather going into a lengthy bout of demos. [link for this when I
find
it]

He then started out explaining PV3D in Flash, bringing in
various classes and explaining the basics of setting up a "hello world"
demo with a wireframed sphere, and then using surface mapping.

The great thing about the BasicView class is it's PV3D's
beginner point of entry, creating for you all the essentials to get up
and running with a PV3D object, setting up a scene, a viewport,
renderer and a camera object. the other cool thing about this class is
that it includes a built-in fps meter which you can activate through
the keyboard.

As the day progressed we covered the following topics:

 

  • Pivot points, or how to rotate an object around an
    axis other than themselves, which basically involves nesting objects
    inside empty clips and rotating them separately;
  • COLLADA file format; generating .DAE files from 3DS Max
    models; workflow optimization between 3DS Max and Flash/AS;
  • Displaying the basic shapes, called Primitives;

 

Round about this point Ralph switched into PV3D in Flex Builder
as the editor,
for which the coders in the room like me were very greatfull. If anyone
wants to see how powerful an ActionScript editor Flex Builder is
compared to Flash, try developing a PV3D application in Flash, and then
one in Flex Builder, and watch how much easier it is in the latter,
it's like night and day. Reminds me of a maxim I once heard: "once you
go FlexBuilder, you'll never go back" ;) I love Flash, but please don't
ask me to code a serious application in it..

Ralph proceeded to give us a five minute crash course on setting up a
project in Flex Builder, and it was at that point where I saw the
designers' eyes in the room glaze over (Mine glazed over from
information overload a little later) ;)

Using Flex, he proceeded to get into the remaining topics:

 

  • The three different kinds of cameras: Camera, FreeCamera,
    Frustrum Camera
  • Materials, the different kinds and what you can do with
    them

 

All this while, Ralph is following his patented formula: show the
final, explain the principles behind it, maybe code an example on the
fly faster than anyone can possibly follow, and then allow people the
time to digest the material by doing it themselves.

It was at some point near the end of the day while covering shaders,
dynamic animation and interactivity
that my eyes started glazing over with information overload, so I just
sat back and watched the master at work, soaking it all in like a
sponge. It not that he was going too
fast or anything, it's just that the information was so densely packed
that if you took your eye off the ball for five minutes, you'd have a
tough time catching up. It was that hard core. Which is a good thing.

And yet, at intervals Ralph would interrupt himself and say "but that's
quite advanced; we'll leave that for the master class." Damn, where do
I sign up for the master class! Bring it on! :)

As a coder half of my time is spent conceptualizing and
prototyping, and the other half debugging. But rarely do I find a
coding topic so challenging that I can literally feel my synapses
stretching. Well in that workshop, they stretched plenty, and got a
great workout. Hooah!

To be fair, the workshop was not just for coders; Ralph made sure
he polled the room to find the designer-to-coder ratio. And although we
needed to spend a lot of time in the code, because that's simply where
most of PV3D development lies, I think he did a masterful job at
balancing time spent in 3DS Max, Flash and Flex. Ralph also did an
extremely good job at balancing the amount of time spent demoing
capability, explaining theory and coding examples ourselves.

The files for the workshop were very well laid out, taking into account
many possible example scanarios, including some very nice utilities for
doing things, located in a "Stuff" folder. Near the end of the workshop
Ralph shared with us that he had been preparing the materials for this
workshop over the course of nearly an entire year, which did not
surprise me. (Giving the workshop multiple times in the process no
doubt.) Considering we were running an alpha version of Papervision 2.0
-- not even beta mind you -- Ralph's extensive preparation of workshop
assets and attention to detail had minimized and anticipated the bugs
and workarounds in the files to such an extent that we nearly got
through all the example files in the handouts, which Ralph had modestly
attributed to us being such an on the ball group (well, there were
quite a few coders in the room I guess).

As a trainer who's taught many classes myself, I had to admire how well
orchestrated the entire day was. Ralph Hauwert's pacing was near
perfect; and we got through almost all the material, adapting to
condense some topics in favour of others, polling the class at
intervals to gauge what he should focus on based on interest, always
checking in during hands-on development to make sure that as few people
as possible were left behind. All the while setting the expectation in
the room to be clear that he would not spend a lot of time helping
people debug certain types of problems such as Flex installation
issues. Which for me is a nice way of saying, if you're machine has
crapped out or you don't know how to use the tools, sorry we don't have
the time. Which sets the bar for the workshop firmly at the
intermediate level, without getting potentially bogged down in beginner
issues. Thankfully, very few unresolvable errors were reported
by anyone in the class.

I actually learned as much about workshop pacing and balance watching
Ralph throughout the day as I did about Papervision, partly because
those are the kinds of things I notice, but mostly because it was such
a condensed and smooth learning experience.

Oh yeah, and he hinted at a few cool things coming up in PV3D related
to Hydra and Flash 10, but we'd have to attend his session later on for
details. Bloody tease. ;)

All in all a masterfully well done workshop. Ten out of Ten.

An all day hard core kick ass flash three dee code saturated geekfest!!
YEAAAAHH!!!
(*okay breathe, just breathe*)
:)

Later at the pre-opening party I asked Ralph whether the team had
thought about PV3D Certification. Considering how complex a topic it
is, PV3D presents team leaders and managers some very unique challenges
in assessing prospective developers for a project. He mentioned that
they were already doing that to some extent through RMI, but that certification
is currently under discussion as a possibility once they release PV3D
2.0 into full beta. I guess we'll have to stay tuned on that one.

Links:
Ralph
Hauwert

Papervision Tutorials
Papervision3D Official Site
Papervision Wiki
Papervision
Mailing List