`

[转]使用Flare3D在FB中搭建第一个Molehill项目

阅读更多

http://www.adobe.com/cn/devnet/flash/articles/molehill_flare.html

 

本文介绍如何使用第三方开发框架Flare 3D 2.0在Flash Builder中创建一个基于Molehill 3D的项目

需要做的准备如下:

  1. Flex SDK Hero
  2. Flash Player 11,0,0,58 Incubator
  3. playerglobal.swc
  4. Flare 3D 2.0

按照下面的几步创建项目:

安装Flex SDK Hero

  • 请到这里*下载Hero build 19786

配置Flex SDK

  • 将下载后的Hero(版本19786)拷贝到Flash Builder的安装目录中并命名:

    [Flash Builder安装目录]/sdks/4.5_incubator

  • 这里下载用来开发Incubator项目的playerglobal.swc,然后按照这个地址把playerglobal.swc放进去:

    [Flash Builder安装目录]/sdks/4.5_incubator/frameworks/libs/player/11.0/playerglobal.swc

安装Incubator

  • 请到这里了解Incubator的相关信息并下载安装,它是Flash Player 11的一个预览版,安装方法等同于历次Flash Player的更新。

新建项目

打开Flash Builder,新建一个ActionScript项目。

右键点击项目名称后进入Properties面板,在左边的列表中选择ActionScript Compiler。然后在右上角点击"Configure Flex SDKs"。

点击Add增加一个Flex SDK,填入刚才新建的SDK路径后确定。

同样是在ActionScript Compiler,在上面的Flex SDK Version中选择刚刚添加的SDK,然后在下面的Additional compiler arguments里填入一项新的参数:-swf-version=13。

下载安装Flare 3D开发框架

  • 请到这里*注册申请,便可以免费获得Flare 3D 2.0的开发框架。

将bin文件夹里所有内容拷到刚才新建的项目中的bin-debug文件夹,这里包括范例所使用的贴图和3D模型文件,将examples文件夹里所有内容(一堆AS文件和两个包)拷到项目的default package下:

测试范例

OK,现在我们就可以打开Flare 3D下载包中自带的范例了,在src/default package中Test01-Test14每一个都是一个小例子,包括了如何导入DAE和UV贴图建模,如何创建动画、粒子以及如何增加鼠标控制和碰撞检测等等。一定要试试啊,由于启用了硬件加速,体验非常的流畅。

从代码上看也非常的简单,这里我举一个导入模型和贴图的代码,竟然只有短短的几行:

//指定贴图的路径
ColladaLoader.texturesFolder = "textures";
//导入模型
scene = new Viewer3D( this, "car.dae" );
scene.camera.setPosition( 0, 0, -150 );

导入DAE和贴图后的效果图:

对于碰撞检测的情况也不复杂:

private function completeEvent(e:Event):void
{
// 定义一个碰撞检测集
collisions = new SphereCollision( player, 15, new Vector3D( 0, 15, 0 ) );

//设定碰撞级别
collisions.addCollisionWith( level );

//添加刷新事件侦听
scene.addEventListener( Scene3D.UPDATE_EVENT, updateEvent );
}

private function updateEvent(e:Event):void
{
//键盘控制小人移动
if ( Input3D.keyDown( Input3D.RIGHT ) ) { player.rotateY( 5 ); player.frameSpeed = 1; }
if ( Input3D.keyDown( Input3D.LEFT ) ) { player.rotateY( -5 ); player.frameSpeed = 1; }
if ( Input3D.keyDown( Input3D.UP ) ) { player.translateZ( 4 ); player.frameSpeed = 1; }
if ( Input3D.keyDown( Input3D.DOWN ) ) { player.translateZ( -4 ); player.frameSpeed = -1; }

//键盘按下后,小人儿播放走路的动画
if ( Input3D.keyDown( Input3D.UP ) ||
Input3D.keyDown( Input3D.DOWN ) ||
Input3D.keyDown( Input3D.LEFT ) ||
Input3D.keyDown( Input3D.RIGHT ) )
player.play();
else
player.stop();

//添加重力加速度
player.y -= 3

//碰撞检测
collisions.slider();

/****控制摄像头跟踪 ****/

//设置摄像头位置尾随小人儿.
Pivot3DUtils.setPositionWithReference( scene.camera, 0, 600, -600, player, 0.1 );

//设置摄像头镜头对准小人儿.
Pivot3DUtils.lookAtWithReference( scene.camera, 0, 0, 0, player );
}

碰撞检测范例贴图

下载的Flare 3D包中还包括一套API开发文档,虽然全英文且不够详细,但应该可以满足第一步的需要,相信随着框架的不断完善,这些开发文档以及社区中的热心群众们会给我们提供更为详尽的资料。

最后,有一点特别重要,请在发布之前修改一个值,打开html-template/index.template.html, 在调用params.allowfullscreen = "true"的下一行添加一行代码 params.wmode="direct";
如果你不设置这个,那么硬件加速的功能就不会开启,如果你使用的是Flash Develop或者Flash Pro来测试Incubator,也一定不要忘记这一项。

关于作者

李 鹏(James Li),2001年毕业于吉林大学商学院,同年接触Photoshop,Illustrator和Flash。毕业后一直在从事Flash的设计与开发,在教育、IT、互联网广告等不同领域里做过4年的Flash设计师和5年的RIA程序开发,期间曾在2006与2008年两次去德国工作,对Flash前端交互设计有独到的见解和丰富的经验。

 

分享到:
评论

相关推荐

    flare3d 2.0 正式版

    1. **flare3d_3dmax_plugin_v2_beta.exe**:这是Flare3D的3ds Max插件,允许用户在3ds Max中创建和导出模型,直接应用于Flare3D项目,简化了3D内容的制作流程。 2. **bin**:这个目录包含了Flare3D引擎的运行时库和...

    flash 3d 源码 (flare3d 引擎)

    综上所述,Flare3D引擎在Flash 3D游戏开发中的应用,结合Stage3D的强大功能,为开发者提供了一个高效且易用的平台,用于创造引人入胜的3D互动体验。"3D小车游戏demo"是这一技术的生动实例,展示了Flare3D在游戏设计...

    flare3D引擎使用心得

    但考虑到 Flash 曾经在网页互动内容中的重要地位,Flare3D 对于那些仍然依赖 Flash 的项目仍然是一个极好的选择。 总的来说,Flare3D 是一款针对 Flash 3D 开发的优秀工具,尤其适合希望快速创建3D游戏和交互体验的...

    FLARE3D安装包

    8. `resources` 文件夹:可能存储了FLARE3D的资源文件,如纹理、模型或其他3D元素,供开发者在自己的项目中使用。 9. `docs` 文件夹:通常包含了更详细的文档或教程,可能包括HTML格式的在线文档。 10. `bin` ...

    Flare3d国外先进3d flash引擎

    Flare3D是一款在国外备受推崇的3D Flash引擎,它为开发者提供了在Adobe Flash平台上创建交互式、高性能的3D内容的可能性。这款引擎以其强大的功能和易用性,深受那些致力于制作复杂3D游戏,尤其是像赛车类游戏的...

    flare3d 2.7.1完整开发包,包括官方example

    4. **Plugins**:例如"flare3d_3dmax_plugin_v2.7.0.exe"是3D Max插件,它允许用户在3D Max中创建和导出模型,然后在Flare3D中使用。这种集成大大简化了内容创建流程。 5. **Integration with Adobe Tools**:...

    Flare3D最新版本(2.5.17b_Beta)swc

    在导入`Flare3D_2.5.17b_Beta_Trial.swc`文件到项目中后,开发者可以开始探索新版本带来的功能,并通过实践进一步了解如何利用它们来提升3D项目的质量和性能。同时,建议查阅官方文档或在线教程,以获取最准确的使用...

    flare3D引擎实例源码

    1. 基础几何体:这些示例可能包括创建基本3D形状(如立方体、球体、圆柱体等)的代码,通过源码我们可以了解如何在Flare3D中构建3D对象。 2. 纹理映射:Flare3D支持2D纹理贴图到3D模型表面,源码中可能包含如何加载...

    Flare3D游戏特效教程

    Flare3D游戏特效教程:火拳阿宝 功夫熊猫阿宝的模型相信有些兄弟已经有了,现在我们来做一个有趣的东西,让阿宝双手祭起火焰,打起功夫来更加有气势。 燃烧吧,阿宝! 我们在玩游戏的时候,经常能看到一些粒子特效...

    [转] [Flash/Flex] 使用Flare3D来实现Flash 3D的推箱子游戏原型---纹理

    这篇教程主要介绍如何使用Flare3D在Flash/Flex环境中创建一个3D推箱子游戏的原型,重点关注3D纹理的应用。Flare3D是一个强大的工具,它为Flash开发者提供了将2D内容转换为3D场景的能力,使得在Flash平台上开发复杂的...

    Flare3D地图模型:魔兽世界的奥格瑞玛

    本模型资源——"魔兽世界的奥格瑞玛",正是基于Flare3D引擎创建的一份详细地图模型,让开发者能够快速地在Web环境中重现《魔兽世界》中著名的兽人城市奥格瑞玛。 首先,让我们深入了解Flare3D。Flare3D是一款基于...

    flare3d 2.7.1开发包(官网下载)

    在下载的压缩包中,"flare3d.as3proj"是一个项目文件,用于在Flash Builder或Flash Develop等集成开发环境中打开并管理Flare3D项目,是开发流程的起点。 "flare3d 2.7.1.dmg"和"flare3d 2.7.1.exe"是针对Mac OS X和...

    Flare3D_2.8.5_Trial.swc

    找了好久才找到的 Flare3D_2.8.5_Trial.swc 库

    Flare3D使用FLSL的海洋波浪例子

    在这个例子中,我们聚焦于如何利用FLSL(Flare3D Shader Language)来实现逼真的海洋波浪和火焰燃烧效果。 FLSL是Flare3D专用的着色语言,类似于OpenGL的GLSL或DirectX的HLSL,用于编写3D模型的表面着色器。通过...

    flash3d的molehill参考资料

    Flash 3D技术是Adobe开发的一种在Web上实现三维图形渲染的技术,而Molehill则是Flash 3D技术的一个重要里程碑。Molehill是Adobe Flash Player的一个底层API,提供了对硬件加速3D图形的支持,使得开发者能够创建出...

    基于flare3d引擎的赛车游戏的毕业论文.doc

    * Flare3d引擎在赛车游戏中的应用:Flare3d引擎在赛车游戏中的应用场景和优点。 * Flare3d引擎的优点:Flare3d引擎的优点,包括性能优化、高效渲染和跨平台支持。 5. 3D模型加载和渲染 * 3D模型加载:加载3D模型的...

    flare3d-2.8.4-Trial.swc

    flash 3D开发技术的swc库,很不错的!

    flare3dplugin

    flare3d_3dmax_plugin_v2 max插件 应用于游戏制作

    flare介绍文档.docx

    为了开始使用Flare,首先需要搭建一个适合的Flash开发环境。根据官方推荐,有两种主要的方法来设置开发环境: ###### 2.1.1 使用Adobe Flex Builder - **优点**:这是一个全面的ActionScript/Flex开发环境,支持...

    Unity3d特效粒子 多彩烟花特效包 Flare Volume 1.

    "Flare Volume 1"是一个专门针对Unity3D设计的特效粒子包,它提供了多种多彩的烟花特效,旨在为开发者带来更加生动、绚丽的游戏或应用体验。 粒子系统在Unity3D中是一个组件,通过模拟大量小对象(粒子)的行为来...

Global site tag (gtag.js) - Google Analytics