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});

  • 相关阅读:
    C语言main函数参数解析代码模板
    C语言函数指针复习小程序
    反转链表
    (Mingw32环境下)C语言使用库函数分配内存,按指定字节对齐
    Scrum meeting 3
    胆大妄为【DDWW】 Scrum meeting 2
    胆大妄为【DDWW】 Scrum meeting 1
    胆大妄为【DDWW】 《实验八 团队作业4:团队项目需求建模与系统设计》
    胆大妄为【DDWW】 实验七 团队作业3:团队项目需求分析与原型设计
    胆大妄为【DDWW】 实验六 团队作业2 :西北师范大学毕业生就业信息管理系统
  • 原文地址:https://www.cnblogs.com/mzbdadou/p/2410011.html
Copyright © 2011-2022 走看看