Here is how I got some collision events with an avatar. Perhaps you are missing one of the steps. (Forgot male.enable( viz.COLLIDE_NOTIFY ) perhaps?)
Code:
import viz
viz.go()
viz.MainView.setPosition( 0, 2, -5 )
viz.phys.enable()
ground = viz.add( 'tut_ground.wrl' )
ground.collidePlane()
logo = viz.add('logo.wrl')
logo.collideMesh()
logo.disable( viz.DYNAMICS )
ball = viz.add('ball.wrl')
g=ball.collideSphere()
male = viz.add( 'male.cfg' )
male.translate( 0, 1, 4 )
male.collideBox()
male.addAction( vizact.walkto( 0, 0, 0 ) )
male.enable( viz.COLLIDE_NOTIFY )
def onCollide(e):
if e.obj2 == logo:
print 'logo collide'
elif e.obj2 == ground:
print 'ground collide'
elif e.obj2 == ball:
print 'ball collide'
viz.callback( viz.COLLIDE_BEGIN_EVENT, onCollide )