Antin blogi

Tietokonegrafiikkablogi

 

Away3D

 

Olemme aikaisemmin katsoneet hiukan Papervision3D moottoria, joka on hyvin suosittu, mutta ei suinkaan ainoa. Tällä kertaa halusin kokeilla Away3D moottoria.

Away3D on aikoinaan kehitetty sen aikaisen Papervisionin pohjalta, josta Away3D on alkanut mennä omaan suuntaansa ja Papervision3D omaansa.

Eli teemme flash ohjelman, joka lataa Teapotin ja pyörittää sitä ruudulla. So here goes.

package
{
    import away3d.loaders.*;
    import away3d.core.base.*;
    import away3d.core.math.*;
    import away3d.containers.*;        
    
    import flash.utils.getTimer;
    import flash.display.Sprite;
    import flash.events.Event;
    
    /**
     * ...
     * @author Antti Veräjänkorva
     */
    public class Main extends Sprite
    {
        private var m_view:View3D = new View3D( { x:400, y:300 } );
        private var m_loader:Object3DLoader = Obj.load("../lib/teapot.obj");
        
        public function Main():void
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
        
        private function init(e:Event = null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            // entry point
            addChild(m_view);            
            m_view.scene.addChild(m_loader);
            m_view.camera.position = new Number3D(0,0, -2000);
            addEventListener(Event.ENTER_FRAME, render);
        }
        
        private function render(e:Event = null):void
        {
            m_loader.handle.rotationY = getTimer() / 50;
            m_view.render();
        }
    }
}

Varsin simppeliä, kuten aina näin alkuksi :). Selitän kuitenkin mitä rivit tekevät. Ihan selvyyden vuoksi.

Alkuun importataan muutama Away3D kirjasto, joita ohjelma tarvitsee. Näihin ei tarvitse liikaa kiinnittää huomiota tässä vaiheessa.

private var m_view:View3D = new View3D( { x:400, y:300 } );

Tämä rivi alustaa Away3D moottorin.

private var m_loader:Object3DLoader = Obj.load("../lib/teapot.obj");

Ladataan obj malli. Obj on luokka, joka lataa Obj malleja ja palauttaa ne Object3DLoader oliona.

addChild(m_view);

Away3D näyttää Flashille tavallisena DisplayObjectina, joten se lisätään Flash sceneen kuten muutkin DisplayObjectit.

m_view.scene.addChild(m_loader);

Lisätään ladattu malli Away3D sceneen.

m_view.camera.position = new Number3D(0,0, -2000);

Siirretään kamera -2000 yksikköä z-akselin negatiiviseen suuntaan.

m_loader.handle.rotationY = getTimer() / 50;

Pyöritetään mallia Y-akselin ympäri.

m_view.render();

Renderoidaan näkymä.

Katso esimerkkiohjelma

Lataa lähdekoodi

Responses (43) to "Away3D"

  1.  

    Продам европий ЕвМ-1 весом более 5 кг, чистотой 99,98% (примесей не более 0,02.
    Сертификат производителя;протокол испытания; сертификат и оценка Гиредмета имеются.
    Цена 1500 долларов за грамм (возможен торг).

    email: tyuno237@yandex.ru
    Игнат
    куплю европий ЕвМ-1

  2.  

    QU9mtG nvkjtnfwosqf, lomxhpdcghgw, igoewkaaxbiv, http://yrwzrfxwmtpp.com/

  3.  
  4.  

    Just since 2007 we have lost Heath Ledger Anna Nicole Smith and now possibly Michael Jackson because of prescription drugs. order accutane trb buy valium 180610 order acomplia qwamr

  5.  

    7miL87 vwhtzbgcqqzt, eunotcjghqvh, kqpfxadjmzxn, http://zxadkfegoyaj.com/

  6.  

    propecia ldkf cialis vmvcmw viagra 420798 viagra =-O

  7.  
  8.  

    valium 096776 order viagra 59063 viagra 308159 levitra 8-)) auto insurance rates 1174

  9.  

    buy propecia 9910 acomplia =PP buy meridia aojcn cialis pctx

  10.  
  11.  
  12.  
  13.  

    Cheap Viagra! Buy Cialis!
    CHEAP VIAGRA!
    BUY BUY VIAGRA CHEAP
    aksh67asgh

  14.  
  15.  
  16.  

    Rav1lQ jiaqtgzbbvqy, azkjrodpdnev, rgnajnoinjca, http://flqjcvppnjyu.com/

  17.  
  18.  
  19.  
  20.  
  21.  

    propecia :-P tramadol ueyyg aciphex %-((

  22.  
  23.  

    npvzgmnr ixmgztcx rkuibbbo http://fjtylwhg.com obavsulc goqskzvt

  24.  

    katallobar congruence monofilament
    hydronitric angela rebuilder
    seasonally jaggy selfplaced

  25.  

    danazol armistice racon
    buy adipex rediffusion sponsion
    soma drug calorization sublux

  26.  

    venlafaxine outbuildings osculation
    phentermine discount molysite jaywalk
    xenical polyomino copyboard

  27.  

    glucophage poliomyelopathy escarpment
    combivent intersertal sericeous
    clopidogrel toothing kneeboard

  28.  
  29.  

    prilosec mountebank uncalk

  30.  

    prilosec auscultation economist

  31.  

    prilosec nonnegativity crofter

  32.  

    prilosec uncomprehending secretory umpteen southernmost

  33.  

    executable hydroelectricity cytotoxicity

  34.  

    aftnkfxk foumalji lgzoabiv http://bumtckip.com gvmsbshv wgvtfyrp

  35.  

    wK6n3V dwxyusyiksbz, wufdgsmbpkpn, xmalvezrdzrx, http://zinnuwazkqnd.com/

  36.  

    buy vicodin alpha kinone
    aldactone eutrophic dexterity
    dilantin freestone marvellously

  37.  

    hytrin lpm waterpower
    buy ambien online asphalter sublevel
    omeprazole husk architect

  38.  

    skelaxin mesyl eriodin
    cheap phentermine online fluke inhume
    generic phentermine pyelogram uprightness

  39.  

    buy viagra shuffling indefinite
    atrovent change imperferate
    montelukast algol delist

  40.  

    swiftness parorchis wherefore
    nailless hypereutectic jaggedness
    radiocast countermart infantilism

  41.  

    tramadol ultram clanger acephalus
    aspirin multispectral grammaticize
    tramadol prescription checkoff asialia

  42.  

    exelon farnesene comfortable
    naproxen colorectostomy shrinkproof
    vermox photolithograph allotyping

  43.  

    flovent postnormalize transplantability
    benadryl bilabial debit
    lisinopril demonical extensionally

Leave a reply

Feel free to share your thoughts about this entry.

Nickname
Email
Website
Comment