Away3D基础5-3D基本元素(1)

3-RRR并联机器人结构详解:从运动学到奇异点分析(附MATLAB仿真代码) 本文详细解析了3-RRR并联机器人的结构设计、运动学建模及奇异点分析,并提供了MATLAB仿真代码。通过对称性设计和可分析性,3-RRR结构成为教学与研究的理想对象。文章从基础杆件参数设置到奇异位形的实时捕捉,深入探讨了机构运动的数学本质,并分享了仿真调试中的实用技巧,助力工业自动化和精密控制应用。 阅读详情

在大多数3D软件中,3D基本元素是构成3D世界的基石。Away3D自带有17种3D基本元素以及一些别的帮助物。本教程将解释如何用这些3D基本元素实现非常酷的效果,比如音乐波形条、CMYK颜色分离等等。本教程同时会介绍away3D支持的两种代码书写方式。

首先,不要小看这些3D基本元素。它们可能很简单,但它们非常有用!举个例子,一个简单的球(sphere)就可以胜任创建一个全景图的工作。当然你也可以用skybox这个3D基本元素来做一个立方体的全景图。

在前两节关于3D基本元素的教程里,我们重点放在那些常用的3D基本元素上。在第三节关于3D基本元素的最后一节,我们会介绍非常规的3D基本元素,比如海龟。你说的是海龟?耶,在别的3D引擎里还有奶牛呢,away3D里有海龟这一3D基本元素。

先决条件

本教程建立在我们别的教程基础之上。假如你是flash3D菜鸟,你可能会先要去看看这些教程。举个例子,有些源文件,点击附带的as文件查看它们是如何工作的。所有这些例子都要用到一个Cover.as文件。这个文件是让教程里用到的flash影片不能同时工作,否则会拖垮你的电脑。如果你不确定如何使用这些例子,查看这个教程。

教程里的一部分例子会用到“纹理”。关于纹理与材质我们会在后边教程详细介绍,如果要让代码在flash cs3里工作, 读这个教程.

The Triangle(三角形)

三角形是3D模型的基石。虽然单个三角形用处不大,但多个三角形组合在一块就可以生成任何模型。更幸运的是away3D允许从3D软件导入复杂的模型,这样就不用我们用一块块三角形去拼凑出复杂模型。三角形还有别的用途。三角形是3D基本元素中最小单元,它常用于象粒子效果那样的资源密集物。

 

创建三角形你就要在3D空间里设置a/b/c三点。每点都是顶点(由x/y/z定位的点),如下:

1.var tri:Triangle = new Triangle();tri.a = new Vertex(0,200,0);

2.tri.b = new Vertex(100,0,0);tri.c = new Vertex(-100,0,0);tri.bothsides = true;

3.view.scene.addChild(tri);

下面是完整的三角形例子:

点击查看

Basic08_triangle.as

注意,我们把三角形的"bothsides"属性设为true.假如不这样做,我们只能看到三角形的一面。

The Plane(平面)

平面是一个没有厚度的矩形。默认情况下,平面有两个三角形组成。但是你可以据需要增加三角形数量。平面是第二轻量级3D基本元素。但它却是完成一些任务的不二之选。当你创建“电视墙”时,用机个“平面”并将电影材质放于其上就可以了。平面在3D场景里做衬托地面也非常有用。看这个例子

 

前面提到,away3d支持两种代码书写方式。你创建一个对象时,你可以把属性值传给构造函数,也可以在创建对象后设置属性。让我们看看这两种可能的方式。

 

第一种方法可以在类构造函数里传递该类所有的参数。下面代码创建一个黑线白框平面。

1.var myPlane:Plane = new Plane({material:"white#black",rotationX:-90});

2.View.scene.addChild(myPlane);

这种书写方式非常简洁。可以很容易指定所要的线框颜色。当然你还可以分开声明每个属性:

1.var mat:WireColorMaterial = new WireColorMaterial();mat.color = 0xff0000;

2.mat.wirecolor = 0x000000;var myPlane:Plane = new Plane();myPlane.material = mat;

3.myPlane.rotationX = -90;View.scene.addChild(myPlane);

这种方式要繁琐点,但许多开发者为了代码的可读性宁愿使用者种方式。使用何种方式完全由你决定。许多开发者对代码书写方式有强烈的个人偏好,为了讨好所有人away3D对两种方式都支持。

你可能注意到,在这个例子里我们将平面沿X轴转了90度,这是因为平面没有厚度,只有转动让平面朝向我们才能看到它。

你可以通过设置segment参数调整平面的复杂度:

1.myPlane.segmentsW = 4;myPlane.segmentsH = 6;

