`
thinlong
  • 浏览: 32589 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

PV3D入门之ViewportLayer

阅读更多
效果图:

package {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.filters.BlurFilter;
	//import org.papervision3d.cameras.Camera3D;
	import org.papervision3d.cameras.FreeCamera3D;
	import org.papervision3d.materials.BitmapFileMaterial;
	import org.papervision3d.materials.ColorMaterial;
	import org.papervision3d.materials.utils.MaterialsList;
	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.layer.ViewportLayer;
	import org.papervision3d.view.Viewport3D;
	import org.papervision3d.view.layer.util.ViewportLayerSortMode;
	/**
	 * ...
	 * @author thinlong
	 */
	public class ViewportLayerExample extends Sprite {
		private var viewport:Viewport3D;
		private var scene:Scene3D;
		private var camera:FreeCamera3D;
		private var render:BasicRenderEngine;
		private var cubeLayer:ViewportLayer;		
		private var planeLayer:ViewportLayer;
		private var cube:Cube;
		private var plane:Plane;
		
		public function ViewportLayerExample() {
			init();
		}
		
		private function init():void {
			viewport = new Viewport3D(600, 500);
			scene = new Scene3D();
			camera = new FreeCamera3D(1, 100);
			render = new BasicRenderEngine();			
			addChild(viewport);
			
			var mat:ColorMaterial = new ColorMaterial(0xFFFFFF);
			plane = new Plane(mat, 600, 500)
			plane.pitch(90);
			plane.y = -100;
			scene.addChild(plane);
			cube = new Cube(new MaterialsList( { all:new BitmapFileMaterial("asset/girl.jpg") } ), 200, 200, 200);
			scene.addChild(cube);
			viewport.containerSprite.sortMode = ViewportLayerSortMode.Z_SORT;
			
			cubeLayer = viewport.getChildLayer(cube);
			planeLayer = viewport.getChildLayer(plane);
			planeLayer.filters = [new BlurFilter(4, 4)];
			addEventListener(Event.ENTER_FRAME, handlerEnterFrame);
		}
		
		private function handlerEnterFrame(evt:Event):void {
			camera.orbitY(plane,2, 500, 100);
			render.renderScene(scene, camera, viewport);
		}
	}
	
}
  • 大小: 13.5 KB
分享到:
评论

相关推荐

    PV3D入门之BOY(源码)

    【PV3D入门之BOY(源码)】是一篇关于使用PV3D(Panda3D)框架进行3D编程的教程,其中"BOY"可能是项目或示例的名称。PV3D,全称Panda3D for Python,是Python的一个3D渲染引擎,它基于C++的Panda3D库,为开发者提供了...

    PV3D学习资料-----PV3D Essentials(汉语)

    **PV3D学习资料——PV3D Essentials(汉语)** PV3D,全称为Papervision3D,是一款强大的开源3D图形引擎,专为Adobe Flash平台设计。它允许开发者在网页上创建复杂的3D场景,游戏以及交互式应用程序,从而突破了...

    pv3d安装,简单运用的实例

    这个“pv3d安装,简单运用的实例”压缩包提供了初学者入门PV3D的基本步骤和实践案例。下面将详细解释其中包含的知识点。 首先,我们来了解PV3D的安装过程。在安装PV3D之前,你需要确保已经安装了Adobe Flex SDK和...

    pv3d flash 3d源码

    **PV3D Flash 3D 源码详解** PV3D,全称为Papervision3D,是一个开源的Flash 3D图形渲染引擎,它允许开发者在Adobe Flash Player环境中构建复杂的三维交互式应用程序。PV3D为Web开发者提供了一个强大的工具,使他们...

    PV3D中文手册

    **PV3D中文手册**是针对PV3D(Pervasive 3D)技术的一份详细文档,旨在帮助用户理解并有效地使用这个强大的3D图形编程库。PV3D是基于ActionScript 3的,因此它与Adobe Flash Player和Adobe AIR平台紧密集成,允许...

    用于flash中的PV3D 组件包

    在给定的“用于flash中的PV3D组件包”中,我们将探讨PV3D(Papervision3D)如何与Flex结合,以及如何利用它来创建震撼的3D效果。 PV3D是Adobe Flash平台上的一款强大的3D引擎,它为开发者提供了在Flash Player中...

    开源3d引擎 pv3d源文件(AS3.0版)及demo.rar

    《开源3D引擎PV3D在AS3.0中的应用详解》 PV3D,全称为Papervision3D,是一款基于ActionScript 3.0的开源3D图形渲染引擎,它允许开发者在Adobe Flash平台上创建丰富的3D交互内容。PV3D的出现极大地拓宽了Flash的使用...

    PV3D太阳系

    "PV3D太阳系"是一个基于PV3D( Papervision3D)技术构建的交互式3D模拟项目,主要用于展示太阳系中的行星运动。PV3D是ActionScript 3(AS3)的一个库,它为Flash平台提供了强大的3D图形渲染能力。在这个项目中,...

    pv3d最新资源包

    "pv3d最新资源包"是一个集合了PV3D(Player3D)最新开发资源的压缩文件,这个包是在09版本的基础上进行了更新,确保所有内容都是最新的。PV3D是一种基于Adobe Flash Platform的3D图形编程库,它允许开发者在Flash ...

    PV3D实例—交互

    在“Papervision3D入门-基础交互式PV3D程序.doc”文档中,可能包含了以下内容: 1. **基础交互组件**:讲解如何创建基本的交互元素,例如点击事件监听器,通过添加鼠标事件处理函数来响应用户的点击行为。 2. **...

    pv3d简单全景

    本项目“pv3d简单全景”显然是使用PV3D库来构建一个基本的全景体验,下面我们将详细探讨相关的知识点。 1. **PV3D库**:Papervision3D是AS3中的一个强大工具,它为开发人员提供了一个在Flash中创建3D图形的平台。PV...

    as3pv3d开发引擎

    PV3D的强大之处在于,它允许开发者利用ActionScript这门脚本语言,构建复杂的3D场景,动画和应用程序,而无需深厚的图形编程背景。 **ActionScript 3(AS3)**是Flash中的主要编程语言,与AS2相比,AS3具有更强的...

    PV3D官网 海底世界效果

    【PV3D与Flash技术】 PV3D全称为Papervision3D,是一个基于Adobe Flash平台的开源三维(3D)图形库。这个技术允许开发者在网页上创建丰富的、交互式的3D场景,为用户提供一种超越传统2D体验的新颖视觉效果。PV3D在...

    pv3d文档(chm)

    **PV3D文档(chm)** PV3D全称为Papervision3D,是一个开源的Flash平台3D图形库,允许开发者在Adobe Flash Player环境中创建丰富的三维交互体验。这个"PV3D help (英文) CHM格式 API帮助文档"是针对Papervision3D的...

    PV3D的SWC、AS文件和英文API

    **PV3D技术详解** PV3D,全称 Papervision3D,是一款基于Adobe Flash Platform的开源3D图形库,允许开发者在Flash Player或Adobe AIR环境中创建丰富的三维交互体验。SWC和AS文件是PV3D开发中的关键组件。 **SWC...

    pv3d开发工具as3 编写的

    PV3D(Papervision3D)是一种基于ActionScript 3.0的开源库,用于在Adobe Flash环境中创建3D图形和交互式应用程序。它为开发者提供了在Web上构建三维场景、游戏以及复杂的可视化应用的可能性。AS3(ActionScript 3.0...

    PV3D源码包(1.5版本和1.7版本)

    《深入理解PV3D:1.5与1.7版本源码解析》 Papervision3D(PV3D)是Flex平台上的一个开源3D引擎,它为Adobe Flash和Flex应用程序提供了强大的3D图形渲染能力。在本文中,我们将深入探讨PV3D 1.5版本和1.7版本的源码...

    flash actionscript3+XML+SWFProfiler+PV3D制作环绕镜面相册.zip_actionscript入门

    《使用ActionScript3、XML、SWFProfiler与PV3D创建环绕镜面相册的实践指南》 在当今数字媒体领域,Flash技术以其强大的交互性和动态性被广泛应用于网页设计和动画制作。ActionScript3作为Flash的核心编程语言,极大...

    pv3d as3第三方类库

    **PV3D AS3 第三方类库** PV3D(Papervision3D)是ActionScript 3(AS3)平台上的一个开源三维(3D)图形引擎,它为Flash开发者提供了在Web上创建复杂3D场景的能力。PV3D的出现极大地扩展了Flash的视觉表现力,使得...

Global site tag (gtag.js) - Google Analytics