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});
转载于:https://www.cnblogs.com/mzbdadou/archive/2012/03/21/2410011.html
Away3d学习笔记(1)相关推荐
- away3d学习笔记 转载
http://abcdefgea.blog.163.com/blog/static/13278774120121155041956/ away3D_4.1.0_教程使用到的3D文件格式 .3ds(3D ...
- Away3D学习笔记1 - 戏说Flash 三维引擎
如果把文章开头比作一个入口的话,那我要在入口处立一块牌,上书:"非flash开发人员免入".因为如果把flash比作一部电影的话,本文以及本博客所有文章都是写给导演而非观众的. 万 ...
- Away3D学习笔记(4)
第三章的基类 先写一个基类Chapter03SampleBase.as,位于flash3dbook.ch03包内.后面的例子都会在它的基础上扩展. 这个基类定义了三个保护成员变量:_view, _cu ...
- Away3d学习笔记 - away3d类库下载
Away3d引擎就是一个Actionscript的类库,所以我们要使用它就先要下载.目前最新的版本是Version 2.3.3 / 3.3.3 点此下载 :2.3.3(flash9) ...
- away3d 4.0.9Gold 学习笔记 加载模型(6)
学习笔记提供模型和贴图请勿用于商业用途. 1 package 2 { 3 import away3d.containers.ObjectContainer3D; 4 import away3d.con ...
- PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call
您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...
- 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 2020年Yann Lecun深度学习笔记(下)
2020年Yann Lecun深度学习笔记(下)
最新文章
- rust投递箱连接箱子_灭火器箱存在的必要性
- String 字符串对象
- tomcat 部署脚本
- Android 8.0学习(25)---系统的应用图标适配
- 图解TCPIP-传输层 UDP报文格式
- FastDFS安装脚本
- DOS命令 For Set
- android ios mp4格式转换,ios 开发 视频格式转换、mov转MP4
- 无为而无不为——论老子哲学的深度悖论(转载)
- 英语语法笔记Day7——并列主从句
- sklearn NearestNeighbors
- 盒模型——快递比喻法
- 手机号登录和微信登录
- 功率放大器的输入阻抗和输出阻抗的关系
- Python Tox介绍和使用
- Unreal Engine 4 —— 禅意花园项目中的水池
- mac下好用的截屏工具--QQ截图
- Linux环境下使用scrapyd+spiderkeeper部署scrapy爬虫
- Matlab三维矩阵变换行列
- jQuery Ajax相关api(重点)
热门文章
- springboot static方法与构造方法加载@VALUE
- Collection源码分析(二):LinkedList源码分析
- 编译AVX代码,升级Redhat 5.5 GCC至4.7.1
- php pathinfo()函数
- SystemCenter2012SP1实践(12)服务器、网络和存储配置
- PHP之数组元素的排序
- python raise用处_python基础教程python raise的基本使用
- python函数递归 斐波那契数列
- Compound供应量突破70亿美元
- 去中心化借贷协议24小时清算超1300万美元