Hem Personliga finanser 3 Steg för att bygga en 3D Java World - dummies

3 Steg för att bygga en 3D Java World - dummies

Innehållsförteckning:

Video: GÖR DITT EGET SPEL DEL 2 2024

Video: GÖR DITT EGET SPEL DEL 2 2024
Anonim

I några korta steg kan du börja skapa ett relativt enkelt 3D-program i JavaFX som visar den tredimensionella världen (ett exempel visas nedan). Som du kan se innehåller detta 3D-utrymme fyra former: en sfär, en kub, en cylinder och en pyramid. Den här kortlistan visar hur du börjar med en cylinder.

Sätt på din Thinking Cap, eftersom det här är lite tekniskt ibland, och många av koncepten om att bygga 3D-världar kan vara förvirrande, särskilt om det här är din första erfarenhet av 3D-programmering.

Ett prov 3D-program i JavaFX.

Steg ett: Lägg till en cylinder

I det här steget lägger du till ett grundläggande 3D-objekt till din värld. JavaFX erbjuder tre grundläggande former som du kan lägga till: cylindrar, lådor och sfärer. Börja med att lägga till en cylinder:

Cylindercylinder = Ny Cylinder (100, 50); rot. getChildren (). lägg (cylinder);

Cylinderklasskonstruktorn accepterar två argument: cylinderns radie och dess höjd. Detta exempel skapar en cylinder ungefär formen av en hockeypuck, fyra gånger så bred som den är lång; Då lägger den cylindern till scenens rotknutpunkt.

Vid denna tidpunkt finns cylindern i världen, men är inte synlig. Baserat på vad du vet om 2D-former kan du vara frestad att göra den synlig genom att lägga till en fyllnadsfärg (setFill) eller en slagfärg (setStroke). Men det är inte hur 3D-objekt fungerar. I nästa steg upptäcker du hur man applicerar ett material på ytan av cylindern så att den blir synlig i scenen.

Steg två: Skapa ett material

Att göra ansikten på ett 3D-objekt är mycket mer komplicerat än att göra platta, tvådimensionella objekt. För ett 2D-objekt applicerar du bara ett Paint-objekt via setFill-metoden. Färgen kan vara en enkel färg, en gradientfärg eller en bild.

För 3D-objekt applicerar du inte färg. Istället tillämpar du ett speciellt objekt som heter ett Phong-material , representerat av PhongMaterial-klassen. Ett Phong-material (uppkallat efter Bui Tuong Phong, en banbrytande datorgrafikexpert på 1970-talet) ger det sätt på vilket ansikten av ett 3D-objekt realistiskt återges.

Följande kod skapar ett enkelt Phong-material baserat på två nyanser av blått och applicerar sedan materialet till cylindern:

PhongMaterial blueStuff = new PhongMaterial (); blueStuff. setDiffuseColor (Färg. LIGHTBLUE); blueStuff. setSpecularColor (Color. BLUE); cylinder. setMaterial (blueStuff);

Efter att Phong-materialet har applicerats på cylindern kommer cylindern att vara synlig inom scenen, som visas.

3D-cylindern med Phong-material.

Steg tre: Översätt cylindern

Du märkte utan tvekan att cylindern inte ser väldigt tredimensionell ut. Det beror på att du tittar på kanten: Kameran pekar rakt vid skärningspunkten mellan x- och y-axlarna, och cylindern är centrerad på den punkten.

För att få lite perspektiv på cylindern kan du flytta den till en annan plats i 3D-utrymme genom att översätta x-, y- och z-koordinaterna. Till exempel:

cylinder. setTranslateX (-200); cylinder. setTranslateY (200); cylinder. setTranslateZ (200);

Här flyttas cylindern 200 enheter till vänster, 200 enheter ner och 200 enheter från kameran. Den resulterande utsikten ser mer ut som en cylinder, som du kan se här.

Den översatta 3D-cylindern.

