Nov 18

PV3D的类功能简述(连载更新),并非权威,只是学习日记形式

Papervision3D
BasicView

BasicView 类 提供了一个简便的模板,快速建立PV3D项目,自动包含视图,场景,摄像头 和 渲染。他可以addChild任何显示类容器。
例子:

  var width:Number = 640;
  var heigth:Number = 480;
  var scaleToStage:Boolean = true;//视图贴合舞台
  var interactive:Boolean = true;
  var cameraType:String = Camera3D.TYPE;//指定摄像头的类型
  var myBasicView:BasicView = new BasicView(width, height, scaleToStage, interactive, cameraType);//构造实例
  myDisplayObject.addChild(myBasicView);

可以写一个自定义类,去扩展 BasicView 类,用super调用父类方法,渲染直接用 startRendering()方法即可
但是startRendering()只是渲染,那将会是静止的,所以我们要覆盖父类的onRenderTick()方法,写入我们想要的代码

override protected function onRenderTick(event:Event=null):void
{
  //在这里加入代码,按帧频渲染
  super.onRenderTick(event);
}


InteractiveScene3DEvent

InteractiveScene3DEvent类是PV3D中的鼠标事件类,有鼠标的 双击、单击、移进、移出 等等鼠标事件
并且有它的X Y 坐标属性

Viewport3D

Viewport3D 类是PV3D中的视图,相当于一个窗口,我们透过窗口看里面的世界,是必不可少的对象。
BitmapViewport3D 是它的子类,继承了他的一般属性和方法,不过BitmapViewport3D具有位图bitmapData 读取功能
非同小可,可以干很多事。
属性:
interactiveSceneManager 负责鼠标和场景之间的互动,具体要查看API
方法:
hitTestMouse() 鼠标 X Y 坐标和视图的碰撞检测 返回 RenderHitData,可以读取一系列对应的信息值

ViewportLayer

ViewportLayer类,看字面意思,说实话,我没看懂,等我看明白了,做完试验再继续写,你知道的话欢迎留言
应该是个层的概念,每个层一个视图?有点迷糊,下回分解吧

BitmapEffectLayer

BitmapEffectLayer类是个特效渲染类,我想大概类似与滤镜之类的东西,他要用到抽象类AbstractEffect,AbstractEffect类是特效类的基类,帮助你在3D世界里渲染出很牛逼的效果。


tags:PV3D  

to "PV3D的类功能简述(连载更新),并非权威,只是学习日记形式"

Leave a Reply