`

[转] [Flash/Flex] 轻量级flash3d引擎native3d rev19使用教程

阅读更多

  • 资讯类型: 原创
  • 来源页面: http://game-develop.net/blog/?p=232
  • 资讯原标题: 轻量级flash3d引擎native3d rev19使用教程
  • 资讯原作者: sliz
  • 我的评论:自弹自唱 
    对这篇文你有啥看法,跟贴说说吧!欢迎口水和板砖,哈哈。欢迎大家和我们一同分享更多资讯。

    本帖最后由 sliz 于 2011-4-7 13:22 编辑

    比起其他3d引擎动辄几百k,无位图资源时,只有3k+的native3d引擎在做一些轻量级的网页效果时,它甚至比five3d的体积还要小,确实有它一定的优势。
    native3d在设计的时候力求最大限度的节省开发者的时间
    比如其他引擎每次创建的时候都要新建scene camera viewport render,然后再把他们组合成正确的位置。native3d把新建的工作都直接写在view3d里好了。native3d的rx,ry,rz对应其他3d引擎的rotationX,rotationY,rotationZ。
    1,native3d基本类
    Obj3D 3d对象
    View3D 内部包括了camera scene 渲染器等
    Cam3D 摄像机
    2,新建view3d
    1. var view:View3D; = new View3D(400, 400, -1000, this);
    复制代码
    其中前2个参数是viewport的宽高,第三个参数是默认摄像机的z坐标,因为native3d和大部分3d引擎的z轴都是指向屏幕内的,所以默认摄像机位置为负数,第四个参数this是你想把view3d显示对象加到哪里。
    1. if (parent) {
    2.         parent.addChild(this);
    3. }
    复制代码
    从它的构造函数可以看出,如果你传入一个可用的容器它会执行addchild方法,否则不做操作。
    view3D提供了render,start,stop方法,如果你只想渲染一次,当你添加好3d对象的时候,可以执行render来做单次渲染。我们一般用start方法来使native一直渲染。
    3,几何体
    primitives包里提供了几个最基本的几何体,可以试试立方体Cube的功能。
    可以
    1. new Cube(new LineMaterial(0), 400, 400,400);
    复制代码
    来建立一个Ojb3D对象,第一个参数为材质 ,后面3个参数为长方体的长宽高。
    新建好后加到scene上进行渲染
    1. view.scene.add(ob3d);
    复制代码
    Obj3D包括一个public的m matrix3d变量我们可以操作它来改变Obj3D的位置,欧拉角,缩放等属性。
    执行过后他如果想得到正确的 xyz等属性需要执行decompose方法来做映射。
    如果不熟悉matrix3d的使用方法,可以直接对Obj3D的各个属性进行操作,可以达到一样的效果。
    x,y,z 3d对象的位置,rx,ry,rz 3d对象的欧拉角 sx,sy,sz 3d对象的缩放。
    可以设置culling(不替除,背面剔除,正面剔除) 对应为 TriangleCulling类。
    4,材质
    在materials包内的线材质,位图材质,色块材质,组合材质,可以把其他材质任意组合。
    5,最基本例子代码
    1. package  
    2. {
    3.         import flash.display.*;
    4.         import flash.events.*;
    5.         import net.game_develop.native3d.*;
    6.         import net.game_develop.native3d.materials.*;
    7.         import net.game_develop.native3d.primitives.*;
    8.         /**
    9.          * ...
    10.          * @author sliz http://game-develop.net/blog/
    11.          */
    12.         public class Test2 extends Sprite
    13.         {
    14.                 private var ob3d:Obj3D;
    15.                 private var ctrl:FreeRotationController;
    16.                 private var view:View3D;
    17.                 public function Test2() 
    18.                 {
    19.                         var view:View3D; = new View3D(400, 400, -1000, this);
    20.                         ob3d = new Cube(new LineMaterial(0), 400, 400,400);
    21.                         view.scene.add(ob3d);
    22.                         view.start();
    23.                         addEventListener(Event.ENTER_FRAME, update);
    24.                         ctrl = new FreeRotationController(ob3d);
    25.                 }
    26.                 
    27.                 private function update(e:Event):void 
    28.                 {
    29.                         ctrl.update(view.containerMouseX, view.containerMouseY);
    30.                 }
    31.         }
    32. }
    复制代码
    6 例子
    https://native3d.googlecode.com/ ... 3d/bin/native3d.swf
    https://native3d.googlecode.com/ ... d/bin/native3d2.swf
    https://native3d.googlecode.com/ ... d/bin/native3d3.swf
    https://native3d.googlecode.com/ ... d/bin/native3d4.swf
    https://native3d.googlecode.com/ ... d/bin/native3d5.swf
    7 native3d的未来发展方向
    加入对molehill的支持,在效率上有所建树,转型为主流的3d框架
    8 svn
    svn地址 http://native3d.googlecode.com/svn/trunk/

     

    分享到:
    评论

    相关推荐

      Flash/Flex 框架应用 Cairngorm、Mate、PureMVC以及Swiz 的典型例子

      附件是关于 Flash/Flex 几个重要框架 Cairngorm、Mate、PureMVC以及Swiz 的典型例子,由 Tony Hillerson 提供 Homepage: http://insideria.com

      [转] [Flash/Flex] 使用Flare3D来实现Flash 3D的推箱子游戏原型---纹理

      这篇教程主要介绍如何使用Flare3D在Flash/Flex环境中创建一个3D推箱子游戏的原型,重点关注3D纹理的应用。Flare3D是一个强大的工具,它为Flash开发者提供了将2D内容转换为3D场景的能力,使得在Flash平台上开发复杂的...

      flash/flex画曲线,绘图板

      "Flash/Flex画曲线,绘图板"这个主题涉及的是如何使用这些技术来创建一个允许用户自由绘制曲线的图形界面。下面将详细介绍这个知识点。 1. **Flex基础**: - Flex是Adobe提供的开源框架,主要用于构建RIA(Rich ...

      [Flash/Flex] 使用css定义文本样式

      标题中的"[Flash/Flex] 使用css定义文本样式"表明我们将讨论如何使用CSS来控制在Flash或Flex应用中的文本外观。在Flash Professional或Flex Builder中,开发者可以创建自定义样式表,这些样式表可以包含针对不同文本...

      FDT-flash/flex devtoolkit for eclipse.

      **FDT - 一款强大的Flash/Flex开发工具集** FDT(Flash Development Tool)是一款专为Adobe Flash和Flex开发者设计的集成开发环境(IDE),它基于Eclipse平台,提供了高效、专业的开发工具和服务。FDT的出现极大地...

      flash/flex 的aqua皮肤

      在IT行业中,Flash/Flex是一种广泛使用的开发工具,主要用于创建交互式、富媒体的Web应用程序。Flex是基于ActionScript和MXML的开放源代码框架,它允许开发者构建可自定义的用户界面,而Flash则是其背后的动画和...

      完全基于FLEX的WEB3D引擎例子源码及教程.rar

      《深入理解基于FLEX的WEB3D引擎:实例解析与教程》 在现代网页开发中,Web3D技术已经成为一种趋势,它为用户提供沉浸式的三维交互体验,极大地丰富了网页内容的表现形式。本资料包“完全基于FLEX的WEB3D引擎例子...

      RTMP直播例子--基于FLASH/FLEX(含源代码) 下载

      在这个“RTMP直播例子--基于FLASH/FLEX(含源代码) 下载”中,我们可以深入探讨RTMP直播的基本原理、FLEX编程以及如何在实际项目中应用这些技术。 首先,RTMP协议的工作原理是通过建立一个持久性的TCP连接,允许...

      解决flash/flex/as3 访问中文域名时的流错误示例

      在《潮汕IT男》网站的文章《解决flash/flex/as3 访问中文域名时的流错误》中,作者陈林生提供了详细的步骤和代码示例,帮助开发者理解和解决这个问题。文章地址是:[http://chenlinsheng.com/?p=990]...

      [转] [Flash/Flex] 加载SWF性能VS影片剪辑性能

      而在创建轻量级的互动元素或者动画时,直接使用影片剪辑可能更为合适。 此外,我们还可以考虑以下优化策略: - 使用SpriteSheet技术来合并多个小图,减少网络请求和内存占用。 - 对SWF进行压缩,如使用GZIP压缩,...

      一款轻量级的FLEX MVC开发框架

      描述中的“及一个简单的实现过程小列子”表明,除了框架本身,这个资源还可能包含了使用该框架进行实际开发的示例代码或者教程,帮助开发者更好地理解和应用这个轻量级的FLEX MVC框架。这通常是学习新框架时非常有...

      3dfz.rar_flash 3d翻转_flash AS 3_flash3d翻转_flash3d翻转效果_flex

      在本压缩包“3dfz.rar”中,包含的是关于Flash 3D翻转效果的资源,这是一项在Web开发领域中,特别是交互式多媒体设计中的常见技术。Flash AS 3,即ActionScript 3,是Adobe Flash Professional用于创建动态内容的...

      flexBuilder3中使用Papervision3D

      **Papervision3D (PV3D)**是一款基于ActionScript 3.0编写的开源3D引擎,用于在Flash Player中创建复杂的3D场景。由于Flash Player本身并不具备3D渲染能力,因此PV3D通过软件算法模拟了3D效果,为开发者提供了强大的...

      Away3D 一款能够应用于Flash或Flex平台中的强大的实时三维引擎

      Away3D 是一款强大的实时三维引擎,专为Flash或Flex平台设计。它的主要目标是提供一个高效的3D渲染环境,让开发者能够创建出互动性强、视觉效果丰富的3D应用程序。Away3D 支持ActionScript 3.0,这意味着它可以无缝...

      多个完全基于FLEX的WEB3D引擎例子源码及教程

      标题中的“多个完全基于FLEX的WEB3D引擎例子源码及教程”表明这是一个关于使用Adobe Flex技术构建Web3D引擎的资源集合。Flex是一种开源的、基于ActionScript的框架,用于开发富互联网应用程序(RIA),它允许开发者...

      flex中使用away3d引擎播放的帧动画示例

      在本文中,我们将深入探讨如何在Flex环境中利用Away3D引擎播放帧动画。Away3D是一个强大的开源3D图形库,适用于Adobe Flash平台,包括Flex。这个示例着重于将Away3D与Flex结合,创建出具有交互性的3D场景,并在其中...

      flex/flash 3d基础1

      总结来说,"flex/flash 3D基础1"是一个关于如何在Flash和Flex环境中构建3D图形的初级教程。通过"Figure"这个实例,我们可以学习到ActionScript 3.0的3D编程基础,包括3D对象的创建、矩阵变换、光照材质以及渲染优化...

      flex 3D 例子及3D资源包

      OpenFL3D则是一个轻量级的3D库,它的目标是为Flash和HTML5平台提供高效、低级别的3D图形支持。OpenFL3D提供了基本的3D几何形状、纹理处理、摄像机控制等功能,并且可以与现有的Flex和Flash组件无缝集成。对于那些...

      [转] [Flash/Flex] Flex框架下的RIA开发现场--第3回 Adobe AIR 2的15项新功能

      12. **Flash Player兼容性**:AIR 2与最新版Flash Player兼容,确保了最新的Flash技术可以在桌面应用中使用。 13. **安全性增强**:加强了对敏感数据的保护,如加密存储和传输,增加了应用程序的安全性。 14. **...

      flex旋转3D

      在本文中,我们将深入探讨如何使用Adobe Flex实现3D物体的旋转效果,以及如何通过鼠标交互来控制这种旋转。Flex是一种强大的开发框架,主要用于构建富互联网应用程序(RIA),它允许开发者使用ActionScript 3和MXML...

    Global site tag (gtag.js) - Google Analytics