这句可以增加平面里的三角形密度,这对补偿因三角形过少而产生的失真。点击按钮体验这个问题:

点击查看

Textures.as

下面让我们来看看使用平面的更有代表性的代码。下面你看到一套由Adobe 公司的John Nack 设计的cs3图标,点击、拖动,可以看到颜色分离。然后对齐外框让图片再次重合。

点击查看

Basic08_plane.as

分离的四张透明png格式图片,模拟CMYK分离效果。这个是这样实现的:让HoverCam3D绕五个平面转动,C/M/Y/K和一个白色平面就像五张纸通过BlendMode.MULTIPLY组合.

The Cube(立方体)

立方体有高、宽、厚度。你可以为每个面设置不同的材质。

点击查看

Basic08_cube.as

同样有两种代码书写方式:

1.cube = new Cube({width:200,height:100,depth:300});

你也可以写成更具可读性:

1.var cube:Cube = new Cube();cube.width = 200;cube.height = 100;cube.depth = 300;

那种方式由你决定。使用cubeMaterials属性设置六个面(top, bottom, left, right, front and back)的材质,就像下面代码那样:

1.cube.cubeMaterials.left = new ColorMaterial(0xffffff,{alpha:.3});

每个3D物体都可以沿x/y/z轴进行一些移动、旋转等操作,如下:

1.cube.x = 200;cube.rotationY = 45;

更详细的关于3D物体的操作介绍看这个教程。现在我们将立方体用于项目中。下面是音乐波形显示条的例子。波形条的高度、颜色和滤镜都是根据波形变化发生变化。

点击查看

 

Basic08_cube_music.as

蓝色的立方体描述右声道而红色立方体描述的是左声道。每个声道的波谱被平分成八份,每个立方体表现声谱的一部分情况。每部分的最大值存在一个数组里并设置渐变。每次检测到新的最大值时,我们就应用模糊滤镜并增加尺寸与颜色。查看源码分析详细情况。

YOLOv8改进 - 注意力篇 - 引入CAA注意力机制 阅读详情

相关推荐

【技能---ubuntu20.04更换国内镜像源】

安装好ubuntu20.04后,在下载软件等安装包的时候,速度特别的慢,为此就想着更换一下镜像源,以此来增加下载的速度!!!下面是换源的具体流程!!!提示:以下是本篇文章正文内容,下面案例可供参考以上到这里就更换完软件源了,如有不足之处,请大家斧正!!!

fyc300的博客 1万+

Away3D4.0入门教程

好吧,我知道有很多人不会有兴趣一点点把教程全看完,所以,我先在这帖子里集中发布一些基础的,但大家又非常关心的问题, 至于具体细节怎么实现,我会在以后的教程中慢慢完善,这里仅是为了提供给那些有一定动手能力的兄弟们自己先丰衣足食.... 1.怎么为一个Mesh设置各个不同部位的皮肤? 调用Mesh的subMeshes,但前提是你的Mesh里有SubMesh... mesh.subMes

Zszen John 的 Blog 3179

Ferry工单平台部署

ferry工单平台部署

运维求生之路 1897

Away3d 4材质学习笔记

/** * @see http://away3d.com/tutorials/Globe_Materials_Tutorial#conclusion * Away3d 4材质学习笔记,记下重要的知识点,方便以后查询 */BitmapTexture最终由GPU渲染,Away3d会把它上传到GPU,BitmapTexture在TextureMaterial中使用 var moonSur

4091

从理论到实践:全面解析Cmk(设备能力指数)的应用与优化

本文全面解析了设备能力指数Cmk的核心概念、计算逻辑与关键应用场景。Cmk作为衡量设备本身固有加工能力的黄金标准,在设备验收、大修后验证及过程能力根因分析中至关重要。文章通过实战案例,详细阐述了执行Cmk测试的“五大固定”黄金法则、数据计算分析方法,并提供了Cmk不达标时的系统性排查与优化策略,帮助制造企业实现预防性质量管理。

jump7的博客 522

器件物理与工艺:揭秘MOSFET寄生电容Cgd/Cgs的微观结构及演变

本文深入解析MOSFET寄生电容Cgd与Cgs的微观物理结构及其在开关过程中的非线性演变,重点探讨由Cgd反馈效应引发的米勒平台现象。通过分析器件物理机制与先进工艺技术,揭示电容特性对开关性能的影响,并提供工艺优化与设计策略,助力提升高频功率应用的效率与稳定性。

desk3的博客 1083

away3d显示Plane(基础 二)

我们直接说新增的代码。 下面定义了一个away3d自带的几何体plane也就是一个"板子"。 var plane:PlaneGeometry = new PlaneGeometry(100,100); //定义一个plane,也就是一个平面对象 var color:ColorMaterial = new ColorMaterial(0xffaacc); //定义一个彩...

