Objecten maken met Gmax
Algemeen Gmax is een 3D modeling tool voor het maken van objecten in de MicroSoft Flightsimulator. Met Gmax kun je heel ingewikkelde en gedetailleerde objecten maken, eventueel met bewegende delen. Maar voor de Flightsimulator is het een uitgebreide tool om gebouwen en andere objecten te maken. Om een zo realistisch mogelijk object te krijgen, kan het object worden bekleed met fotografische textures waarna het toegevoegd kan worden aan een scenery. Jan Dekker 2009 2
Inhoud 1. Wat heb je nodig 2. Installatie Gmax 3. Object maken 4. Textures maken met Photoshop o.i.d. 5. Object in FlightSimulator plaatsen Jan Dekker 2009 3
1. Wat heb je nodig Om een object te maken in Gmax heb je verschillende gereedschappen nodig: - Gmax (gratis te downloaden) - FS Toolkit (te vinden op de DVD in de map SDK) - Foto s en afmetingen van het te maken object - Een fotobewerkingsprogramma, bv Photoshop - Hulp (te vinden op internet) - Tijd Jan Dekker 2009 4
2. Installatie Gmax Gmax is een freeware versie van de professionele 3D modeling tool 3D Max die gebruikt wordt voor het maken van 3D games. Gmax heeft beperktere mogelijkheden dan de professionele versie 3DS Max, maar is prima geschikt voor het bouwen van scenery objecten. Gmax is gratis te downloaden bij: http://www.turbosquid.com/gmax Voorwaarde is dat je je (gratis) registreert. Na registratie krijg je een ontgrendelcode en kun je met Gmax aan de gang. Gmax is ook te vinden op CD1 van FS2004 in de map extras Jan Dekker 2009 5
Installatie Gmax Hier zijn ook een help en install guide te vinden Download Jan Dekker 2009 6
Installatie Gmax Klik op de link, vul het formulier in, wacht op de code die je per mail krijgt, en plak hieronder de code in de je gekregen Jan Dekker 2009 7
Installatie Gmax Als de installatieprocedure gereed is krijg je dit beeld Jan Dekker 2009 8
Installatie Gmax Om een object te laten zien in de Flight Simulator moet het object in een formaat staan die FS kan begrijpen. Hiervoor heeft Microsoft een tool gemaakt die een vertaalslag maakt van Gmax naar FS, de FSToolkit. Hier wordt Gmax i.s.m. FSX behandeld, maar Gmax kan ook geinstalleerd worden voor FS2004. Kijk op internet hoe dat moet. http://www.fsdeveloper.com/wiki/index.php?title=gmax_installation_guide_for_fs2004 - Installeer de SDK (Software Development Kit): - Installeer FSX Deluxe - Installeer FSX SP1 van de Acceleration Pack - Installeer de FSX SDK vanuit DVD1, de setup ervan staat in de SDK map - Installeer de FSX SDK SP1a Er staat nu een map C:\Program Files\Microsoft Games\Microsoft Flight Simulator X SDK\SDK op de schijf - Kopieer de map C:\Program Files\Microsoft Games\Microsoft Flight Simulator X SDK\SDK\Environment Kit\Modeling SDK\FSX_GmaxGamePack in zijn geheel naar je gmax\gamepacks map. - Sleep de snelkoppeling die er in die map staat, naar je buroblad. Het is belangrijk dat je die snelkoppeling gebruikt om gmax mee te starten. - Start nu gmax met deze snelkoppeling op - Controleer of je het FS Tools menu ziet Jan Dekker 2009 9
FS Tools tab is nu toegevoegd Installatie Gmax Jan Dekker 2009 10
Installatie Gmax Voordat we beginnen moeten er wat instellingen worden aangepast Klik op: Customize Preference Settings Zet de Units op Meters Zet in het veld Scene Undo de waarde minimaal op 50. Hiermee kun je het aantal aangegeven stappen terug in je bouwwerk in het geval dat je een fout maakt. Jan Dekker 2009 11
3. Object maken Gmax heeft zeer veel mogelijkheden en tools, maar om te beginnen zijn een paar dingen wel belangrijk Jan Dekker 2009 12
Object maken Een veel gebruikt panel is het Command Panel. Hier begin je met het maken van een object Jan Dekker 2009 13
Object maken Bij het maken van objecten moet je een paar dingen in gedachten houden: Het gaat in FS in hoofdzaak om het vliegen. Het vertonen van een mooie gedetailleerde scenery is eigenlijk maar bijzaak. Alle objecten die je in FS ziet bestaan uit aan elkaar geplakte driehoeken. Voor een stuk vlakke rechthoekige muur worden minimaal 2 driehoeken getekend. Aangezien de processor van de PC alle driehoeken moet berekenen en tekenen, is het zaak om voor een object zo min mogelijk driehoeken te creëren. Ook moet de processor alle textures tekenen op de objecten. Mooi gedetailleerde textures hebben veel pixels en het tekenen van veel pixels op een object kost veel processortijd. Dus een object waar je op 4000 voet overheen vliegt, hoeft niet zo gedetailleerd te zijn als een object op een vliegveld. Jan Dekker 2009 14
Object maken Hier zie je twee boxen. De groene is verdeeld in 3x3x3 delen en de blauwe in 1x1x1 deel. Hoewel de beide boxen er hetzelfde uit zien, is er een groot verschil in het aantal te tekenen driehoeken. De groene box zal dus een grotere vertraging geven in FS dan de blauwe. Hetzelfde geldt voor de bollen Jan Dekker 2009 15
Object maken Voordat je met het maken van het object begint, verzamel je zoveel mogelijk gegevens in de vorm van foto s, maten en de juiste plaatsbepaling. Google Earth is goed te gebruiken voor de plaatsbepaling. Voor dit voorbeeld heb ik gekozen voor een makkelijk object : een transformatorhuisje op vliegveld Eelde Jan Dekker 2009 16
Object maken Het huisje heeft de vorm van een kubus (box) met een plat dak met overstekende rand. De maten zijn 2.2 x 3,8 en de hoogte is 2,1 meter In Gmax beginnen je met een box te plaatsen in de 3D viewport rechtsonder Klik binnen het command panel op Box en sleep met de linkermuistoets ingedrukt een box in de 3D viewport (zie volgende pagina) Jan Dekker 2009 17
Object maken De juiste maten pas je later aan Jan Dekker 2009 18
Object maken Versleep het kruispunt van de viewports om de 3D viewport groter te maken. Klik op de Modify tab en pas de maten aan. Jan Dekker 2009 19
Object maken Klik rechtsonder op Arc rotate en draai met de linkermuistoets ingedrukt binnen de gele cirkel om het object te draaien. We hebben nu de onderbouw van het huisje. Jan Dekker 2009 20
Object maken Maak nu het dak door nog een box te maken naast de bestaande box. Maak het dak 15 cm dik en laat het 10cm oversteken t.o.v. het huisje. Dus de maten worden 2.2 x 4 x 0.15 Verplaats het dak met de pijlen naar de juiste positie. Jan Dekker 2009 21
Object maken De basisvormen van het huisje zijn nu gereed. Sla het op onder de naam: EHGG-trafohuisje.gmax Jan Dekker 2009 22
4. Textures maken 512 pixels De volgende stap is het maken van textures. Om het object herkenbaar in FS te laten zien moet het met textures beplakt worden. Textures kunnen o.a. gemaakt worden van Zelfgemaakte foto s, ingescande plaatjes uit een brochure of boek (denk aan de auteursrechten) maar het kan ook een gekeurd vlak zijn. Textures moeten aan een bepaald formaat voldoen : 256 x 256, 512 x 512 of 1024 x 1024 pixels. Dus altijd vierkant en nooit bv 256 x 512 pixels. 512 pixels Jan Dekker 2009 23
Textures maken Textures maak je met een fotobewerkingsprogramma die kan uitsnijden, plakken, schuintrekken, draaien en spiegelen, b.v. Photoshop Elements. Deze eigenschappen zijn nodig omdat je voor textures foto s nodig hebt die recht vóór het object gemaakt zijn. Omdat dat niet altijd lukt, krijg je scheve foto s die je met je fototool recht moet kunnen maken. Jan Dekker 2009 24
Textures maken Er zijn veel fotobewerkingsprogramma s b.v. Photoshop, PaintShop Pro, Photoshop Elements, Gimp, enz. Ik heb gekozen voor Adobe Photoshop Elements Jan Dekker 2009 25
Textures maken We hebben deze foto s ter beschikking: Jan Dekker 2009 26
Textures maken Begin met het maken van nieuw werkblad van 512 x 512 pixels en geef het een naam. Maak de achtergrond lichtgrijs want dat vergemakkelijkt de bewerking in Gmax. Jan Dekker 2009 27
Textures maken Open nu de eerste foto. Selecteer het deel dat we nodig hebben voor de onderbouw van het huisje. Trek d.m.v. schuintrekken de hoeken zover dat de afbeelding mooi rechthoekig wordt. Selecteer het rechthoekige deel en kopieer en plak het deel in het (lege) werkblad van de texture. De dakrand komt later als we aan de texture van het dak werken. Jan Dekker 2009 28
Textures maken Pas de grootte aan in het texture werkblad en bedenk dat de plaatjes van alle zijkanten, het dak en ook de dakrand op het werkblad van 512 x 512 pixels moet passen. Als de grootte goed is, maak er dan 1 laag van. (zie pulldown menu) Jan Dekker 2009 29
Textures maken Open nu de tweede foto. Hier zit wat meer werk in want de struiken moeten weggehaald worden. Je kunt er ook voor kiezen om de struiken in de texture mee te nemen en later in FSX naast het trafo huisje een paar stuiken te plaatsen die overeen komen met de werkelijkheid. Hier kiezen we om de struiken weg te halen door delen van de texture over de struiken te kopiëren. Jan Dekker 2009 30
Textures maken Het makkelijks is het selecteren, kopiëren en plakken van het reclamebord Jan Dekker 2009 31
Textures maken Hetzelfde doe je met andere delen van het huisje. Hierbij kun je, naarmate je vordert, steeds grotere stukken kopiëren en plakken totdat zelfs het paaltje aan de linkerkant weggepoetst is. Jan Dekker 2009 32
Textures maken Selecteer de zijkant van het huisje, plak het in het texture werkblad en pas de grootte aan. Vergeet niet er weer één laag van te maken (zie pagina 29) Jan Dekker 2009 33
Textures maken Doe dit ook voor de andere kanten van het huisje. Hierbij kun je heel moeilijk doen en de struiken weghalen zodat je een zijkant overhoudt met kleurverschil, zoals je hieronder kunt zien, maar je kunt ook de eerste zijkant gebruiken om de tweede zijkant te maken. Jan Dekker 2009 34
Textures maken Selecteer en kopieer de eerste zijkant, en plak die over de tweede zijkant zodat de tweede overschreven wordt Kopieer een zo groot mogelijk kaal deel van de muur en plak die ergens in de texture. (1) Deze heb je straks weer nodig. Kopieer een reclamebord en zet die, aan de hand van de foto, op de goede plek (2) Kopieer het luchtrooster en parkeer het ook ergens in de texture (3) Heb je straks ook weer nodig. Jan Dekker 2009 35
Textures maken Selecteer nu opnieuw de lege muur en kopieer die twee keer over de reclameborden en het rooster heen zodat je een lege muur krijgt. Jan Dekker 2009 36
Textures maken Kopieer het geparkeerde rooster en plak het op de juiste plaats. Pas de maat aan door het wat in de lengte uit te rekken. Jan Dekker 2009 37
Textures maken Doe hetzelfde met de ander korte zijde. Zelfs de deurknop kun je naar de andere kant zetten. Poets alles wat je niet meer nodig hebt weg en je ziet nu dat je een veel mooiere texture hebt dan de texture op pagina 34. De volgende stap is het maken van het dak met dakrand. Jan Dekker 2009 38
Textures maken Laadt nu weer de foto waar de dakrand het beste op staat. Selecteer en plak die in de texture. Rek de dakrand zover op alsof je een bovenaanzicht hebt van het hele dak Jan Dekker 2009 39
Textures maken Nu moet er nog grind op het dak. Daarvan hebben we geen foto, dus dat moeten we maken. Selecteer een stukje muur en pas de kleur aan totdat het op grind lijkt. Kopieer en plak dat stukje grind op het dak. Jan Dekker 2009 40
Textures maken.. en pas de maat zo aan, dat je een bovenaanzicht hebt van het dak met dakrand. De texture is klaar. Save de texture als.bmp op een plaats waar je het weer terug kunt vinden. Jan Dekker 2009 41
Textures maken Er is nog één bewerking nodig om de texture op de juiste manier te gebruiken in FSX. Als je op 1 km afstand vliegt, kun je het reclamebord op het trafohuisje niet lezen en waarschijnlijk zie je het hele huisje niet. Pas als je dichterbij komt, worden wat details zichtbaar en als je er vlak bij bent, zie je alle details. FSX laat in 4 stappen details zien. De texture krijgt een bewerking waardoor er 4 plaatjes ontstaan met een verschillend detailneveau. Ga naar de map waar je de FSX SDK hebt geïnstalleerd. Zoek naar SDK\Environment Kit\Terrain SDK\ImageTool.exe en start de Imagetool.exe op. Jan Dekker 2009 42
Textures maken Laadt de texture en verander het formaat van 24 bit naar DXT1 Jan Dekker 2009 43
Textures maken Klik opnieuw op Image en kies Create MipMaps De tool heeft nu een texture gemaakt met 4 detail niveau s Sla de texture op als trafohuisje.dds in de map FSX\Addon Scenery\Texture Het maken van de texture is nu gereed en we gaan terug naar Gmax Jan Dekker 2009 44
Textures gebruiken in Gmax Nu moet de gemaakte texture op het trafohuisje geplakt worden. Open de material editor (1) Klik in het Material venster op New (2) Kies de optie FlightsimX (3) en klik OK Jan Dekker 2009 45
Textures gebruiken in Gmax Klik in het Material Editor venster op de geblokte kubus(1) en op de knop naast Diffuse (2) Nu opent een nieuw venster en dubbelklik in het vak Bitmap. In het venster dat nu wordt geopend zoek je de plaats waar je de texture hebt opgeslagen. Jan Dekker 2009 46
Textures gebruiken in Gmax Als je op open klikt, zie je als je goed kijkt, je texture verschijnen op de bol in het kleine venster (1) Jan Dekker 2009 47
Textures gebruiken in Gmax Sleep nu met de linker muistoets ingedrukt, de texture van het bolletje naar het dak (1) en de onderbouw van het trafohuisje(2). * Selecteer de onderbouw door ergens op de onderbouw te klikken. Er worden witte lijnen zichtbaar op het geselecteerde deel. Klik nu op de tab Modify (3) en klik op het Pull Down driehoekje. Selecteer uit de lange lijst van optie s Unwrap UVW (4) Jan Dekker 2009 48
Textures gebruiken in Gmax Er verschijnt weer een ander venster. Klik op select face (1). Kies een zijde uit van de onderbouw. Van de aangekozen zijde worden de lijnen nu geel (2). Klik daarna op Planar Map (3). Herhaal dit voor alle zijden van de onderbouw. Doe dit ook voor het dak door te beginnen bij de * op de vorige pagina Sluit de material Editor (4) Jan Dekker 2009 49
Textures gebruiken in Gmax Als alle zijden Planar zijn, klik je op Edit (1). Laadt in het venster (2) de texture van het trafohuisje via Pick Texture en Bitmap. Jan Dekker 2009 50
Textures gebruiken in Gmax Nu verschijnt de texture in het venster. Klik op Filter SelectedFaces. Je ziet in de hoeken witten vierkantjes. Dit zijn de hoeken van de geselecteerde zijde van het huisje. Sleep de hoeken één voor één naar de juiste positie in de texture. Jan Dekker 2009 51
Textures gebruiken in Gmax En je ziet op het huisje meteen het resultaat Jan Dekker 2009 52
Textures gebruiken in Gmax Zoom in (1) om de hoeken precies op de texture te leggen. Klik op move (2) om de hoeken (weer) te kunnen verplaatsen. Jan Dekker 2009 53
Textures gebruiken in Gmax Selecteer het dak met een klein stukje dakrand. Dit geeft een bijna realistisch beeld (1). Voor de vier zijden van de dakrand selecteer je het kleine strookje dakrand in de texture (2). Jan Dekker 2009 54
Textures gebruiken in Gmax Rest nog één bewerking: het terugbrengen van het aantal te tekenen driehoeken (zie pagina 14) Jan Dekker 2009 55
Textures gebruiken in Gmax Alle vlakken die je niet ziet in de Flightsim kunnen verwijderd worden. Dat scheelt in dit geval niet zoveel driehoeken maar als het ontwerp ingewikkelder is kunnen soms veel driehoeken verwijderd worden. Bij dit huisje zijn 24 polygonen(driehoeken) gebruikt (zie Polygoon Count) Jan Dekker 2009 56
Textures gebruiken in Gmax Het verwijderen van de polygonen gaat als volgt: Selecteer het dak of de onderkant (1)van het huisje, klik op het pull down driehoekje (2) van de Modifier List Selecteer Edit Mesh (3) Jan Dekker 2009 57
Textures gebruiken in Gmax Selecteer Polygon (1), klik op het polygoon dat je wilt verwijderen en druk op DELETE Herhaal dit voor alle polygoons die je wilt verwijderen. Mocht je het verkeerde polygoon verwijderd hebben, klik dan op Undo (2) Jan Dekker 2009 58
Textures gebruiken in Gmax Als alle overbodige polygoons zijn verwijderd, is het huisje van de onderzijde gezien doorzichtig. Vanaf de bovenzijden gezien is het beeld normaal. Jan Dekker 2009 59
Textures gebruiken in Gmax Let op hoeveel polygonen zijn verwijderd: 6 stuks. De processor van de computer hoeft nu nog maar 18 i.p.v. 24 polygonen te tekenen om hetzelfde beeld te krijgen. Een winst van 25% Jan Dekker 2009 60
Textures gebruiken in Gmax Het zichtbare resultaat is hetzelfde. Vergeet niet het trafohuisje te saven! Jan Dekker 2009 61
Object in FlightSimulator plaatsen Nu gaan we het huisje van het.gmax formaat overzetten en compileren zodat het in FSX geplaatst kan worden. Klik in de tab FSTools op LODnameTool (1) Klik op Create new GUID for this file (2) Geef het de Friendly Name : ehgg_trafohuisje en klik op Go (3) De GUID is nu gemaakt en klik het venster weg met het rode kruisje. Jan Dekker 2009 62
Object in FlightSimulator plaatsen Vervolgens moet de GUID ge-exporteerd worden naar een.mdl bestand. Kies Export, geef het de naam ehgg_trafohuisje en wijzig de extensie in Flightsim Model (*.MDL) en klik op de knop Opslaan Neem in het volgende venster de vinkjes over zoals ze hieronder ook staan (waarschijnlijk staan ze al goed) en klik OK Jan Dekker 2009 63
Object in FlightSimulator plaatsen De bewerkingen in Gmax zijn nu gereed maar nu moet het.mdl bestand nog gecompileerd worden naar een.bgl bestand zodat het in een Scenery map van FSX gezet kan worden. Compileren doen we met een klein programma dat ontwikkeld is door Arno Gerretsen, ook wel bekend van zijn site: http://www.fsdeveloper.com en medeoprichter van het NL2000 team. Op deze site kun je alles vinden voor het ontwikkelen van fligtsimulator zaken. Het programma Library CreatorXML.exe is te downloaden op : http://www.fsdeveloper.com/forum/fsdevdownloads.php Vul in het zoekvenster Library Creator XML 2.0.2 in en het icoontje om het te downloaden komt op je scherm. Let ook op de manual die je kunt downloaden Je hoeft het programma niet te installeren, opstarten is genoeg. Jan Dekker 2009 64
Object in FlightSimulator plaatsen Na het opstarten moet je eerst éénmalig aangeven waar het programma de FSXcompilatietool kan vinden. Deze is te vinden in de map FSX SDK\SDK\Enviromentkit\BGL Compiler SDK\ of daar waar je het hebt geïnstalleerd Jan Dekker 2009 65
Object in FlightSimulator plaatsen Daarna maak je eerst een nieuwe objectenbibliotheek (library). Klik op File, New Library. In deze library kun je meerdere objecten zetten maar we hebben er nu nog maar één. Geef de library een verzamelnaam, bv objecten rondom ehgg en save het op een plaats waar je het weer terug kunt vinden. Klik vervolgens op Add MDL objects en voeg ehgg_trafohuisje.mdl toe aan de library Jan Dekker 2009 66
Object in FlightSimulator plaatsen Als je op het + teken klikt, zie je het GUID nummer die je in Gmax hebt gemaakt op pagina 62. Klik met de rechter muisknop op de GUID en doe een Copy to clipboard want dit GUID nummer hebben we straks weer nodig. Save de library en klik vervolgens op Compile library BGL en save de compilatie als ehgg_trafohuisje.bgl Jan Dekker 2009 67
Object in FlightSimulator plaatsen Nu hebben we een.bgl file gemaakt waar FSX wat mee kan maar we hebben nog niet de plaats in de scenery bepaalt waar het huisje komt te staan. Hiervoor moet een ehgg_trafohuisje_placement.bgl gemaakt worden. Om de juiste plaats te kunnen bepalen hebben we de coördinaten nodig uit FSX. Start FSX en ga met slew naar de juiste plaats op de aarde. Toets <shift> Z voor de plaatsbepaling links bovenin de hoek en schakel naar Topview. Noteer de coördinaten voor latere bewerking. Jan Dekker 2009 68
Object in FlightSimulator plaatsen De coordinaten worden verwerkt in de plaatsbepalings BGL die we gaan maken door de onderstaande tekst aan te passen. Kopieer en plak de onderstaande tekst in kladblok <FSData version="9.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="bglcomp.xsd"> <SceneryObject lat="52 27.52" lon="5 31.30" alt="0m" pitch="0.0" bank="0.0" heading="317.6" altitudeisagl="true" imagecomplexity="sparse"> <LibraryObject name="{879c35d2-5698-4ca9-9eba-8d7caa717495}" scale="1.0"/> </SceneryObject> </FSData> Jan Dekker 2009 69
Object in FlightSimulator plaatsen Vul de coordinaten die je hebt overgenomen van FSX (blz 68) of van Google (blz 69) in de tekst (1) En vul de heading (Mag) in die je hebt gevonden in FSX (2) De heading geeft de hoek aan waarop het huisje te zien is in FSX. Waarschijnlijk is dit niet goed bij de eerste poging en moet je de heading nog een keer aanpassen. Jan Dekker 2009 70
Object in FlightSimulator plaatsen Vervang de libraryobject name door de GUID die nog in het kladblok (blz 67) staat of die je ergens hebt opgeslagen. Als je het nummer kwijt bent kun je het weer terug vinden met de Object Library Creator (blz 67) Sla het als ehgg_trafohuisje_placement.xml Jan Dekker 2009 71
Object in FlightSimulator plaatsen Nu moet de file ehgg_trafohuisje_placement.xml nog gecompileerd worden naar.bgl Dit gaat als volgt: open 2 keer de verkenner. In verkenner 1 zoek je ehgg_trafohuisje_placement.xml (1) In verkenner 2 zoek je. SDK\SDK\Environment Kit\BGL Compiler SDK\BglComp.exe (2) Sleep nu met de muis de.xml file (1) en laat die vallen op cd BglComp.exe (2) Zie ook de volgende pagina. Jan Dekker 2009 72
Object in FlightSimulator plaatsen Dus: Laten vallen op BglComp.exe (1) en na een paar seconden zie je bij (2) het gecompileerde bestand verschijnen ehgg_trafohuisje_placement.bgl Er staan nu 2 files met de extensie.bgl in de map: ehgg_trafohuisje_placement.bgl en ehgg_trafohuisje.bgl Kopieer deze twee files naar FSX in de map FSX\Addon Scenery\Scernery Jan Dekker 2009 73
Object in FlightSimulator plaatsen Start nu FSX op en zorg dat de Addon Scenery aangevinkt staat in de Scenery Library. Zorg dat Addon Scenery bovenaan de lijst staat door MoveUp te klikken. Jan Dekker 2009 74
Object in FlightSimulator plaatsen Als alles goed gegaan is..... Jan Dekker 2009 75
Objecten maken met Gmax Als je liever een papieren naslagwerk leest dan een internetpagina, kan ik de Gmax Bible aanbevelen. Te koop bij bol.com of in de betere boekwinkels En ontdek de vele mogelijkheden van Gmax Bedenk wel: Oefening baart kunst Veel succes met het maken van je volgende objecten. Jan Dekker 2009 76