Away3d学习笔记1-三维世界的四个基本构件

3D Slicer简单三维重建 前言 本文章使用3D Slicer对输入数据进行三维重建,结合别人的经验以及自己的摸索,写成这一篇文章,只是简单的记录一下自己做过的事情,并没有多少深入的去研究,对一些东西可能理解的不够好,希望读这篇文章的人能够谅解,不喜勿喷。 参考资料 CT图片三维重建方法之3DSlicer篇 临床影像实践 B站视频–血肿及中线测量 补充说明 获取切片的间距,这里我用的是python的代码来实现的,所用的图片是使用LITS数据集由NII文件转为png图片来实现的,NII转PNG图片在我的博客另外一篇文章里面有,这里获取切 阅读详情

flash 3d,没近距离接触她之前我感觉她特神秘、特深奥;加之flash3d 引擎国外独大的局势,中文资料少之又少,flash3d对于国内用户来说,她真的很不平易近人!直至硬着头皮啃英文资料开始学习away3D(有很多主流flash3d引擎,如pvd3d、away3d、sandy。。但网上传away3d架构清晰,易学。所以我选她)。原来只要懂得as3,用away3D做三维东东并没有想象中的复杂。出于加深学习目的我写下这套笔记,同时希望可以给flash3d初学者带来帮助(本笔记基于away3d,但所有引擎机理都是差不多的,所以也适合其他引擎用户阅读)。

 

如同人是由骨架、肌肉、呼吸系统、血液循环系统这些必要东西构成一样,away3d世界,以下是必须的部分: 

1、view 视口

2、scene 场景

3、camera 摄像机

4、3D物体

其中3D物体就是那些我们想要在三维世界里显示的内容。有内容了就要有放置“内容”的“舞台”,这个“舞台”就是场景。当然还要有摄像机把场景里的3D物体“录”下来。有了这些似乎万事俱备,但还欠东风!这个东风就是“视口”.视口相对前三者要难理解的多,我们不妨这样想下:”录“下来的“影像”不也得要通过电视机我们才能看到吗?对,视口你可以大概看成是电视机屏幕。

 

我把这四者称为三维世界的四个基本构件。

 

下面通过实例,说明away3d的基本构架。先看该例子的效果:

点击观看

再看源代码:

package{

         //导入要用的类

         import flash.display.Sprite ;

         import flash.events.Event;

         import away3d.containers.View3D;

         import away3d.cameras.Camera3D;

         import away3d.containers.Scene3D;

         import away3d.primitives.Sphere;

         //定义输出flash高宽、背景等

[SWF(width="500",height="400",frameRate="60",backgroundColor="#FFFFFF")]

 

public class basicObjects extends Sprite{

                   //申明几个后面会用到的变量;

                   private var view:View3D;

                   private var cam:Camera3D;

                   private var sce:Scene3D;

                   private var sphere:Sphere;

                  

                   public function basicObjects():void{

                            //!!!!!新建四大基本构件!!!!!!!!!

                            //新建摄像机

                            cam=new  Camera3D();

                            //设置摄像机位置,为什么要设置、如何设置这里先不要关心

                            cam.z=-1000;

           

                            //新建场景

sce=new  Scene3D();

    //新建视口,并指定视口使用的摄像机、场景等。

                            view=new  View3D({camera:cam,scene:sce,x:250,y:200});

                            //新建3D物体,这里新建了一个球Sphere,sphere是away3D内置的一种3D基本元素。

                            sphere=new  Sphere();

            

                            //!!!!!!四大基本构件之二:视口与3D物体一定加入显示列表!!!!!

                            //将view添加到舞台、sphere添加到场景。

                            addChild(view)

                            sce.addChild(sphere);

 

                           //!!!!一定要“渲染”才行哟!!!!!!

                           //渲染视口

                            view.render();

                      }

         }

        

}

 

看过加注释的源代码,大家对这代码的理解也就八九不离十了。下面对这些代码作必要的分析。

 

代码主要可分为三步:

一、新建四大基本构件。

既然是三维世界里不可或缺的四大基本构件,我们当然要把它创建出来。

二、显示view与3D物体

与flash里一样,必须把要显示的对象实例添加到各级显示列表里。view添加到舞台、3D物体(本例是球sphere)添加到场景。

三、渲染视口

电脑里的“三维”其实不是真的三维。你想呀,电脑屏幕是个平面当然不可能像科幻片里的全息音像那样呈现三维!电脑里的三维实质是通过“透视法”将三维物体“投影”到二维屏幕,见下图。在视口没有用其方法(view.render();)之前,所有数据都是三维数据,渲染就是将三维数据“透视“成二维以便能显示在二维的屏幕上。记住,最后一步——渲染!它是实现的电脑三维魔力的所在。

 

 

本图来源:flb3D.com

Coin3D三维可视化教程1 上次介绍了Coin3D的安装和在VS 2019 +QT下的配置,后面讲逐步学习这个库的使用,采用的主要材料的The Inventor Mentor中文版。书中的代码时在Mac平台的开发,这里采用的用的是Windows,SoXt是Coin3D在Mac平台上的界面绑定库,SoQt是与Qt的绑定库,SoWin是用MFC的绑定库。 上次安装的测试中,使用了SoQtExaminerViewer这个常用的交... 阅读详情

相关推荐

3D-LLM:将三维世界注入大型语言模型

3D-LLM技术的主要应用场景涵盖了从3D场景描述、问答、任务分解到导航等多个方面,适用于虚拟现实(VR)、增强现实(AR)、机器人导航、智能家居等需要结合3D场景理解和自然语言处理的领域。通过将3D信息注入大语言模型,3D-LLM能够更好地理解和推理3D物理世界,从而提供更智能化的服务。

qq_35480722的博客 1479

AVM环视算法 3D效果 全方位视图 韩国VADAS 让你感受不一样的360全景

NEXTCHIP 我们是将日常生活中所需要的产品,制作成为半导体的无设备半导体企业。 随着对个人安全、社会的财产以及信息保护的安防产业的需求不断增加,视频安防正在成为提高个人生活质量的新标准。NEXTCHIP一直独立开发视频安防市场中所需的半导体技术。我们会以这些技术为基础,努力成为在激烈的全球生存环境中,能够帮助国家提高IT竞争力的企业。我们追求,能够帮助大家提高生活质量的技术开发。我们会开发出...

guanyumingtong的博客 4391

掌握Away3D Core FP9:构建3D应用的实践指南

本文还有配套的精品资源,点击获取 简介:Away3D是基于ActionScript 3的开源3D引擎,专为Adobe Flash Player设计。FP9版本的核心运行库——away3D-core-fp9-master,为Flash CS3用户提供强大的3D图形处理能力,支持丰富的交互式3D应用构建。本文深入解析了Away3D Core FP9的核心组件和实际应用,包括Sc...

weixin_42311427的博客 1546

Away3d学习笔记2-三维世界的四个基本构件

如同人是由骨架、肌肉、呼吸系统、血液循环系统这些必要东西构成一样,away3d世界,以下是必须的部分:view 视口 、scene 场景 、camera 摄像机 、3D物体. flash 3d,没近距离接触她之前我感觉她特神秘、特深奥;加之flash3d 引擎国外独大的局势,中文资料少之又少,flash3d对于国内用户来说,她真的很不平易近人!直至硬着头皮啃英文资料开始学习aw...

dnukjz5627的博客 163

从零开始:使用VMOS Pro和Xposed绕过APP环境检测的完整指南

本文详细解析了使用VMOS Pro和Xposed框架绕过APP环境检测的完整技术方案,包括模拟器检测、Root环境检测和Hook框架检测的对抗方法。通过实战案例和代码示例,展示了如何利用Xposed Hook技术拦截检测逻辑,特别针对360加固等保护技术提供了解决方案。

