zoukankan      html  css  js  c++  java
  • Away3d学习笔记(1)

    为了做一些较复杂的3D应用,打算学习下3D引擎。PV3D早已停止更新,Away3D看上去是个不错的起点,一来因为它开源免费,而且 相关的资料比较丰富。通过比较,发现推荐较多的是这本:《The Essential Guide to 3D In Flash》。

    第一章是基础知识,如何下载源代码,如何建立工程文件。可以大概扫一眼,比较有趣的是最后一种方式,使用make和Flex SDK进行开发, 学习曲线最陡峭,但也最灵活。下面是MAKE文件的一个写法样例

    MXMLC=/cygdrive/d/flex/bin/mxmlc
    SRC=src lib-src
    APP=src/HelloWorld.as
    OUT=out/helloWorld.swf
    ARGS=-sp $(SRC) -o $(OUT) -use-network=false
    all:
        $(MXMLC) $(ARGS) -file-specs $(APP)

    第二章包括一些简单的例子,通过敲打这些demo,可以摸索出away3d的些许脾气和秉性。

    最简单的away3d文件中,只存在一个View3D(视窗)对象。View3D直接继承自Sprite,可以在显示列表上进行添加删除 操作。它的render()函数,用来渲染其中的三维场景。常规的做法是在EnterFrame侦听函数中调用render函数,以实现逐帧刷新。 另外,View3D的位置除了代表视窗位置之外,还指定了灭点(vanishing point)的方位。

    往三维空间里面添加物体十分方便。Away3D最大程度上沿用了Flash原生API规范,能减少生词数量。三维空间的根节点是scene(场景), 属于Scene3D类。添加删除子元素的函数分别是:addChild(), removeChild()。

    另外一个好消息是,当创建了View3D对象后,Away3D会免费赠送一个Scene3D对象。放在View3D的scene属性里。这个贴心的设计,体现了 设计者无微不至的关怀。

    Cube类,作为最简单的三维模型之一,它的创建相当简单:

      var cube:Cube = new Cube();

    默认的材质是WireColorMaterial,很朴素的材质。如果你想让它色彩丰富,可以试试BitmapMaterial 材质:

    var bmp:BitmapData = new BitmapData(200, 200);
    bmp.perlinNoise(200, 200, 2, Math.random(), true, true);
    var mat:BitmapMaterial = new BitmapMaterial(bmp);
    var cube:Cube = new Cube({material:mat});

  • 相关阅读:
    Java基础-学习笔记(十)——内部类(嵌套类)
    Java基础-学习笔记(九)——static关键字
    Java基础-学习笔记(八)——函数的参数传递
    JS获取当前时间转成时间戳,并比较两个时间戳得出相差的天数
    tp6的with关联使用(删查),insertAll批量增加
    Vue父子组件的相互调用方法与参数
    Vue父子组件之间的通信
    Vue组价的基本使用
    PHP接入图片文字识别AIP
    EC6模块化的导入和导出
  • 原文地址:https://www.cnblogs.com/mzbdadou/p/2410011.html
Copyright © 2011-2022 走看看