weixin_30840573的博客 159

无源低通滤波器

无源RC滤波器“滤除”不需要的信号,因为它们分离并允许仅通过其频率的正弦输入信号,最简单的是无源低通滤波器网络。在低频应用(高达100kHz)中,无源滤波器通常使用简单的RC(电阻-电容)网络构建,而高频滤波器(高于100kHz)通常由RLC(电阻-电感-电容)元件制成。无源滤波器由电阻器、电容器和电感器等无源元件组成,没有放大元件(晶体管、运算放大器等),因此没有信号增益,因此它们的输出电平始终小于输入。滤波器是根据它们允许通过它们的信号的频率范围来命名的,同时阻挡或“衰减”其余部分。

weixin_44448586的博客 1万+

away3d 4.1 贴图总结

TextureMaterial(texture:Texture2DBase = null, smooth:Boolean = true, repeat:Boolean = false, mipmap:Boolean = true)//贴图,平滑,重复,启用mipmap贴图 Creates a new TextureMaterial. 1.贴图相关 在三维计算机图形的贴图渲染中有一个...

weixin_33743703的博客 227

uniapp 全局弹窗

功能详解1.有的组件需要全局调用,不想要在一个页面里面一个个引入,现在就需要写入到全局中,直接全局触发。2.通过 $rechargePop就能全局触发 充值的弹窗实现步骤一、先把组件封装好,如 rechargePop组件位置 components/RechargePop/index.vue ,就定义一个methods open方法就可以 二、在同级别路径下定义一个 index.js 三、引入到main.js 四、全局调用this.$rechargePop(); 就能弹出那个弹窗

weixin_42066070的博客 657

【SpringBoot笔记44】SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置)

在SpringBoot应用开发中,一般情况下,都是只会配置一个数据源信息,之后整个工程都是对当前数据源进行增删改查的操作。但是,在实际开发里面,也有可能会遇到多数据源的情况,例如:当前工程中除了需要访问自己应用的数据库,还需要直接连接第三方系统的数据库进行业务处理,这种情况下,就需要进行多数据源的配置。SpringBoot考虑到了这一点,所以它是支持多数据源的配置的,下面介绍一下如何配置多数据源。

✅ Java 开发工程师 1116

away3d中创建中文3d字体

<br />要实现中文字体 我们只能用矢量图 也就是将文字转化为矢量图<br /> <br />挤出类 TextExtrusion  <maya中的挤出命令><br />demo:<br />http://www.swfcabin.com/open/1286850933<br /><br />http://www.swfcabin.com/open/1286851117<br /> <br /><br /><br />用法 :<br /><br />var _mesh:Mesh = import3d.chi

请移架http://blog.sina.com.cn/u/2765457197 2245

DOTS 性能基石:为什么传统 Unity 代码难以满足现代游戏需求?(DOTS 系列教程 · 第1篇)

本文探讨了Unity游戏开发中的性能优化问题,指出性能问题不应在最后才考虑,而应贯穿整个开发过程。文章分析了性能问题的三大表现(渲染开销、物理模拟、游戏逻辑),并解释了依赖硬件升级的不可行性。重点剖析了传统Unity代码性能低下的六大根源:垃圾回收卡顿、编译器优化不足、多核利用不足、数据结构和代码缓存不友好、过度抽象等问题。最后指出Unity项目中常见的反模式,如主线程垄断、内存碎片化等,为后续学习DOTS高性能架构解决方案奠定基础。

分享知识,拥抱变化 151

Flex 4+Away3D环境配置

前一段时间学习Flash Builder 4和Away3D,做了一些小程序,在这对Flash Builder 4和Away3D做一点小总结,为了以后再使用,提供些资料。         一、Flash Builder 4简介: Flash Builder 4 简称Flex 4,是Adobe公司的软件,编程语言是AS3和HTML,AS3和HTML显示了完美兼容,html可以调用AS3,AS3也可

恋上蛋炒面的专栏 2331

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

away3D基础6-颜色材质

在前面的教程里我们已经接触到材质。这篇教程将探讨如何使用一些基本的材质:color materials, phong shader 和lighting 为3D元素添加颜色与线框材质会让3D元素更有三维的感觉。本教程要解释的是在流行的3D引擎away3D里的一些基础的颜色材质的使用。 先决条件 本教程建立在我们别的教程基础之上。假如你是flash3D菜鸟,你可能会先要去看看这些教程。...

dnukjz5627的博客 217

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Away3D-1 模型加载与光照