ee345的博客 734

LVGL 9.4 性能调优实战:如何通过脏区合并与tile分块,让你的嵌入式UI流畅度翻倍

本文深入探讨LVGL 9.4中的性能优化技术,重点介绍脏区合并与tile分块如何显著提升嵌入式UI流畅度。通过实战案例和源码分析,详细解析局部刷新策略、显示框架调优及性能瓶颈诊断方法,帮助开发者在STM32、ESP32等资源受限设备上实现丝滑的UI体验。

weixin_28678831的博客 450

三维世界的四个基本构件

如同人是由骨架、肌肉、呼吸系统、血液循环系统这些必要东西构成一样,away3d世界,以下是必须的部分:view 视口 、scene 场景 、camera 摄像机 、3D物体. flash3d,没近距离接触她之前我感觉她特神秘、特深奥;加之flash3d引擎国外独大的局势,中文资料少之又少,flash3d对于国内用户来说,她真的很不平易近人!直至硬着头皮啃英文资料开始学习away3D(

Zicheng's tech blog 1055

Wireshark 4.6 TCP 流图解析:3种拥塞控制算法可视化对比

本文深入解析Wireshark 4.6的TCP流图功能,通过可视化对比Reno、Cubic和BBR三种主流拥塞控制算法的性能特征。文章提供详细的实验环境搭建方法、流图分析工具使用技巧,以及算法调优建议,帮助网络工程师优化TCP性能。

weixin_29291573的博客 446

Away3d学习笔记4-View3D(视口)

前面<<三维世界的四个基本构件>>将Flash3D影片比喻成电视,力求能形象地阐述Away3D三维世界四个必备"物件"之间逻辑关系。其中"视口"被比喻成电视机屏幕。我们观众就是通过这个屏幕才能看到用摄影机拍摄下来的景物(3D物体)。本篇进一步讲解View3D几个重要的参数设置。 创建View3D Away3D里视口的类名是View3D。与as里创建任何实例...

dnukjz5627的博客 279

从SPICE到电磁场:非线性器件在CST场路协同仿真中的建模艺术

本文深入探讨了非线性器件在CST场路协同仿真中的建模技术,重点分析了SPICE模型与电磁场仿真的集成方法。通过对比线电流模型和面电流模型的优缺点,结合实际案例展示了二极管阵列在电磁散射调控中的应用,为工程师提供了优化仿真精度与效率的实用技巧。

pandas7gardener的博客 198

保姆级教程:在STM32H750VBT6上跑起来CMSIS-DSP库(基于CubeMX+Keil)

本文详细介绍了在STM32H750VBT6微控制器上配置和运行CMSIS-DSP库的全过程,包括开发环境搭建、CubeMX工程配置、Keil工程设置以及DSP库的实际应用示例。通过FFT频谱分析和音频均衡器等实战案例,展示了如何利用STM32H750VBT6的硬件FPU加速DSP运算,提升实时信号处理性能。

weixin_30236595的博客 457

Away3d材质实战——旋转的地球

这篇文章已经过期,请使用最新版的Away3d并查看相关资料 使用现有的flash player API能够实现三维旋转的地球,但是比较麻烦,主要使用的是flash player10新增加的绘图API drawTriangles,这里我使用Away3d来实现旋转的地球。 Away3d能使用多种材质,都在Away3d.materials.*包里面,这个包里面有不下20种材质,它能够

4634

Far planner 代码系列(35)动态障碍物预处理_激光雷达部分

主要讲解动态障碍物在激光雷达部分的剔除机制

博客 1057

Away3D学习笔记3--3D世界的坐标系

Technorati 标签: 3D坐标 Away3D里的坐标有两种,一种是世界坐标;一种是自身坐标。 通过《笔记2》我们知道在away3D世界里我们要做些什么,在场景里添加3D物体就是工作之一。那么你有没有想过添加3D物体时,如何指定其在三维空间的具体位置呢?后面还会学到3D元素的移动、旋转。那么我们又该如何确定3D元素发生了移动旋转呢?初中物理我学过要确定一物体的运动状态我们首...

dnukjz5627的博客 178

5-EP4CE10F17C8-引脚配置

EP4CE10F17C8-引脚配置

weixin_44479192的博客 719

Spring AI从入门到精通:构建智能Spring应用的全面指南

随着人工智能技术的快速发展,将大语言模型(LLM)与企业应用集成已成为趋势。Spring AI作为Spring官方推出的AI集成框架,为开发者提供了便捷、标准化的方式来构建智能应用。本文将从基础概念到高级应用,全面介绍Spring AI的核心功能与实践技巧。Spring AI 是 VMware 于 2023 年推出的开源框架,旨在简化大语言模型(LLM)与 Spring 应用的集成。它提供了统一的 API 抽象,支持多种 LLM 供应商,包括 OpenAI、Azure OpenAI、Hugging Face

qq_36929638的博客 1067

Away3d 基础4 -操控三维物体

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

dnukjz5627的博客 207

VC中sqlite的使用

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

三维世界的四个基本元素

flash 3d,没近距离接触她之前我感觉她特神秘、特深奥;加之flash3d 引擎国外独大的局势,中文资料少之又少,flash3d对于国内用户来说,她真的很不平易近人!直至硬着头皮啃英文资料开始学习away3D(有很多主流flash3d引擎,如pvd3d、away3d、sandy。。但网上传away3d架构清晰,易学。所以我选她)。原来只要懂得as3,用away3D做三维东东并没有想象中的复杂。...

weixin_30544657的博客 499

深度学习工具包 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")

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Away3d 三维物体的操控

Away3d 三维物体的操控 三维空间里的移动 在Away3d所有三维物体都可以通过设置x/y属性产生移动,象二维里一样。当然三维里还可以设置z值。 obj.x = 100;obj.y = -100;obj.z = 100; X/y/z的值可正可负,且是相对于三维世界、视口的中心。 你可以用moveTo()方法和position属性不费吹灰之力设置好x/y/z值。 obj.position = new Number3D(100,-100,300);obj.m

westcomxm的专栏 2463

蓝牙模块HM-10手册

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

让大模型理解三维世界,NIPS论文《3D-LLM: Injecting the 3D World into Large Language Models》简要解读

本文是关于NIPS最新论文《3D-LLM: Injecting the 3D World into Large Language Models》的简要技术介绍。大模型已经在多个领域斩头露角,但是在三维领域,目前的工作并不算多。本文将三维与大语言,提出了新颖的数据集和方法。

qq_37261357的博客 5434

Away3D学习笔记2--3D世界的坐标系

http://blog.youkuaiyun.com/nooon/article/details/4174413 通过《笔记1》我们知道在away3D世界里我们要做些什么,在场景里添加3D物体就是工作之一。那么你有没有想过添加3D物体时,如何指定其在三维空间的具体位置呢?后面还会学到3D元素的移动、旋转。那么我们又该如何确定3D元素发生了移动旋转呢?初中物理我学过要确定一物体的运动状态我们首先要选一个参照物。

anderberte 1067

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

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

gitblog_00003的博客 701

Away3D 开源项目使用手册

Away3D 开源项目使用手册 1. 项目介绍 Away3D 是一个成熟的、开源的 ActionScript 3 引擎,专注于在Adobe Flash Player 和 Adobe AIR 平台上创建互动的三维图形。随着时间的发展,它已经扩展到支持更多平台,利用Haxe语言实现跨编译到JavaScript等目标。该引擎通过Stage3D提供GPU加速渲染,确保了高性能的3D体验。Away3D提供了...

gitblog_00557的博客 1195
上一篇: Away3d 基础4 -操控三维物体
下一篇: Away3D基础5-3D基本元素(1)
jamesjun
博客等级 码龄19年 25粉丝 33原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值