Welkom!

Deel je kennis met anderen in deze Flashgemeenschap!
Gebruikersnaam:
Wachtwoord:
Wachtwoord opslaan?
Wachtwoord vergeten?

TUTORIALS / Flash 3D

3D Engine II
366 downloads, 31795 keer gelezen
(March 18, 2006)
Waardering: 1 keer gestemd 
 5 van de 5
 
inleiding     stap .1. .2. .3. .4. .5. .6.      voorbeeld download

Stap 3

Perspectief

Zoals je in de vorige tutorial al gezien hebt zetten we de gewone punten om naar punten die rekening houden met de derde factor de z of de diepte d.m.v. de formule perspectief = afstand / (afstand - z) Vervolgens worden u X en Y met dit perspectief vermenigvuldigt en krijgen we de correcte punten. Nu moeten we niet gewoon elk punt vermenigvuldigen met de pointsArray , maar moeten we via de surfaceArray werken , waar alle eigenschappen van alle vlakken zijn in opgeslagen. We hebben echter enkel de points eigenschap nodig.

  • We beginnen met een for loop voor alle vlakken te doorlopen.
  • Hierna maken we een tweede for loop die alle elementen in onze points array zal doorlopen.
  • Nu kunnen we terug te werk gaan zoals in de vorige tutorial.
  • public function set2Dto3D():Void {
         for (var i:Number = 0; i < this.surfaceArray.length; i++) {
             var persPoints = new Array();
             for (var j:Number = 0; j < this.surfaceArray[i].points.length; j++) {
                 persPoints[j] = new Object();
                 //
                 var index = this.surfaceArray[i].points[j];
                 //
                 this.perspective = this.scale / (this.scale - this.pointsArray[index].z);
                 persPoints[j].x = this.pointsArray[index].x * this.perspective;
                 persPoints[j].y = this.pointsArray[index].y * this.perspective;
                 //
             }
             draw(persPoints, i);
         }
    }

    Eerst wordt zoals gezegd twee for loop functies aangemaakt. Daar tussen zit weliswaar de persPoints array die na elk vlak terug wordt hernieuwd. Dan wordt op regel vijf : Van elk element in de persPoints array een object gemaakt (dit is nodig om er de x, y en z in te kunnen opslagen). Dan wordt de index bepaald. Vergeet niet dat de elementen in de points array GEEN waardes voor x, y en z waren , maar indexen waren voor de grote pointsArray. Diegene dat alle punten bevat. De volgende drie lijnen wordt a.h.v. de formule het perspectief berekent en vermenigvuldigt met de x en y waardes. En ten laatste wordt de draw functie geactiveerd. Elk vlak wordt immers apart getekend.



    >>> Ga naar stap 4
    Geef hier je waardering: Matig 1 2 3 4 5 Geweldig!
      Waardering:
    meerdere objecten eric lugtigheid (31 August 2010, 13:28)
    Hallo, kun je ook gebruiken voor meerdere objecten? Met hartelijke groet, Eric Lugtigheid Studio Lugtigheid
    RE: meerdere objecten Baptist vandersmissen (03 September 2010, 11:19)
    Volgens mij is dat geen enkel probleem. Gewoon meerdere objecten aanmaken van de klasse shape en deze objecten de juist gegevens meegeven zoals weergegeven in de laatste stap. (Het is wel al heel lang geleden dat ik dit nog geschreven/bekeken heb. Dus ik kan er naast zitten. Groetjes, Baptist
    3D engine (drawing API) Floris V. (06 March 2008, 15:50)

    Hoi,

    Er zijn er meer voor Flash MX die op deze manier werken. Ik heb me er een beetje in gespecialiseerd. Helaas werken de beste (met textures, etc.) niet in Flash MX.

    Sandy 3d, Away 3d, Papervision 3d, allemaal voor Flash CS3.

    Deze werkt gewoon met Drawing API en is zo vaak op Google te vinden (of varianten ervan). Maar wel leuk dat je je eigen versie hebt gemaakt...

    Waar je vooral eens op moet zoeken op google is mx3d of 3d Flash Studio of 9elements 3d als je een Flash MX versie hebt of anders met CS3 zou ik vooral eens Sandy 3d, Papervision 3d etc proberen dat is echt cool!

    Maar goed ik weet hier meer van ik heb urenlang op internet gesurfd en gekeken naar voorbeelden, etc. voor 3d in Flash MX en andere versies, dus als je iets wil weten mail me dan. En mijn conclusie is trouwens: 3d kan wel in Flash, maar je kunt er beter andere programma's voor gebruiken (zoals Adobe Director).

    Groet,

    Floris


    hoe maak je ... Jaimy voorhaam (20 July 2007, 15:10)

    haaj

    wie weet hoe je een spel maakt zoals habbo hotel ?

    maail me trug !!


    shape.as Ate Visser (18 March 2007, 02:34)

    En de Shape.as (waar de schaduw in staat) staat hier, als Shape.txt:

    http://www.prosac.nl/upload/Shape.txt

    Ate


    1-5 | 6-9