`
wsliujian
  • 浏览: 95140 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PV3D处理3D矢量绘图与3D文本

阅读更多
Papervision3D主要以位图为基础,所以所有的渲染都被转换为位图。如果采取这种方式,呈现出外观
清晰光滑的文本会成为复杂问题,如在第四章所见的例子MovieAssetMaterial。渲染文本直接采取矢量图
的手段是个很好的选择。基于以下两个原因:
● 位图质量由分辨率决定,对其缩放会导致图片质量下降。矢量图的缩放却无图片质量损失。
● 在变化中的三角形中换行并保证良好的外观是很难的。为保证渲染,3D矢量文本不会在三角形中
绘制。
Papervision3D提供了一组可绘制矢量图形(vector shapes))(如简单图形,文本)的类。用于
绘制图形的方法名与FLASH的drawing API(如lineTo() 与 curveTo())相似,看来这些类便于使用,
所以建立3D矢量文本相当简单。
以下为即将讨论的主题:
● 建立3D矢量文本
● 建立在Papervision3D中使用的字体文件
● 绘制3D矢量图形与线条
● 添加交互到3D矢量图形与文本
本章主要关注已被集成进Papervision3D的VectorVision库。讨论该库的类后,将关注Lines3D类,
该类也能绘制3D线条(3D lines)。在VectorVision被集成前,该类已是Papervision3D的一部分。
某些API 类 属性。
VectorVision:3D矢量文本与3D矢量绘图
VectorVision,以ACTIONSCRIPT开发的类库,能够在Papervision3D中渲染矢量图形和给矢量图
形添加3D视图。这个项目是一个独立的类库,你能下载它和使用它。尽管如此,在2008年6月它被完全
集成进Papervision3D。
在理论上,使用矢量图形和文本意味着你可以绘制任何种类的矢量图,并给它们添加3D视图。本章
节关注:
● 建立3D矢量文本。
● 绘制3D矢量图形,比如线条,圆,矩形。
脑里一定要有3D字母可由3D矢量图形的形式——比如线条,圆,矩形组成的概念。以上的差异是因
为VectorVision在Papervision3D的实现所导致。该库提供一些类可以帮助你建立3D文本(3D text),
同时提供其它类帮助你建立矢量图形。
建立一个3D文本类的模版
因为我们发现3D文本的大量的例子大同小异,我们将见到类的模版,如下:
package
{
import flash.events.Event;
import org.papervision3d.materials.special.Letter3DMaterial;
import org.papervision3d.typography.Font3D;
import org.papervision3d.typography.Text3D;
import org.papervision3d.typography.fonts.HelveticaBold;
import org.papervision3d.view.BasicView;
public class Text3DTemplate extends BasicView
{
private var material:Letter3DMaterial;
private var font3D:Font3D;
private var text3D:Text3D;
private var easeOut:Number = 0.6;
private var reachX:Number = 0.5
private var reachY:Number = 0.5
private var reachZ:Number = 0.5;
public function Text3DTemplate()
{
stage.frameRate = 40;
init();
startRendering();
}
private function init():void
{
//code to be added
}
override protected function onRenderTick(event:Event = null):void
{
var xDist:Number = mouseX - stage.stageWidth * 0.5;
var yDist:Number = mouseY - stage.stageHeight * 0.5;
camera.x += (xDist - camera.x * reachX) * easeOut;
camera.y += (yDist - camera.y * reachY) * easeOut;
camera.z += (-mouseY * 2 - camera.z ) * reachZ;
super.onRenderTick();
}
}
}
定义一些将用于渲染方法的类的属性,而这些渲染方法用于随鼠标移动而改变镜头。同样,所导入的4个
类和定义的3个属性,能够让我们建立3D文本。
webdesign china
http://www.webdesign-cn.com
http://www.levs.cn
分享到:
评论

相关推荐

    pv3d flash 3d源码

    6. **动画(Animation)**:PV3D支持对3D对象的属性进行动画处理,如旋转、平移和缩放,以及材质和灯光的动态变化。 **PV3D的架构** PV3D主要由以下几个组件组成: 1. **渲染器(Renderer)**:负责将3D场景转换...

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

    5. **光照与阴影**:PV3D支持各种光照类型,如点光源、聚光灯和平行光,以及阴影的生成,这些都能显著增强3D场景的真实感。 6. **摄像机控制**:掌握如何移动、旋转摄像机,实现3D场景的视角变换,为用户提供沉浸式...

    PV3D太阳系

    此外,理解PV3D的事件处理机制和3D坐标系统也是必要的。 7. 文件结构:压缩包中的"SunSys"可能包含了整个项目的源代码、资源文件(如3D模型、纹理贴图)、配置文件和可能的库文件。分析这些文件可以深入理解项目的...

    用于flash中的PV3D 组件包

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

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

    2.3 动态性与性能优化:AS3.0的动态性让PV3D能根据需要动态地添加和移除3D对象,同时,通过使用DisplayObjectContainer和DisplayObject的优化技巧,可以提升3D场景的渲染效率。 三、PV3D的关键技术 3.1 面向切面...

    PV3D中文手册

    PV3D是基于ActionScript 3的,因此它与Adobe Flash Player和Adobe AIR平台紧密集成,允许开发者在Web上创建丰富的3D交互体验。 **一、PV3D基本概念** 1. **ActionScript 3**: PV3D是基于ActionScript 3.0的,AS3是...

    pv3d最新资源包

    5. **兼容性**:PV3D与Flex和ActionScript 3.0紧密集成,使得具备AS3编程经验的开发者能够快速上手。 在这个资源包中,可能包含以下内容: - **库文件**:PV3D的核心库,如`pv3d.swc`,开发者可以将其导入到他们的...

    pv3d简单全景

    - 使用PV3D加载和渲染:在AS3代码中,开发者需要加载这些资源,并使用PV3D库的类和方法来创建3D场景,设置相机视角,以及处理用户的交互输入。 4. **交互功能**:PV3D允许用户通过添加事件监听器来实现全景图的...

    as3pv3d开发引擎

    然后,可以通过PV3D的官方文档、示例代码和社区资源来学习如何创建3D对象、设置光照和纹理、控制摄像机以及处理用户输入。 总的来说,PV3D是一个强大的工具,它将3D图形的魅力带入了Flash平台,让Web开发者能够创建...

    pv3d安装,简单运用的实例

    在安装PV3D之前,你需要确保已经安装了Adobe Flex SDK和Flash Player,因为PV3D是基于ActionScript 3.0开发的,与Flash平台紧密相连。你可以通过官方网站下载这些工具。安装PV3D库时,通常是将下载的库文件添加到...

    pv3d文档(chm)

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

    PV3D官网 海底世界效果

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

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

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

    PV3D的SWC、AS文件和英文API

    在PV3D项目中,SWC文件通常包含了PV3D的核心库,这些库包含了处理3D渲染、对象加载、动画制作等核心功能的类和函数。将SWC文件导入到你的Flash项目中,可以使你的代码直接调用PV3D的API,无需手动编写底层3D图形代码...

    PV3D实例—交互

    7. **工具的使用**:可能提到了一些与PV3D配合使用的工具,如Blender或3DS Max,用于创建3D模型并导入到PV3D环境中。 8. **性能优化**:交互性可能导致性能问题,文档可能涵盖了一些优化技巧,如减少不必要的计算,...

    pv3d开发工具as3 编写的

    5. **光照与材质**:PV3D提供了多种光源类型,如点光源、平行光等,以及各种材质模型,如基本材质、多层材质、镜面反射材质等。理解如何设置和应用这些元素可以增强3D场景的真实感。 6. **渲染优化**:由于Flash ...

    PV3D入门之BOY(源码)

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

    pv3d as3第三方类库

    - **DisplayObject**: PV3D中的3D对象都继承自DisplayObject,这与AS3的2D显示对象体系相一致,允许3D对象与其他2D内容混合并进行交互。 2. **主要组件** - **Camera3D**: 控制3D场景的视角,可以实现平移、旋转...

    PV3D 3D 电子书展示平台源码

    5. **事件处理**:PV3D 3D 电子书展示平台需要监听用户的操作,比如点击、滚动等,以便做出相应的反馈,源码中会有相关的事件监听和处理机制。 6. **资源管理**:电子书的图片、字体和其他资源的加载和管理也是源码...

Global site tag (gtag.js) - Google Analytics