Innholdsfortegnelse:
Video: LIBGDX para Android - Tutorial 01 - Introducción - How to make games Android 2025
I noen få korte trinn kan du begynne å lage et relativt enkelt 3D-program i JavaFX som viser den tredimensjonale verden (et eksempel vises nedenfor). Som du kan se, inneholder dette 3D-rommet fire former: en kule, en terning, en sylinder og en pyramide. Denne korte listen viser hvordan du kommer i gang med sylinder.
Sett på Thinking Cap, da dette eksempelet er ganske teknisk til tider, og mange av konseptene knyttet til å bygge 3D-verdener kan være forvirrende, spesielt hvis dette er din første opplevelse med 3D-programmering.
Trinn 1: Legg til en sylinder
I dette trinnet legger du til et grunnleggende 3D-objekt til din verden. JavaFX tilbyr tre grunnleggende former du kan legge til: sylindere, bokser og kuler. Begynn med å legge til en sylinder:
Cylindercylinder = Ny Cylinder (100, 50); rot. getChildren (). legg (sylinder);
Cylinder klassekonstruksjonen aksepterer to argumenter: sylinderens radius og dens høyde. Dette eksemplet skaper en sylinder omtrent som formen av en hockeypuck, fire ganger så bred som den er høy; da legger den sylinderen til scenens rotknutepunkt.
På dette punktet finnes sylinderen i verden, men er ikke synlig. Basert på det du vet om 2D-former, kan du bli fristet til å gjøre det synlig ved å legge til en fyllfarge (setFill) eller en slagfarge (setStroke). Men det er ikke hvordan 3D-objekter fungerer. I neste trinn oppdager du hvordan du skal påføre et materiale på sylinderflaten slik at det blir synlig i scenen.
Trinn to: Lag et materiale
Rendering av ansiktene til et 3D-objekt er mye mer komplisert enn å gjengi flate, todimensjonale objekter. For et 2D-objekt bruker du bare et Paint-objekt via setFill-metoden. Malingen kan være en enkel farge, en gradientfarge eller et bilde.
For 3D-objekter bruker du ikke maling. I stedet bruker du et spesielt objekt kalt et Phong-materiale , representert av PhongMaterial-klassen. Et Phong-materiale (oppkalt etter Bui Tuong Phong, en banebrytende datagrafikkekspert på 1970-tallet), gir midler som gjør ansiktene til et 3D-objekt realistisk gjengitt.
Følgende kode lager et enkelt Phong-materiale basert på to nyanser av blått og deretter påføres materialet til sylinderen:
PhongMaterial blueStuff = new PhongMaterial (); blueStuff. setDiffuseColor (Color. LIGHTBLUE); blueStuff. setSpecularColor (Color BLUE); sylinder. setMaterial (blueStuff);
Etter at Phong-materialet er påført sylinderen, vil sylinderen være synlig innenfor scenen, som vist.
Trinn tre: Oversett sylinderen
Du har uten tvil lagt merke til at sylinderen ikke ser veldig tredimensjonal ut. Det er fordi du ser på kanten på: Kameraet peker rett i krysset mellom x- og y-aksene, og sylinderen er sentrert på det punktet.
For å få litt perspektiv på sylinderen, kan du flytte den til et annet sted i 3D-rom ved å oversette x-, y- og z-koordinatene. For eksempel:
sylinder. setTranslateX (-200); sylinder. setTranslateY (200); sylinder. setTranslateZ (200);
Her flyttes sylinderen 200 enheter til venstre, 200 enheter ned og 200 enheter unna kameraet. Den resulterende utsikten ser mer ut som en sylinder, som du kan se her.
I denne figuren ser det ut som om sylinderen har blitt rotert fremover slik at du kan se litt av toppflaten. Dette er imidlertid ikke tilfellet. Det som faktisk har skjedd, er at du ikke lenger ser på sylinderkanten.
I stedet, fordi sylinderen er under kameraet, ser du ned på den. Dermed kan du se litt av toppflaten. Du ser også på det fra siden, noe som forklarer hvorfor det ser ut til å være litt tippet.
