ActionScript3的3D引擎 - Papervision3D

Python实战:用nltk库5步搭建你的第一个n-gram文本生成器(附古诗生成案例) 本文详细介绍了如何使用Python的nltk库5步搭建n-gram文本生成器,并附有古诗生成案例。从环境准备、n-gram原理讲解到完整实现,逐步指导开发者掌握自然语言生成技术。特别针对中文古诗生成进行了优化,包括分词处理和韵律控制,帮助读者快速上手文本生成项目。 阅读详情

原文地址: http://www.open-open.com/lib/view/1328844254686

 Papervision3D是一个基于ActionScript的开源项目,目的在于实现更加炫丽美观、功能强大的Flash 3D Web应用程序。尤其是去年ActionScript 3发布了之后,ActionScript的效率得到了大幅度提升,基于此的Papervision3D无论是在效率、功能上都有了很大的提高。随着现在Web 2.0、Web-Game及休闲类竞技网络游戏的发展,相信Papervision3D的应用将会越来越广泛。
  同时在Flash 大量应用的今天,Flash在 3D领域的应用相对贫乏,但是如果能在Flash Player中播放,体积小,与用户交互能力强,效果逼真的3D web应用程序,无疑将给用户带来全新的体验。
  资料:
  主页:http://www.papervision3d.org
  Google code:http://code.google.com/p/papervision3d/
  Google code SVN:http://papervision3d.googlecode.com/svn/trunk/ 
       PV3D的大量例子:http://blog.davr.org/pv3d-examples/

以下是一篇: Papervision3D基本原理

PV3D是一个开源的遵循MIT协议的使用AS3代码写成的3D引擎。这篇文章旨在教会各位如何使用PV3D完成一个HELLOWORD式的3D程序,同时也是这篇教程的最近更新。PV3D2.0 Alpha(也称GW)对于初学者来说使用PV3D最大的障碍在于如何安装PV3D,由于对版本控制软件不熟是造成无法完成PV3D安装的主要原因,第一部分的三节阐述了这个问题,但是不是这篇文章的主要内容,如果你对版本控制软件不熟悉的话,那么你可以看看这部分。

【笔者注:】安装PV3D完全没有必要使用版本控制软件,PV3D说白了就是一个FLEX的库,如果你知道如何在FLEX中使用和导入库,那么你完全没有必要使用版本控制软件,笔者的做法是到GOOGLE CODE网站去下载一个ZIP包,软后解压缩到一个文件夹,将该文件夹包含在我的项目的库目录中就可以了,至于说更新,那么重新下载一个就搞定了。

       再者版本控制软件的使用教程,网上多如牛毛,我在这里也就不再累述了。第一节的三个部分都不做翻译,在译文中直接略去,望大家谅解

省略PV3D安装部分。

Papervision3D at the following link then skip to the “Foundation of Papervision3D” section:

·   Revision 435: /trunk/branches/GreatWhite/src

If you don’t know what to do with that link, then continue on reading the links in the first three sections.

Download

First, you need to download Papervision3D using subversion. Follow the instructions at either of these sites:

·   How Can I Download Papervision3D?

·   Downloading Papervision3D Alpha Great White

Classpath类路径

:为PV3D设置一个源代码文件夹

·   如果使用的是Flash:

·   关于如何设置和修改源文件路径

·   如果使用的是FLEX:

·   准备一个PV3D的项目

Document Class文件类

Create a document class to hold the required ActionScript:创建一个源文件

·    如果使用的是Flash:

·   使用AS3.0创建一个新的文档类

·   Using Flex: 如果使用的是FLEX:

·   创建一个新的AS工程

·   使用FLASHDEVELOP 集成环境

·   创建一个PV3D项目

 

Foundation of Papervision3D PV3D基础

.我尽量使得代码看起来简单以适应那些新上手AS3.0的用户,但是我还是要假定你们知道类的基础,如何写方法,如何实例化对象等等,如果还不懂得这些的话,那么你可以参看OREILY的AS3.0编程基础一书,对你非常有帮助,当我实例化对象的时候,我同时还假定了你自己会去导入那些我遗漏的包。

每个Papervision3D程序都要依赖于4个类,Viewport3D, Scene3D, Camera3D ,和BasicRenderEngine. 
先看一下,下面就是经典的papervision3D程序格式:

01 package{
02 import flash.display.Sprite;
03 import org.papervision3d.cameras.Camera3D;
04 import org.papervision3d.render.BasicRenderEngine;
05 import org.papervision3d.scenes.Scene3D;
06 import org.papervision3d.view.Viewport3D;
07 public class Main extends Sprite{
08 private var viewport:Viewport3D;
09 private var scene:Scene3D;
10 private var camera:Camera3D;
11 private var renderer:BasicRenderEngine;
12  
13 public function Main(){
14 initPapervision3D();
15 }
16  
17 private function initPapervision3D():void{
18 viewport = new Viewport3D();
19 addChild(viewport);
20  
21 scene = new Scene3D();
22 camera = new Camera3D();
23 renderer = new BasicRenderEngine();
24  
25 renderer.renderScene(scene, camera, viewport);
26 }
27 }
28 }

Viewport3D:(3D视窗)

Viewport3D就象是papervision3D世界中的一个窗口.窗口允许你看到外面,但他们没提供其它函数.你可以定位一个窗口在墙上, 改变它的宽度和高度,同样的道理也存在于Viewport3D上,你可以改变Viewport3D的x,y,width,height.,它的功能就是在它里面放一个3D场景.要使用Viewport3D,创建它并将它放在舞台上. 
private var viewport:Viewport3D = new Viewport3D(); 
addChild(viewport); 
查看下面的Viewport3D的省缺参数,你可以根据自已的喜好来调节. 
Viewport3D(viewportWidth:Number = 640, viewportHeight:Number = 480, 
autoScaleToStage:Boolean = false, interactive:Boolean = false, 
autoClipping:Boolean = true, autoCulling:Boolean = true)

Scene3D:(3D场景)

继续使用窗口的比喻,一个Scene3D将包含你通过窗口看到的所有东西.地面,天空及之间的所有东西.然而,这个Scene3D仍然是一个空的3D空间,你不得不添加地面,天空,树等到你的Scene3D.下面创建了一个Scene3D. 
private var scene:Scene3D = new Scene3D();

Camera3D(3D照相机)

一个窗口和窗外的世界是漂亮的, 但如果没有一个人来兴赏它们的漂亮则毫无意义.你很幸运,Papervision3D开发者创建了照相机,捕获这一切的动作.一个Camera3D允许你根据你想捕获的动作设置其x,y,z属性.想象一下第一人称的枪和飞行模似器.(一个三维游戏,译者注).你移动你的角色围绕周围的空间调整当前的位置. 同样的主意也可用于Camera3D,你可以在整个场景移动相机调节当前位置.

Papervision3D提供三个照相机来实现不同的功能.

Camera3D:需要一个看着的目标,无论在任何位置都看着这个目标.

FreeCamera3D:在3D空间的每一个角度和方向自由移动.包含的方法如:yaw(), pitch(), and roll()来调节相机的视角,而moveForward(), moveBackward(); moveLeft(), moveRight(), moveUp(), and moveDown() 基于视觉调整相机的位置.例如,你将相机放到一个站立的人面前,然后调用moveBackward(),你将移动并远离人的脸.另一方面,如果你将相机定位到人的头上,调用 pitch()向下倾斜看到人的头发,然后调用moveBackward()方法,你将远离人的头发到天空中去. 
FrustumCamera3D:象FreeCamera3D一样的移动,但只能是视窗中提供的对象,你可以调节远距离和近距离. 

BasicRenderEngine 
在papervision3D世界中你是神.你可以随心所欲地开始和停止引擎.BasicRenderEngine通过你选择的Viewport3D中Camera3D的位置的Scene3D. 
private var renderer:BasicRenderEngine = new BasicRenderEngine(); 
//通常在场景的 Event.ENTER_FRAME 事件中 
renderer.renderScene( scene, camera, 
viewport ); 
即使你有多个场景,视窗或照相机,你也只需用一个BasicRenderEngine来渲染3D效果: 
//A snippet of multiple scenes, cameras, and viewport handled by one 
renderer renderer.renderScene( scene, camera, viewport ); 
renderer.renderScene( scene2, camera2, viewport2 );