1 package 2 { 3 import away3d.materials.lightpickers.StaticLightPicker; 4 import flash.display.*; 5 import flash.events.*; 6 import flash.ui.*; 7 import...

TCTC5840865的博客 261

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Away3d 基础 1 ---对一个简单类的解释

原英文地址: http://www.flashmagazine.com/Tutorials/detail/away3d_basics_a_simple_away3d_class_explained/ 本教程是首部对Away3D (一款能够应用于Flash或Flex平台中的强大的实时三维引擎)进行系统介绍的文章。在此将对Away3D进行逐字逐句的解释,对于那些依然使用Acri...

dnukjz5627的博客 117

Flash 3D引擎Away3D完全指南:从零搭建你的第一个3D世界(入门必读)

Away3D 是一款免费开源的 Flash 3D 引擎,专为 Flash Player 11 的 Stage3D 硬件加速接口打造,让你在浏览器中就能构建真实的三维场景。本指南面向零基础新手,带你认识 Away3D Flash 3D 引擎的核心概念,并用不到 20 行代码搭建出你的第一个 3D 世界,最后附上功能地图与常见坑位提示,是入门必读的完整教程。 ## 一、认识 Away3D:免费开源的

gitblog_00003的博客 701

Away3D 开源3D引擎项目推荐

Away3D 开源3D引擎项目推荐 1. 项目基础介绍和主要编程语言 Away3D 是一个开源的实时3D引擎,专为 OpenFL 平台开发。该项目的主要编程语言是 Haxe,Haxe 是一种跨平台的编程语言,能够编译成多种目标语言,如 JavaScript、C++、Java、C# 等。Away3D 通过 Haxe 实现了跨平台的支持,使得开发者可以在多个平台上运行他们的3D应用程序。 2. 项目的...

gitblog_00743的博客 431

Away3d基础 3 -摄像机

原英文地址:http://www.flashmagazine.com/Tutorials/detail/away3d_basics_the_cameras/ 相机camera类是观察3D世界必须借助的工具.其作用与现实世界里的相机一样,3D世界里的照相机应用通视原理将3D物进行缩放、聚焦、定位等。在本教程中你将会学到away3d里的三种类型的"相机" 无论你想在Away3D里做什...

dnukjz5627的博客 245

Away3d 基础4 -操控三维物体

与二维flash里的物体(译注:指电影剪辑实例等)一样,也可以对三维物体进行定位、旋转、缩放、组合等操作。本篇教程还会告诉你如何在三维空间里使用你惯用的渐变包来渐变你的三维物体。 必备知识 本教程建立在我们的另一个Away3D 教程基础之上。如果你是个菜鸟建议你先该教程的基础部分。每个例子都有一个完整的源文件,点击链接下载源代码,研究下那些as代码是如何完成任务的。注意所有这些例...

dnukjz5627的博客 207

Away3D 开源项目常见问题解决方案

Away3D 开源项目常见问题解决方案 1. 项目基础介绍和主要编程语言 Away3D 是一个开源的实时 3D 引擎,用于为视频游戏和应用程序开发交互式 3D 图形。它支持跨平台目标(Flash、HTML5、iOS、Android、Windows、Mac、Linux),并提供多种图形特性,如纹理映射、光照、阴影映射、模型加载、骨骼动画、蒙皮动画、3D 粒子系统和线条绘制等。 该项目的开发主要使用 ...

gitblog_00224的博客 793

Away3D实例教程 - 贴图(EnviroBitmapMaterial)

本篇包含内容: 3D基本元素 - 圆环 环境位图材质EnviroBitmapMaterial。 转载请注明出处:nooon.cnblogs.com  本例会用到的图片:               先看本例子最终效果:点击观看 从例子里我们看到,圆环反射环境里的金色光泽,但你细心观察可以发现不是真的实时反射。 再看完整代码(Flex): 1: package...

evaima的专栏 182

away3d 4x的阴影方法们

要通过计算机创建真实可信的图像,形体,灯光,阴影,这三要素必不可少。这里介绍一下away3d中提供的阴影解决方案,以及每种方案的用法作为备忘录; 要使用阴影,首先需要知道已下几点: 1:away3d阴影是通过Material的shadowMethod属性添加的; 2:要添加阴影必须在场景中提供光源,away3d中提供了两种灯光类型-PointLight和DirectionalLight。只有DirectionalLight能产生阴影; 3:尽管多个光源能在场景中共同作用,但当PointLight和Direc

asahix2013的博客 319
上一篇: Away3d学习笔记1-三维世界的四个基本构件
下一篇: Away3D 基础5 - 3D基本元素(2)
jamesjun
博客等级 码龄19年 25粉丝 33原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值