I denna figur ser det ut som om cylindern har roterats framåt så att du kan se lite av den övre ytan. Detta är emellertid inte fallet. Vad som faktiskt har hänt är att du inte längre tittar på cylinderkanten.

Istället, eftersom cylindern ligger under kameran, ser du ner på den. Således kan du se lite av toppsidan. Du tittar också på det från sidan, vilket förklarar varför det verkar bara en smula lutad.

3 Steg för att bygga en 3D Java World - dummies

Redaktörens val

Organisera e-postmarknadsföring innehåll för att matcha dina mål - dummies

Organisera e-postmarknadsföring innehåll för att matcha dina mål - dummies

När du utvecklar e-postmarknadsföring innehåll, överväga hur din publik kommer att uppleva dina avsikter. E-postmeddelanden ger större mening åt dina framtidsutsikter och kunder när innehållet du skapar och levererar är knutet samman under kända teman. När din tid är begränsad kan du bli frestad att skapa e-postinnehåll som passar ditt schema bättre ...

Nya formulärinmatningstyper i HTML5 - dummies

Nya formulärinmatningstyper i HTML5 - dummies

HTML-formulär är centrerade kring det ödmjuka men flexibla inmatningselementet . HTML5 lägger till ett antal väldigt användbara former av inmatning som hjälper till att göra HTML till ett mer modernt användargränssnitt. Även om stöd för dessa taggar inte är universellt är det säkert att börja använda dem nu. Varje webbläsare (även IE6) som inte förstår den avancerade ...

Utföra visuell designtest på en ny webbplats - dummies

Utföra visuell designtest på en ny webbplats - dummies

Det visuella designteamet för en webbplats kan skapa några olika "look and feel" -alternativ och testa dem med användare. Den här designen kallas perfekt för att passera en hemsida och en inre eller undersida av din webbplats, men de är inte 100 procent korrekta när det gäller ...

Redaktörens val

Objektiv till dina digitala SLR-dummies

Objektiv till dina digitala SLR-dummies

Zoomlinser är inte den enda typen av linser som är tillgängliga för din dSLR . Du borde veta hur de skiljer sig från de andra alternativen. Här är några av alternativen till zoomlinser i allmänhet och vanliga zoomlinser i synnerhet. Prime-objektiv En primärlins har en fast brännvidd. En lins med fast fokusering ...

Hur man skapar bra belysning för din digitala fotografi - dummies

Hur man skapar bra belysning för din digitala fotografi - dummies

Ja, du kan återskapa bra belysning om du vet vad du gör. Och ingenting kan förstöra ett foto snabbare än dålig belysning. Du kan göra många förbättringar till ett utmanande ämne helt enkelt genom att använda bra belysningsteknik. Din farbrors skalliga huvud, en tonåring som är mindre än perfekt, en hård upplyst strandplats, en droppe ...

ÖKa bildförstoring med telekonverterare - dummies

ÖKa bildförstoring med telekonverterare - dummies

En telekonverter är en sekundärlins som du placerar mellan din lins och kamerokroppen (precis som förlängningsröret). En telekonverter tar emot bilden som skapats av din lins och ger en förstorad version av den till kamerans digitala sensor. Detta kan vara ett användbart verktyg i makrofotografering men kan också vara ...

Redaktörens val

Undvik hack på sårbara trådlösa arbetsstationer - dummies

Undvik hack på sårbara trådlösa arbetsstationer - dummies

Trådlösa arbetsstationer har massor av säkerhetsproblem och kan vara inriktade på hackar - från svaga lösenord till opatchade säkerhetshål till lagring av WEP- och WPA-krypteringsnycklar lokalt. De flesta av de kända trådlösa klientens sårbarheter har blivit patchade av sina respektive leverantörer, men du vet aldrig om alla dina trådlösa system är ...

Grundläggande Mac Network Settings - dummies

Grundläggande Mac Network Settings - dummies

De flesta nätverksinställningarna på en Mac är automatiska. Om du föredrar kan du titta på och ändra standardnätverksinställningarna genom att följa dessa steg: