About Me


Hi, I’m Pedro Alpiarça dos Santos, a 3D Animation Pipeline generalist, currently based in Lisbon, Portugal. I’m passionate about Artwork, Animation, Geometry and Programming; a mix of artistic heart and technical brain. At the moment, I’m like a ripe young tree requiring a place to root to produce some particular juicy fruit. Looking for:
– Studio working environment with people specialized in parallel fields.
– Developing technical and project management skills to increase production value.
– Deal with challenges in a structured pipeline with time for R&D.

Curriculum Vitae: PDF filePDF file

Personal trajectory

1) Drawing

drawings and graffiti

As a youngster, drawing and graffiti were passionate practices that made me dream about animating characters. I took figure drawing classes and given the lack of Drawing or Animation degrees, I enrolled in a Painting degree. On the side of the classical studies I was diving into CG drawing and animation.

comic #1

comic #1

2) 3D Initiation

CG had grown on me, so after 2 years I jumped on a newly available Animation degree, where 3D was just a footnote, but I mostly focused on it.
Right then, it became clear the technical weight that 3D puts on Animation. For this assignment (pic), it took me weeks to research the necessary modeling, rigging and displacement techniques. While animating the character just took 2 days.

crystal fighter


1) Modeling assets

game character

The following years I focused on Modeling, Sculpting and Painting assets, grasping UVs, texturing, baking and materials. Which gave me some structured workflows.

character workflow

2) Practice

koi fish jagged head
iPhone SubDivision Insertions
Alien Tools
kid Crane Lift

1) Reference tables

Polygon Table

I noticed the same trend on modeling about the technical weight 3D softwares have over the creation of shapes, which is somewhat diminished now days with the rise of ZBrush and Adaptive tesselation sculpt apps. But at the time, through LightWave3D, I was starting to grasp all these problematics and trying to document, structure them as I went. So I invested time producing technical reminders for Topology, Subdivision, UVs, Baking issues, etc, to get them out of the way.

Subdivision deformation Subdivision divisions size

2) Interactive sampler

This flash presentation was initially projected to just be an interactive archive of procedures to change the topological location of vertices with valance not equal to 4. But… I ended up stuffing it with many panels documenting observed topology patterns.


1) Node initiation

My first touch with nodes was actually for texturing, in LightWave3D. Those same nodes ended up going everywhere over the application which spiked my interest in having the same tailored control in other areas. Unfortunately at the time, I knew almost nothing about programming and linear algebra, so there was a lot of frustration involved. For this reason, it’s quite satisfying today, to come back and play with surface spot positions, normals, UV positions, weight maps, etc, and achieve things I craved long ago.

Tension and curvatures maps to scale detail textures

2) Influence maps

Doritos Doritos

Softimage ICE’s access to weight maps is very handy to generate and manipulate rigging influence maps. Even if the setup is script-like, the provided live refinement is very welcome. My first big achievement with ICE was a compound to generate falloff envelope weights for “Doritos” facial setups, with lots of procedural options and results the native tools wouldn’t deliver. At that moment, the studio had me only modeling and rendering product shots, which was good to dive in into rendering and compositing, but lacking for my aspirations. Fortunately that late night project allowed me become part of the animation pipeline, managing rigs.

Weight map smoothing and filtering


1) Character Rigging


Rigging comes to me as an extension of that central desire to being able to control technical aspects so imagination and expression can flow free.
I used to rig everything from scratch, but auto or modular rigging systems like Species and Gear, really shown me that I could delegate to them repetitive tasks and focus on tailoring the deformations that make each character unique.

Detail Deformations

2) Kinematics

Chain hierarchy with each link attending global rules, but also local controls Book rig where the page distribution is control by an animatable graph and they flap without colliding.

I didn’t even know what a matrix was until a kind co-worker simply explained it to me by making a 3 way intersection with his fingers in the air. From then on I started using nodes to:
– Build behaviors that can be deployed on multiple objects, centralizing control parameters that affect each differently.
– Build additional constraints usually not provided natively, like raycast, intersections, tumble, etc.
– Reduce the number of required hierarchy rigging dummies.

Edge tumbling Two planes intersection constrain

3) Unification

Modeling as Rigging

Softimage really broke some boundaries for me between modeling and rigging since on many occasions I would just need to drive the modeling operators or their dependencies to have a working rig. Modeling becomes rigging; and rigging becomes procedural modeling. ICE was also used to make possible one referenced model control another referenced model’s expressions, which are usually garbage collected when invalid.

ICE Referenced model referencing


1) Development

Bend deformation algorithm code in a LightWave3D plugin, mimicking the ICE compound blueprint

Fortunately attending the edX online courses on Python and partially on Linear Algebra, developed computational thinking and problem breakdown skills, that would become essential to take better advantage of 3D visual programming. This Bend example, shows aspects of a now more horizontal mindset towards 3D:
– If the system supports it, the same solution can be applied in many contexts: mesh displacement, kinematic posing, shading, etc. Vectors are vectors.
– Despite the fact one can compound complete operations, they still are not isolated like a plugin and can simply be a subcomponent of a much bigger operation, producing results beyond the initial goal.
– Even if the end goal is to produce a piece to text code, the provided quick feedback of a visual programming, reduces the time spent tracing or blueprinting a desired algorithm, by being able to make mistakes and assess them faster.

Multi-purpose ICE bend compound Carpet roll Lathe (offset) Tire pattern closing Curl Offsets slide Cutoffs and overall blend Elbow shift Rocking

2) Eureka!

Ball pieces
Animated wiring displacement

The “eureka” moments from solving my own or other people’s technical problems through visual programming became addicting.
While I enjoy many roles of the pipeline I haven’t yet locked into one. But I think I’ll always be a tinkering creator, hopefully surrounded by people that share similar passion, be it artistic or programmatic.