в PV3D свои ивенты. для их рвботы надо выполнить несколько условий
1 - интерактивный вьюпорт

Код AS3:
viewport.interactive = true;
2 - интерактивный материал

Код AS3:
myMaterial.interactive = true;
3 - прицеп слушателя к 3D объекту

Код AS3:
import org.papervision3d.events.InteractiveScene3DEvent;
....
var plane:Plane = new Plane(myInteractiveMaterial, 300, 300, 3, 3);
plane.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, planeMouseOver);
....
Private function planeMouseOver(e:InteractiveScene3DEvent):void{
e.displayObject3D..localRotationY += 10;
}
есть и другой способ - зашить спрайт(в данном случае кнопка с именем "btn") в мувик с именем, в данном случае - "material"

Код AS3:
import org.papervision3d.materials.MovieAssetMaterial;
....
viewport.interactive = true;
var material:MovieAssetMaterial = new MovieAssetMaterial("material",false,true,false,true);
material.interactive = true;
MovieClip(MovieClip(material.movie).getChildByName("btn")).mouseChildren = false;
MovieClip(material.movie).getChildByName("btn").addEventListener(MouseEvent.CLICK,click);
MovieClip(material.movie).getChildByName("btn").addEventListener(MouseEvent.MOUSE_OVER,mouseOver);
MovieClip(material.movie).getChildByName("btn").addEventListener(MouseEvent.MOUSE_OUT,mouseOut);
private function click(e:MouseEvent):void
{
var buttonText:TextField = MovieClip(e.target).getChildByName("label") as TextField;
switch(buttonText.text)
{
case "start":
buttonText.text = "stop";
MovieClip( MovieClip(e.target).parent ).play();
break;
default:
buttonText.text = "start";
MovieClip( MovieClip(e.target).parent ).stop();
}
}
private function mouseOver(e:MouseEvent):void
{
viewport.buttonMode = true;
}
private function mouseOut(e:MouseEvent):void
{
viewport.buttonMode = false;
}
вот примерно так