基于STM32+4G模块设计的智能灌溉系统 当前智能灌溉系统分为三个部分:温湿度采集部分、灌溉系统部分、OneNet云平台。 灌溉系统部分增加刷卡功能,用户可以通过IC卡刷卡将金额刷到灌溉系统设备里,灌溉系统设备里会记录金额,并且在手机可视化页面上会显示当前的设备金额。 金额会随着时间进行递减,按分钟计费,如果计费到0,就无法启动灌溉,需要重新充值金额才能继续。 阅读详情

相关推荐

Papervision3D_2.0.883.swc

Papervision3D_2.0.883.swc

Papervision3D(Version 1.5)引擎源代码分析

PV3D是一个很著名的Flash 3D免费开源引擎,功能很强大,效率也可以。官方网站是http://www.papervision3d.org/,源代码下载地址是http://code.google.com/p/papervision3d/。目前最新版本是2.0a(Greate White)。下面对PV3D 1.5版进行简单的源代码分析,希望对学习PV3D的同志能有所帮助。 下图是PV3D ...

weixin_30791095的博客 274

Papervision3D 教程打包下载

Papervision3D 教程,pv3d,pv3d+Flex,pv3d中文帮助

Flash 显示全景图

Papervision3D基本原理 Papervision3D PV3D是一个开源的遵循MIT协议的使用AS3代码写成的3D引擎。这篇文章旨在教会各位如何使用PV3D完成一个HELLOWORD式的3D程序,同时也是这篇教程的最近更新。PV3D2.0 Alpha(也称GW)对于初学者来说使用PV3D最大的障碍在于如何安装PV3D,由于对版本控制软件不熟是造成无法完成PV3D安装的主要原因,第...

weixin_33750452的博客 303

PV3D入门配置

虽然在网络上有些关于Papervision3D的入门配置资料,但有些不是很详细,为了方便寻找,我还是整理一份到我博客中。 参考的资料:http://www.flashj.cn/wp/set-up-pv3d.html Papervision3D现在已经是2.0了,昨天下载的;papervision3D有as2.0和as3.0,在此我使用的是as3.0和Flex4。 第一步:下载SVN并安装。 下载S...

iteye_20251的博客 245

Papervision3D初步

Papervision3D简介 Papervision3D(简称PV3D)是一个开源的遵循MIT协议的使用AS3代码写成的3D引擎,具体请参见http://blog.papervision3d.org/,百度百科上对PV3D有简要的介绍,关于PV3D的一些示例请参见http://blog.davr.org/pv3d-examples/与http://mrdoob.com/,绚丽的三维效...

225

ActionScript3 3D物理引擎

ActionScript3 3D物理引擎 APE http://www.cove.org/ape/ Alec Cove写的3D物理引擎。 APIhttp://www.cove.org/ape/docs/api/ Demoshttp://www.garrahan.or

merryken的专栏 1003

Papervision 3D的简介

 Papervision3D is an open-source, MIT licensed 3D engine written in ActionScript 3.0 for Flash.    Papervision3D是一个基于ActionScript的开源项目,目的在于实现更加炫丽美观、功能强大的Flash 3D Web应用程序。尤其是去年ActionScript 3发布了之后,Actio

python二级题库 1978

ActionScript3.0 开源框架大全

3D引擎 注:对于3D引擎,渲染的效率和支持的渲染功能是很重要的,然而 在短短的文章中根本不可能做详细的介绍,特别是截图,很可能具有误导性,要了解更多应用案例以及技术演示的图片,请点击各个引擎的链接到网站上观看,本分 类下所放置的图片只是举例该引擎的某一个应用,具有极大随意性,不代表该引擎最好的应用案例。 Papervision3D http://blog.papervision

xingxinmanong的博客 1001

flex项目和组件等

  Adobe APIs 主要包含corelib, mappr, flickr, youtube及加密等类库. http://labs.adobe.com/wiki/index.php/ActionScript_3:resources:apis:libraries as3awss3lib 与 Amazon S3 交互的 ActionScript 3.0 类库 http://code.googl...

bdk82924 249

flex as3开源组件

Adobe APIs 主要包含corelib, mappr, flickr, youtube及加密等类库. http://labs.adobe.com/wiki/index.php/ActionScript_3:resources:apis:libraries as3awss3lib 与 Amazon S3 交互的 ActionScript 3.0 类库 http://code.google....

qinlinh的博客 301

Papervision3D基础I

(简称PV3DPapervision3DPV3D是一个开源的遵循MIT协议的使用AS3代码写成的3D引擎。这篇文章旨在教会各位如何使用PV3D完成一个HELLOWORD式的3D程序,同时也是这篇教程的最近更新。PV3D2.0 Alpha(也称GW)对于初学者来说使用PV3D最大的障碍在于如何安装PV3D,由于对版本控制软件不熟是造成无法完成PV3D安装的主要原因,第一部分的三节阐述了这个

The Way To Great 1万+

转:FLEX资源

Adobe APIs  主要包含corelib, mappr, flickr, youtube及加密等类库.  http://labs.adobe.com/wiki/index.php/ActionScript_3:resources:apis:libraries as3awss3lib  与 Amazon S3 交互的 ActionScript 3.0 类库  http://code.goog

lanyanai的专栏 878

FlashFlex工具大全

[size=x-large]2008-8-29更新 Flash视频 来自H.264 vs On2VP6H.264 MPEG AVC Video Codec comparisonFlash Video比特率估算Flash 3DAway3d http://code.google.com/p/away3d/ http://away3d.com/Papervision3D http://code....

shine1200的专栏 298

PaperVision3D 尝鲜_陕南赤子_新浪博客

哈哈,我的第一个PV3D,很久以前就想试试Flash3D了,废话不多说,上图 源码如下(请自行下载PV3D类库): package { import flash.display.Sprite; import flash.events.Event; import org.papervision3d.cameras.FreeCamera3D; impo...

allen88的专栏 180

photo-sphere-viewer中文文档

photo-sphere-viewer中文文档安装插件Configuration 配置项container (required)adapter 适配器panorama (required)plugins 插件caption 标题size 全景图宽度高度markers 标注navbar 导航栏minFovmaxFovdefaultZoomLvlfisheyedefaultLongdefaultLatlongitudeRangelatitudeRangeautorotateDelayautorotateSpee

陈坚泓的博客 3万+

PaperVision 3D引擎demo汇总 (好老啊)

  转自 :http://www.cnblogs.com/star65225692/archive/2008/12/29/1364321.html   很老的帖子,两年前的, 好多链接都打不开了,有中文说明的是我打开看过的。     官网首页的demo地址 海马demo地址 ...

小白 502

papervision3d 中文入门教程下载

:D 这个教程虽然只有17页,但算是一个简单的pv3d的了解吧。 毕竟比满世界到搜网页,看英文教程舒服多了。 其实英文教程也不多,讲到和这些差不多。 偶然发现,特此分享。 希望给大家带来一些帮助。 在此特别感谢教程制作及翻译到朋友!谢谢! ...

thinlong blog 180

Papervision3D Essentials中文版,附Papervision3D_2.1.920.swc和章节练习源码

这是一款基于Flash AS3的老款经典3D引擎,虽然已经停止更新(不支持stage3D),但对于Flash3D初学者来说,了解一下会更有助于以后的学习,也许说不定哪天这款经典引擎也会给你的工作带来帮助哦,^_^o~ 努力!。 电子书下载地址:http://kuai.xunlei.com/d/o0eZBbNmc4k.UQQA2ce Papervision3D_2.1.920...

weixin_33929309的博客 175

photo-sphere-viewer 全景图Vr 720全景查看(vue篇)

photo-sphere-viewer 全景图Vr 720全景查看

Holly31的博客 1万+

基于单片机的水温控制系统设计资料.zip电子设计项目毕业设计及产品设计资料论文,源代码及PCB资料

基于单片机的水温控制系统设计资料.zip电子设计项目毕业设计及产品设计资料论文,源代码及PCB资料 基于单片机的水温控制系统设计资料.zip电子设计项目毕业设计及产品设计资料论文,源代码及PCB资料 基于单片机的水温控制系统设计资料.zip电子设计项目毕业设计及产品设计资料论文,源代码及PCB资料 基于单片机的水温控制系统设计资料.zip电子设计项目毕业设计及产品设计资料论文,源代码及PCB资料 1.合个人学习技术做项目参考合个人学习技术做项目参考2.适合学生做毕业设计项目参考适合学生做毕业设计项目技术参考 3.适合小团队开发项目技术参考适合小团队开发项目技术参考

上一篇: Flash 架构Flex 4.6
下一篇: flex builer3 与 flash builer4的正式版下载(window and mac)
ld_flex
博客等级 码龄16年 26粉丝 110原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值