请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 新增登录提醒插件 - 用至我的站点 地图任务一定要做 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

MIUI手机主题设计大赛,奔驰大奖等你拿! 想加薪?!蓝色理想招聘提供你更多机会 悬赏答疑,赚取积分兑奖品!

查看: 9654|回复: 17

[AS1&2] 如何使用Papervision3d(更新,工具改用 Flex 2) [复制链接]

haxe 楼主
帖子
306
体力
752
威望
8
发表于 2007-3-19 06:08:14 |显示全部楼层
PaperVision3D(简称PV3D)是由Carlos Ulloa创建,后加入的人有John Grden,Ralph Hauwert.
John Grden可是大名鼎鼎啊(Red 5和Xray的作者).他用PaperVision3d写了个游戏,非常酷.
http://www.rockonflash.com/demos/pv3d/macworld/demo/as3/index.html

http://www.paperworld3d.com/demos/obstaclecourse/ObstacleCourse.html

我简单介绍一个简单的PV3D例子(见注释):
  1. package {
  2.     import flash.display.Bitmap;
  3.     import flash.display.BitmapData;
  4.     import flash.display.Sprite;
  5.     import flash.events.Event;
  6.    
  7.     import org.papervision3d.cameras.Camera3D;
  8.     import org.papervision3d.core.proto.MaterialObject3D;
  9.     import org.papervision3d.materials.*;
  10.     import org.papervision3d.core.geom.Mesh3D;
  11.     import org.papervision3d.objects.*;
  12.     import org.papervision3d.scenes.Scene3D;

  13.     [SWF(width='800',height='600',backgroundColor='0x000000',frameRate='60')]
  14.     public class TestSphere extends Sprite
  15.     {
  16.         private var scene:Scene3D;
  17.         private var camera:Camera3D;
  18.         private var container:Sprite;

  19.         private var sphere:Mesh3D;
  20.         public function TestSphere()
  21.         {
  22.             // Setup Papervision3D
  23.             setupPV3D();
  24.             addEventListener(Event.ENTER_FRAME, render);            
  25.         }
  26.         private function setupPV3D():void
  27.         {
  28.             // PV3D需要一个容器来包含所有需要渲染的3d物体.
  29.             container = new Sprite();
  30.             container.x = 400;
  31.             container.y = 300;
  32.             addChild(container);
  33.             
  34.            /**
  35.             * 所有3d物体都要添加到scene中
  36.             *Scene分为两种Scene3D和MovieScene3D.
  37.             *Scene3D中,所有3d物体都直接绘制在container中.
  38.             *MovieScene3D中,3d物体都直接绘制在物体自身的container中,所有这些container都在主容器(container)内.
  39.             */
  40.             scene = new Scene3D(container);
  41.             camera = new Camera3D();
  42.             //PV3D目前的材质类型有4中(线框贴图,颜色贴图,位图贴图,影片贴图)
  43.             var wireframeMaterial:MaterialObject3D=new WireframeMaterial(0x0000ff,50);
  44.             /**
  45.              *PV3D中所有物体都继承自DisplayObject3D(包括Camera3D)
  46.              *DisplayObject3D的一些属性和普通的MovieClip相似,见下面sphere.
  47.              */
  48.             sphere=new Sphere(wireframeMaterial,800);
  49.             sphere.x=sphere.y=sphere.z=100;
  50.             sphere.rotateX=sphere.rotateY=sphere.rotateZ=10;
  51.             sphere.scaleX=sphere.scaleY=sphere.scaleZ=100;
  52.             sphere.visible=true;
  53.             //最后要把物体添加到场景中.用addChild,删除用removeChild.
  54.             scene.addChild(sphere);
  55.         }
  56.         private function render(event:Event):void
  57.         {
  58.             sphere.rotationY += 3;
  59.             sphere.rotationX = container.mouseY / 2;
  60.             //调用它渲染整个场景
  61.             scene.renderCamera(camera);
  62.         }
  63.     }
  64. }
复制代码


这样,第一个PV3D例子就出来了.

PV3D的优点: 渲染速度快,支持较大的屏幕尺寸.
PV3D的缺点: 伪3D,不能正确的透视,不能正确的裁剪

和PV3D刚好相反的是:伟大的SWFZ(改写自Irrlicht)
SWFZ_DEMO2
SWFZ的缺点: 渲染速度较慢(其实已经非常快了),支持较小的屏幕尺寸(由于BitmapData.setPixel()的限制).
SWFZ的优点:  True 3D,正确的透视,正确的裁剪

我把Papervision3d的一些例子集中起来,大家可以学习一下.
可以从这里下载Papervision3d:http://svn1.cvsdude.com/osflash/papervision3d/

我也打包了一份.PV3D.rar

[ 本帖最后由 haxe 于 2007-3-24 20:47 编辑 ]
已有 1 人评分威望 收起 理由
mirycat + 2 原创内容

