Category Archives: Technical

Lens Ambient Occlusion

Doing Ambient Occlusion in every material in a scene is normally not necessary. After reading this post in Caffeine Abuse I started using it as a Lens shader, but noticed the render got darker. It was because I’m using linear workflow in Softimage, so I had to update the compound a little bit:

download “ed_Lens_Ambient_Occlusion_AO” Compound

Compound parameters, Tree and with gamma 1.0 and 2.2 comparison

Just drag & drop the file into Render Tree, or move it to the Data/RTCompounds folder in your User or Workgroup directories. To apply it just connect it to the Camera as a Lens Shader.

Caffeine Abuse is an incredible place for Softimage tutorials, tips & tricks.  All credits of this shader are to it, I’ve just packed it up and added the gamma support. .

beta testing

In a couple of weeks I’ve been beta testing Eric Trivierge’s PassManager Softimage addon, and it is quite amazing. It let’s you basically copy and paste Passes, Scene, Partitions, Renderer and Overrides options between different scenes, which can be time-saving in a lot of sittuations.


Another great tool is Fabricio Chamon’s “Create Extrusion Along Curve”, which is incredibly build upon ICE Modeling. It’s been a long waited function and he’s improving it super fast. This one is the third video of development:


links to their websites:

my first real script

I didn’t do programming, and actually one year ago I didn’t even know what a ‘string’ was. But I’ve been using a little bit of python to automate tasks within Softimage. It’s still challenging, but excited too. Now I feel like I was living in a foreign country without knowing it’s language…

So,  here’s my first script. It’s dumb, but for me it’s very useful: it places a null as a parent of the selected objects, respecting the rest of the hierarchy; and if you hold down Ctrl, Alt or Shift, it places the null as a child…

download: ed_AddNullAsRelative.pys

#Add Null as Relative
#by Ed Schiffer
xsi = Application
oRoot = xsi.ActiveSceneRoot
sel = xsi.Selection
ks = xsi.GetKeyboardState()
for obj in sel:
	#if Ctrl, Alt or Shift is pressed, add a null as child:
	if ks(1) >= 1:
		oNull = oRoot.AddNull(obj.Name +"_child")
		xsi.MatchTransform(oNull, obj, "siSRT", "")
		xsi.ParentObj(obj, oNull)
	#else, add it as parent:
		oNull = oRoot.AddNull(obj.Name +"_root")
		oParent = obj.Parent
		xsi.MatchTransform(oNull, obj, "siSRT", "")
		xsi.ParentObj(oParent, oNull)
		xsi.ParentObj(oNull, obj)

Just drag&drop it under Softimage’s Script Editor.

Even for the simplest rig, like a rock, I find myself always putting an extra parent object for the animation controller, so it can be constrained at a higher level and the controller is still free to animate…

finally online

hi! I’ve just started this blog to publish the work I’ve been doing.

I’m working at Casa Digital, mostly doing ArchViz, but also rigging and animating in Softimage. We’ve just uploaded a site about all the infrastructures changes the city of Rio de Janeiro is having for it’s upcoming Olympics. This one below is the “Tomorrow Museum”, designed by Santiago Calatrava, and the image below links to the official site.