Innehållsförteckning:
Video: Age of Deceit (2) - Hive Mind Reptile Eyes Hypnotism Cults World Stage - Multi - Language 2024
Skapa en virtuell 3D-värld är enklare än någonsin i JavaFX. I det här exemplet lär du dig att lägga till en sfär till ditt JavaFX-program, animera det och lägga till en ljuskälla till den.
Steg 1: Lägg till en sfär
Först lägg till en sfär som representeras av sfärklassen. Spherekonstruktorn accepterar bara en enda parameter, som anger sfärens radie. Till exempel skapar dessa rader en sfär vars radien är 100 och översätter sedan den för att flytta den från mittpunkten i din virtuella värld:
Sphere sfär = ny sfär (100); sfär. setTranslateX (-180); sfär. setTranslateY (-100); sfär. setTranslateZ (100); rot. getChildren (). lägg (sfär);
I stället för att använda samma blå Phong-material i sfären kan du göra något mer intressant: Applicera ett Phong-material som är konstruerat från en bild av en cylindrisk projektion av jorden med den här koden:
Bild earthImage = Ny bild ("fil: jord. jpg"); PhongMaterial earthPhong = nytt PhongMaterial (); earthPhong. setDiffuseMap (earthImage); sfär. setMaterial (earthPhong);
Denna figur visar den resulterande sfären.
Du kan lägga in en bild runt en sfär (eller något annat 3D-objekt, för den delen) med den här tekniken. Du kan också hämta bilden för det här programmet från Wikipedia. Sök bara efter Behrmann Projection och hämta sedan filen. (Använd Windows Paint för att beskära bildens kanter en bit eftersom bilden som är tillgänglig på Wikipedia har en liten kant runt kanterna.)
Steg två: Animera objekten
Whew! Din 3D virtuella värld har nu ett objekt: en sfär som ser ut som jorden. Du kan också lägga till andra objekt just nu.
I det här steget lägger du till en animering för alla objekt för att få dem att snurra. Varje objekt får en enkel RotationTransition-animering. Först sfären:
RotateTransition rt4 = ny RotateTransition (); RT4. setNode (sfär); RT4. setDuration (Duration. millis (9000)); RT4. setAxis (Rotate. Y_AXIS); RT4. setByAngle (360); RT4. setCycleCount (Animation. INDEFINITE); RT4. setInterpolator (Interpolator. LINEAR); RT4. spela();
Efter uppspelningsmetoden heter sfären spinning, vilket gör att en komplett vänder om sin z-axel var tredje sekund.
Sfären roterar runt y-axeln, vilket ger intrycket att världen roterar. För sfären är hastigheten inställd på en revolution var 10: e sekund.
Steg tre: Lägg till en ljuskälla
Det sista steget i denna förflyttning i 3D-programmeringsvärlden är att lägga till en ljuskälla.Ljuskällan kommer att ändra hela utseendet på scenen, som visas här.
För att lägga till ljuskällan, använd följande kod:
Din 3D-värld med en ljuskälla.PointLight light = new PointLight (Color. WHITE); ljus. setTranslateX (-1000); ljus. setTranslateY (100); ljus. setTranslateZ (-1000); rot. getChildren (). lägg (ljus);
PointLight-klassen definierar en ljuskälla som härstammar från en viss punkt i scenen och projekterar ljus av den angivna färgen (i detta fall bra gammal vit). För att skapa belysningseffekten flyttar du ljuset genom att översätta dess koordinater 1 000 till vänster, 100 ner och 1 000 enheter mot användaren. Resultatet kastar snygga skuggor på baksidorna av de spinnande föremålen.