- 浏览: 381310 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (121)
- flex及Flash3D表现研究 (6)
- papervision3D研究 (26)
- flashParticle粒子系统 (9)
- Papervision3d动力学研究 (6)
- flex知识 (14)
- as3程序基础 (11)
- flex组件样式演示 (3)
- flex与PHP、mySQL学习 (0)
- flex声音表现研究 (0)
- flex整站开发研究 (0)
- flex开发市场 (0)
- flash cs3教程 (1)
- flex与flash文件的交互 (2)
- flex、flash资源集 (1)
- flash cs4研究 (1)
- flash游戏编程 (0)
- DirectX游戏编程 (3)
- silverlight研究 (4)
- Java学习 (2)
- 数学知识 (1)
- VC++ (3)
- 行业信息 (2)
- away3d (6)
- alternativa3d (1)
- Pixel Bender 研究 (0)
- 随笔 (1)
- Google O3D (1)
- Javascript (1)
- iphone 3d游戏开发 (6)
- Html 5 3d (3)
- Unity3d手机游戏开发 (5)
最新评论
-
3580737:
在哪里看看
AS3的深度管理及排序 -
yangyang111310:
我靠 哥们 行不行啊
flex + tomcat + myEclipse环境配置与使用(三) -
jjjkkk:
nice 感谢 flash player的版本真DT
Flash Player10 Debug版--正式版 -
lattimore:
Excellent
从3dsmax导出Dae模型到papervision3D -
ytdalin21:
合作很愉快,技术都挺靠谱!下次继续合作!
papervision dae animation(DAE角色动画控制)
我们在Papervision3d中有些物体需要分层管理,同时解决了显示物体交叉混乱的问题(新的四叉树相机算法能解决这个问题,但是效率有点低)。下面我们看看示例。
这里我们用了Papervision3d中的复合材质。
【http://www.newflash3d.com---flash3D先锋队:北京贝武易科技公司】
有疑问请联系我QQ:363596350
复合材质(CompositeMaterial)的代码:
这里还用到了一个方法:orbitY
(感谢flab3d.com“flash研究所”)
这段代码需要加到我们的Camera3D类,给Camera3D类加一个orbitY的方法,轻松的实现相机的旋转360度,是一个很方便的方法。
效果如下:
这里有个问题是,好像外部导入进去DAE格式文件对这个ViewportLayer的支持不是很好,没有起到作用。
代码如下:
这里我们用了Papervision3d中的复合材质。
【http://www.newflash3d.com---flash3D先锋队:北京贝武易科技公司】
有疑问请联系我QQ:363596350
复合材质(CompositeMaterial)的代码:
var cubeMat:WireframeMaterial = new WireframeMaterial(0xFF0000); var colorMat:ColorMaterial = new ColorMaterial(0x00FF00); var compMat:CompositeMaterial = new CompositeMaterial(); compMat.addMaterial(cubeMat); compMat.addMaterial(colorMat); var materialsList:MaterialsList = new MaterialsList({ all:compMat });
这里还用到了一个方法:orbitY
(感谢flab3d.com“flash研究所”)
///-flab3d.com-18/11/08,绕Y轴旋转的类////////////////////////////// ///第一个参数是摄像机看着的物体,第二个参数是每祯旋转度数;第三个参数摄像机是离物体的距离,第四个是摄像机的高度 private var angled:Number=0; public function orbitY(do3d:DisplayObject3D=null,angelIncrease:Number=1,distance:int=1000,heightY:Number=0):void { this.lookAt(do3d); var radius:int=distance; angled+=angelIncrease; var ss:Number = angled*Math.PI/180; //var zz:Number = radius*Math.PI/180; this.x = do3d.x + radius * Math.sin(ss); this.y=do3d.y+heightY; //this.y = do3d.x + radius * Math.cos(zz) * Math.sin(ss); this.z = do3d.z + radius * Math.cos(ss); } /////////////////////////////////////////////
这段代码需要加到我们的Camera3D类,给Camera3D类加一个orbitY的方法,轻松的实现相机的旋转360度,是一个很方便的方法。
效果如下:
这里有个问题是,好像外部导入进去DAE格式文件对这个ViewportLayer的支持不是很好,没有起到作用。
代码如下:
package { import flash.display.Sprite; import flash.events.Event; import flash.filters.BlurFilter; import flash.filters.GlowFilter; import org.papervision3d.cameras.Camera3D; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.materials.WireframeMaterial; import org.papervision3d.materials.special.CompositeMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.parsers.DAE; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.scenes.Scene3D; import org.papervision3d.view.Viewport3D; import org.papervision3d.view.layer.ViewportLayer; import org.papervision3d.view.layer.util.ViewportLayerSortMode; [SWF(backgroundColor="#000000", frameRate="60", width="500", height="400")] public class viewportLayerTest01 extends Sprite { private var viewport:Viewport3D; private var renderer:BasicRenderEngine; private var scene:Scene3D; private var camera:Camera3D; private var cube:Cube; private var plane:Plane; private var layer1:ViewportLayer; private var layer2:ViewportLayer; public function viewportLayerTest01():void { viewport=new Viewport3D(500,400); renderer=new BasicRenderEngine ; scene=new Scene3D; camera=new Camera3D(60,10,5000); viewport.containerSprite.sortMode = ViewportLayerSortMode.Z_SORT; addChild(viewport); var planeMat:WireframeMaterial = new WireframeMaterial(0xFF0000); var planecolorMat:ColorMaterial = new ColorMaterial(0xFFFF00); var planecompMat:CompositeMaterial = new CompositeMaterial(); planecompMat.addMaterial(planeMat); planecompMat.addMaterial(planecolorMat); plane=new Plane(planecompMat,500,500,1,1); plane.pitch(90); plane.y=0; var cubeMat:WireframeMaterial = new WireframeMaterial(0xFF0000); var colorMat:ColorMaterial = new ColorMaterial(0x00FF00); var compMat:CompositeMaterial = new CompositeMaterial(); compMat.addMaterial(cubeMat); compMat.addMaterial(colorMat); var materialsList:MaterialsList = new MaterialsList({ all:compMat }); cube=new Cube(materialsList,200,200,200,1,1,1); cube.y=100; /* var sphere:DAE = new DAE(); sphere.load("assets/nishuboy.DAE",null); sphere.scale=5; scene.addChild(sphere); */ scene.addChild(cube); scene.addChild(plane); layer1=viewport.getChildLayer(cube); layer2=viewport.getChildLayer(plane); var filter1:GlowFilter = new GlowFilter(0xccffff,1,52,52,4,1,false,false); var filter2:BlurFilter = new BlurFilter(10,10); layer1.filters=[filter1]; layer2.filters=[filter2]; addEventListener(Event.ENTER_FRAME,process); } private function process(evt:Event):void { camera.orbitY(plane,1,500,100); renderer.renderScene(scene,camera,viewport); } } }
发表评论
-
papervision3d-shaders-bumpmap 凹凸材质的实现
2009-10-11 13:56 1646... -
PaperVision3D里实现移动物体
2009-09-30 21:37 2278在PaperVision3D里实现移动物体的移动,下面是一个测 ... -
papervision dae animation(DAE角色动画控制)
2009-09-28 23:49 4253【http://www.bvumedia.com---flas ... -
AS3D寻路演示
2009-09-03 00:07 1800操作说明: Clear 清空目前的设置 Wall 单击这个标 ... -
Papervision3d在平面上点击生成物体
2009-08-15 17:34 1933下面我们练习Papervision3d在平面上点击生成一个物体 ... -
Papervision3dMultiView(多视窗视图)
2009-08-14 23:52 1636【http://www.bvumedia.com---flas ... -
COLLADA - 交互3D数字资产交换方案
2009-08-09 22:16 1588【http://www.newflash3d.com---f ... -
Glow Cube for Papervision3D 2.0 (发光箱体练习)
2009-08-05 20:15 1885【http://www.newflash3d.com---fl ... -
Papervision3d 与tweener类结合实现相机的运动变化
2009-08-01 17:52 1521通过Papervision3d 与tweener类结合实现相机 ... -
Papervision3d QuadTree四叉树相机的示例
2009-07-31 22:50 1936【http://www.newflash3d.com---fl ... -
papervision3d游戏人物旋转全方位观察(papervision3d camera orbit)
2009-07-25 01:10 3329Flash做3d三维游戏的可能性探讨:游戏人物的展示 【htt ... -
从3dsmax导出Dae模型到papervision3D
2009-07-24 20:28 9275从外部的三维软件,如3dsmax导入模型到papervisio ... -
papervision3d相机旋转(papervision3d camera orbit)
2009-05-21 22:26 4105代码如下: package { import flas ... -
RenderSessionData类分析
2009-02-15 23:39 1061RenderSessionData类分析 (渲染会话数据) 代 ... -
一步一步走进Papervision3D的世界(一):
2009-02-14 01:40 1423这个任务的确很深重,要一步步的深入。。。。。。不管怎么说,pa ... -
Papervision3D拖动物体
2009-01-13 02:29 2649【http://www.newflash3d.com---fl ... -
papervision3D深入研究之一:关于视图View
2009-01-12 12:23 1456在papervision3D的核心类里,papervision ... -
papervision3D核心结构分析(一、基本包和类)
2008-12-23 13:53 2580【http://www.newflash3d.com---fl ... -
从3dsmax烘培到papervision3D(二、输出和导入模型)
2008-12-23 01:43 4008接着从3dsmax烘培到papervision3D(一)说,我 ... -
papervision3D基本框架之-BasicView基本视图
2008-12-22 00:02 2773我们一般在构建papervision3D构架的时候需要创建下面 ...
相关推荐
这个教程集合提供了深入学习Papervision3D所需的知识,包括PV3D的基本概念、对象模型、渲染技术以及与Flex框架的集成。 1. **Papervision3D基础**:Papervision3D是Flash平台上的3D引擎,它允许开发者在网页和桌面...
首先,让我们深入理解PaperVision3D的基本概念。PaperVision3D使用ActionScript 3.0(AS3.0)进行编程,这是一种面向对象的脚本语言,相较于AS2.0,其性能显著提升,内存管理更加高效。通过PaperVision3D,开发者...
### Papervision3D.Essentials - 关键知识点解析 #### 一、Papervision3D概述 - **定义**: Papervision3D是一种强大的实时3D引擎,专为Flash设计。它能够将外部创建的3D模型渲染成Flash内容,无需终端用户下载或...
第二章将更深入地探讨3D场景的概念和Papervision3D API的更多特性。 总的来说,Papervision3D Essentials中文版是学习如何在Flash中构建3D应用程序的重要资源,它引导读者逐步了解和掌握这个强大的3D引擎,从下载、...
《Papervision3D演示项目详解:七个实例深度剖析》 Papervision3D是一种基于Adobe Flash Platform的开源3D渲染引擎,它允许开发者在网页上创建复杂的3D场景和交互式应用。该技术的出现极大地拓宽了Flash的潜力,使...
Papervision3D的核心概念包括场景、摄像机、光源、材质、几何对象和动画。在3D场景中,几何对象是基本元素,如立方体、球体等,它们可以通过不同的材质赋予不同的外观。摄像机决定了观众从哪个角度观察场景,而光源...
#### 二、Papervision3D基础概念解析 在构建任何Papervision3D项目之前,了解其核心组件是非常重要的。根据原文描述,要使Papervision3D正常运行,需要初始化四个关键组件: 1. **视窗(Viewport)**:视窗可以...
Papervision3D是基于Adobe Flash和Flex平台的一个强大的三维(3D)图形渲染引擎。这个技术允许开发者在Web浏览器中创建出丰富的、交互式的3D场景,为用户提供了一种全新的网页体验。该框架利用ActionScript 3.0语言...
《PaperVision3D SDK在Flex环境中的应用与实践》 PaperVision3D(简称PV3D)是一款基于Adobe Flex和ActionScript 3.0的开源3D图形库,它为Web开发者提供了在Flash Player环境中构建三维图形和交互式应用程序的能力...
- 《Papervision3D+Essentials》中文翻译版:详细介绍了PV3D的基本概念和进阶技巧,是初学者入门的最佳教材。 - PV3D官方文档:提供了API参考和示例代码,有助于深入理解库的功能。 - 开源社区:如GitHub上的PV3D...
Papervision3D_2.0.869.swc
本篇文章将深入探讨Papervision3D的API,帮助读者理解并掌握这个工具的核心概念和功能。 一、基本概念 1. **Scene**: 场景是3D世界的基本构造单元,包含了所有的相机、光源、网格和材质。通过Scene对象,你可以...
书籍《Papervision3D 2.0 Alpha Great While》是学习Papervision3D的重要参考资料,书中详细介绍了Papervision3D的基本概念、核心API以及实际案例。读者可以从中学习到如何设置3D环境、创建和操纵3D对象、实现复杂的...
《Papervision3D Essentials》是一本深入探讨Papervision3D(PV3D)的权威指南,中文版的出现使得更多中国开发者能够掌握这个强大的三维渲染库。Papervision3D是一个用于Adobe Flex和Flash平台的开源项目,它为Web...
《PV3d Papervision3D API文档与全景案例解析》 Papervision3D(PV3D)是一款强大的开源3D图形引擎,专为Adobe Flash平台设计,支持ActionScript 3.0(AS3),是Flash AS3中实现3D效果的重要工具。在本文中,我们将...
《Papervision3D与Box2DFlash结合的精彩DEMO解析》 在IT行业中,3D图形渲染和物理引擎的应用已经变得越来越普遍,尤其是在游戏开发和互动媒体设计领域。Papervision3D是一个基于Adobe Flash平台的开源3D库,它允许...
本学习资料主要涵盖了Papervision3D的基本概念、使用方法以及实例应用,旨在帮助初学者和有经验的开发人员深入理解这一强大的3D引擎。 1. **Papervision3D基础知识** - **ActionScript 3.0**: Papervision3D是建立...