查看: 2549|回复: 5
打印 上一主题 下一主题

[便民服务]away3D入门教程_代码说话

[复制链接]

5472

主题

6

听众

1万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
76544
精华
23

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

跳转到指定楼层
楼主
发表于 2012-8-29 11:48:42 |只看该作者 |倒序浏览
应驰骋的风强烈要求,铁锹我找到神奇的away3D入门教程了,回击一下那个风子。



有NX人士表示,“以前接触过papervision3D,最近接触了away3D感觉比papervision3D简单。”是真是假?纳金网的纳米们最聪明了,自己学学看就知道了。



现在把教程发上来了,看完聊聊啊~



代码一:

import away3d.containers.*;// View3D所在位置

import away3d.core.base.*;// Object3D所在位置

import away3d.primitives.*;// Sphere所在位置

import away3d.core.math.*;// Number3D所在位置

// 创建三维试图方式

var view:View3D = new View3D({x:300, y:200});

addChild(view);

// 创建一个球体

var sphere:Object3D = new Sphere({material:"blue#cyan", radius:250, segmentsW:12, segmentsH:9, y:50, x:10, z:10});

view.scene.addChild(sphere);

// 设置摄像机的位置/**/

view.camera.position = new Number3D(1000, 1000, 1000);

view.camera.lookAt(sphere.position);

//添加运动事件

addEventListener(Event.ENTER_FRAME, onEnterFrame);

function onEnterFrame(event:Event):void {

    // 将球体绕Y轴旋转

    sphere.rotationY = getTimer() / 100;

    view.render();

}





与papersion3D不同的是



package {

    import flash.display.Sprite;

    import flash.events.Event;

    import org.papervision3d.cameras.Camera3D;

    import org.papervision3d.scenes.MovieScene3D;

    import org.papervision3d.materials.MaterialsList;

    import org.papervision3d.materials.WireframeMaterial;

    import org.papervision3d.core.proto.MaterialObject3D;

    import org.papervision3d.objects.DisplayObject3D;

    import org.papervision3d.objects.Sphere;

    [SWF(width='200',height='200',backgroundColor='0xFFFFFF',frameRate='30')]

    public class Main extends Sprite

    {

        private var _container :Sprite;

        private var _scene :MovieScene3D;

        private var _camera :Camera3D;
        private var _material:MaterialObject3D;

        private var _displayObjisplayObject3D;

        public function Main()

        {

            Init3D();

        }

        private function Init3D():void {            

            // 创建3D舞台的容器

            _container = new Sprite;

            _container.x = 100;

            _container.y = 100;

            addChild( _container );

            // 创建3D舞台

            _scene = new MovieScene3D( _container );

            // 创建摄像头

            _camera = new Camera3D();

            _camera.z = -500;

            _camera.zoom = 5;

            // 创建一个线框材质

            _material = new WireframeMaterial(0x000000);

            _displayObj = new Sphere(_material,  80, 10, 10);

            _scene.addChild(_displayObj);

            this.addEventListener(Event.ENTER_FRAME, OnEnterFrame);

        }

        private function OnEnterFrame(event:Event):void {   

            _displayObj.rotationX += 5;

            _displayObj.rotationY += 5;   

            _scene.renderCamera(_camera);

        }

    }

}



分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

10

主题

3

听众

760

积分

初级设计师

Rank: 3Rank: 3

纳金币
3
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-8-29 12:20:44 |只看该作者
away3d比PV3D确实简单点 封装的比PV3D好 代码量小很多 很适合初学者 最重要的是AWAY3D一直在持续更新并且完全免费开源 ,而且已经和ADOBE展开合作 而且拥有唯一免费的可视化3D模型编辑器 Prefab  所以 多多支持吧
回复

使用道具 举报

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-11-2 09:27:36 |只看该作者
回复

使用道具 举报

.    

3797

主题

11

听众

5万

积分

首席设计师

Rank: 8Rank: 8

纳金币
32328
精华
41

活跃会员 优秀版主 荣誉管理 论坛元老

地板
发表于 2012-11-8 21:27:38 |只看该作者
这是一个好帖子,大家快来围观!!
回复

使用道具 举报

5#
无效楼层,该帖已经被删除

0

主题

1

听众

2458

积分

中级设计师

Rank: 5Rank: 5

纳金币
0
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2014-2-22 15:10:34 |只看该作者
好东西啊,感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-12-1 05:31 , Processed in 0.088240 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部