总评分: 威望 + 2   查看全部评分

西部数码云主机4G内存500G仅需423元
kolou 

死神

银牌会员

帖子
4021
体力
1705
威望
15
居住地
上海市 卢湾区
发表于 2007-3-19 16:00:08 |显示全部楼层
帅哥 FlashDevelop.rar 解压运行不了啊
租服务器,上51IDC

使用道具 举报

haxe 楼主
帖子
306
体力
752
威望
8
发表于 2007-3-19 16:21:28 |显示全部楼层
需要.net framework 1.1

使用道具 举报

帖子
1219
体力
5975
威望
234
发表于 2007-3-19 17:46:26 |显示全部楼层
very good.
Adobe FlashPlayer 开发Team 的Tinic Uro 也非常关注。
我还分析过他最近的关于软件渲染极限的一篇文章。
http://www.awflasher.com/blog/archives/814 (ActionScript3的渲染归宿?)

使用道具 举报

帖子
16
体力
45
威望
0
发表于 2007-3-19 19:47:06 |显示全部楼层
请问如何配置类呢,打开PV3D的第一个例子,路径指向到org\papervision3d\samples\ase下,可还是提示如下
**错误** 场景=Scene 1, 图层=Doc Class, 帧=1:第 1 行: 无法加载类或接口'org.papervision3d.samples.ase.HelloAse'
     import org.papervision3d.samples.ase.HelloAse;

使用道具 举报

帖子
46
体力
77
威望
0
发表于 2007-3-19 19:55:59 |显示全部楼层
这样也能访问   我感觉界面不错


http://bbs.huachina.net/

使用道具 举报

帖子
22
体力
50
威望
0
发表于 2007-3-24 20:09:05 |显示全部楼层
我也下载了pv3d文件包,可是老是提示有错误,有时候明明有文件,可是却显示无法加载该文件

使用道具 举报

haxe 楼主
帖子
306
体力
752
威望
8
发表于 2007-3-24 20:53:56 |显示全部楼层
改用Flex 2.你可以重新下载PV3D.rar,然后用Flex 2打开就行了.

使用道具 举报

帖子
16
体力
45
威望
0
发表于 2007-3-31 14:44:51 |显示全部楼层
请教个问题,flex打开的是as文件,可pv3d给的范例是fla文件,难道不需要flash只用flex也可以用?另外你说的用flex打开是该打开哪种文件?我学的是as2,听说flex是as3,这样打开能行不?

使用道具 举报

hhmin 
帖子
116
体力
274
威望
0
发表于 2007-6-20 14:30:20 |显示全部楼层
请问那里有 SWFZ 免费下载地址 ?

使用道具 举报

帖子
36
体力
182
威望
0
发表于 2007-6-25 23:09:29 |显示全部楼层
虽然是个老问题
可还是想问一下
这个包里面提供的是fla
难道还要用flex打开吗?
flash8就没法直接使用吗?
望达人能回答一下
没有用flex
所以现在对这个比较郁闷
没法调试

使用道具 举报

xxxzh 
帖子
65
体力
45
威望
0
发表于 2007-6-26 09:27:51 |显示全部楼层
flash cs3

使用道具 举报

jevin 

小丑鱼

银牌会员

帖子
1562
体力
5411
威望
0
发表于 2007-6-26 09:37:30 |显示全部楼层
怎么把PV3D套到FLEX里啊 详细点就好了
xhtml/css/Ajax/AS/php/mysql你才是程序员,你家全是程序员 -__-

使用道具 举报

jevin 

小丑鱼

银牌会员

帖子
1562
体力
5411
威望
0
发表于 2007-6-26 09:39:23 |显示全部楼层
xhtml/css/Ajax/AS/php/mysql你才是程序员,你家全是程序员 -__-

使用道具 举报

帖子
524
体力
1584
威望
0
发表于 2008-1-28 17:54:48 |显示全部楼层
我也遇到5楼那样的问题,问到有人回答为止。靠

使用道具 举报

haxe 楼主
帖子
306
体力
752
威望
8
发表于 2008-1-28 18:06:18 |显示全部楼层
这贴太老了!!
papervision3d下载地址:
http://code.google.com/p/papervision3d/downloads/list

使用道具 举报

HBrO 
帖子
7398
体力
32122
威望
241
居住地
广东省 广州市
发表于 2008-1-28 22:55:33 |显示全部楼层
这是AS3的,有AS2的版本,不过那个比较难找一些
...这贴要移走了

使用道具 举报

mtwxs 
帖子
6
体力
34
威望
0
发表于 2012-2-15 16:25:29 |显示全部楼层
这个不错!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册


Archiver|手机版|blueidea.com ( 京ICP备05002321号 )    

GMT+8, 2012-5-25 15:01 , Processed in 0.178081 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部