Jump to content
Sign in to follow this  
Holger

An Island for FS2002

Recommended Posts

(yes that's FS2002...)Hello all,for several weeks now I have been trying to make a small (fictitious) ocean island in FS2002, using Ground2k v.4.0. Now I'm finally almost there (I think...), but have a few remaining questions.The island is (by design :-) ) completely contained within one LOD13 area; so, no overlap issues.Here's what I have done so far:[ul][li]created an LWM polygon as "Land", slightly larger than the intended actual island[/li][li]on top of that created the island "base", as a VTP2 poly with shore line, at Level 3 (!).Question: If I use Level 7 (the Gnd2k default for a land poly), I end up with the island being covered with the ocean water texture (although autogen according to LandClass shows up correctly). Is setting the Level to 3 a correct solution for this, or could it actual be the reason for the "SPLASHing" problem described below?And I am using VTP2 not VTP1 because I want to add autogen later, and seem to understand only VTP2 supports that.Question: Is this correct, or can autogen be assigned ("manually", using the Annotator tool) also to VTP1 polys (which might be more appropriate for a LOD13 Area?).[/li][li]On top of the "base" poly put another one, also VTP2, this time with Level 7. [/li][li]Things to do later: adding mesh terrain (from greyscale BMP, using grises50 tool), adding autogen using Annotator tool.[/li][/ul]This exercise has been almost successful: The island shows up in the sea, both the Level 3 "base" VTP2 polygon, and the Level 7 poly on top; and even the surf animation works. In SLEW mode, I can set a land (= non-amphib) plane down on the ground anywhere. However, as soon as I switch out of SLEW, the plane "SPLASH"es as if it were sitting on water. On the other hand, a runway set down on the island behaves as it should and "supports" the plane properly.At first I thought this splashing (when off the runway) might be due to incorrectly set altitude; but it happens also if I set the VTP polys to 1m, i.e. above sea level.In fact, I have another test island, with mesh terrain already applied, where the same splashing happens even at e.g. 250 m above sea level. Fascinating sight, but also on the whole unsatisfactory... :-)(Again, in SLEW mode, the plane correctly settles down at the correct altitude of the mesh, and does [em]not[/em] "sink").I know that to make object surfaces landable (carriers, helipads on buildings, etc.), some special trickery is required; the tool of choice seems to be FSRegen (haven't tried it yet).But I thought that normal FS2002 scenery (terrestrial) ground should always be able to "carry" a plane, and that any "hardening" is not required.Question: Or is it? Thanks in advance for any pointers!Greetings,Martin(BTW, the point of all this is that I want to be able to drive around the island in some car or bike -- planes would of course be happy enough to stay on runway, taxiway and apron... :-) )

Share this post


Link to post
Share on other sites

Hi Martin.You've complicated the process far beyond what is needed.When you make an LWM land poly over an ocean area, what gets displayed is... water. Why? Because water has been assigned as the landclass value in the worldlc.bgl. 70% of the world's surface is water, and the default landclass reflects this. Anytime you make an LWM land poly, and water is displayed, then it's the landclass that is at fault. The land poly should be the exact size of the island... the landclass needs to be larger than the island ( by about 1/2 an LOD13 area in each direction ).So, after you make your island with the LWM land poly, you need to make a landclass BGL to assign an appropriate land texture to the new island.The rest of the VTP 1 or 2 stuff is irrelevant. You don't need VTP polys for the land area at all.Dick

Share this post


Link to post
Share on other sites

Many thanks for the reply, Dick!> You've complicated the process far beyond what is needed.Always a possibility -- I am pretty good at that :-)However:> So, after you make your island with the LWM land poly, you need > to make a landclass BGL to assign > an appropriate land texture to the new island.> ... > You don't need VTP polys for the land area at all.Been there, done that -- originally, I did try to make do with just an LWM polygon, plus an LC assignment. (And I just tried again, to make sure -- I do listen to advice! :-))I think what is the problem here (or at least what confuses me terminally) is that the island is so small: it is smaller than, and completely contained within, one single LOD13 Area.Consider the following piece of art:

   |   |---+---+---      | O |   ---+---+---   |   |

This is (supposed to be :-) ) representing the LOD13 grid when in Ground2k Polygon/Line mode: the island O is in the center of one LOD13 Area. And OK, I made only the LWM polygon, no VTP polys of any kind.Now, I have to assign an LC; this is of course [em]not[/em] assigned to the LWM poly, but to the Areas; and the assignment is made not to the Area as depicted above, but to the four Areas centered on its corners (because LC rendering interpolates, for smooth transitions).So, when in LC assigning mode, the grid looks thus:

+---+---+|   |   |+---O---+|   |   |+---+---+

and the island is now (for LC assignment purposes) part of four adjacent LOD13 Areas.Now, if I assign an LC (for simplicity let's assume the same one) to each of those four Areas, one of the following happens:-- if the LWM is a poly [em]without[/em] shore, I see no island at all in FS2002, just the default ocean.-- if the LWM poly is a poly [em]with[/em] shore, I see at least the correct island outlines, but its "interior" area is completely covered with the ocean texture, [em]not[/em] the LC texture. (And yes, for the shore line I did check "land to the right").In other words, the LC texture is not applied anywhere (probably because all the Areas still [em]also[/em] contain water.> The land poly should be the exact size of the island... OK, I understand that.> the landclass needs to be larger than the > island ( by about 1/2 an LOD13 area in each direction ).You see from the above that here is my problem: I do not have even one full LOD13 Area which is "pure" land, and would then be surrounded by "coast type" Areas (= part water [em]and[/em] part land) -- in my case, just every Area is coast type Area, so to speak.What's the way out of this?Again, many thanks for the reply.Cheers,Martin

Share this post


Link to post
Share on other sites

Hello again,following up on my own reply. I have now made the island four times as big*).It now covers a realm of 4x4 LOD13 Areas. Only one of these Areas is completely on land; all others contain water [em]and[/em] land, in different proportions.After realizing that I have to extend the LC assignments quite far out into the ocean (one or two Areas beyond the actual coastline), I am almost there, see screenshot...**) Apparently some majority vote is held between the Areas about rendering land or water; and if you want to shift the vote in favour of land you must create more Areas with LC assigned (even though it doesn't show up for those in the ocean).And that remaining problem on the west coast can perhaps be fixed by giving even more ocean Areas the LC I'm using.So far, so good.Bonus Question 1: Still, how would one do a real tiny island, as described earlier?Bonus Question 2: In fact, I actually want to use my own textures, not LCs, and assign autogen manually later. I hope this can still be done working along these lines, i.e. I [em]can[/em] (although I don't have to) put VTP polygons on top of the LWM poly, if I want?Bonus Question 3: How does one get this forum engine, after a "/code" or "/ul" tag, to revert to the default font? :-)Thanks for reading all this!Cheers,Martin a.k.a. "No Man Is An Island"*)In fact, this larger scale (island of about 4 km length, not 1.2 km) is actually what I wanted; I got mixed up with all the scaling. The trap was that I have to work on a "map" representing in fact a whole LOD10 (ten) realm: This is the smallest size which I can (later) use to make a mesh from a greyscale BMP with grises50; the process does not work for LOD11, 12 or 13.**) In the screenshot you can also see the LOD13 Area grid, courtesy of "cellgrid" by terrain guru (Old Man of the Mountains? :-) ) Richard Ludowise (Avsim library: cellgrid2.zip, later versions available also for FS2004).The Areas look rectangular rather than square because all this fun is taking place at N 60 deg ... (I [em]like[/em] complicated :-) )

Share this post


Link to post
Share on other sites
Guest luissa

Hi Martin,It is very strange what you describe. It seems to me that you are doing the needed landclass placing before cutting the island over it. What I mean is - I do not see anything wrong in your explanation. Since you do not see the island in FS why do not you try to see it in LWMViewer? Use it as diagnosis instrument! Or as a debugger! It is tremendously useful for that purpose.Regards, Luis

Share this post


Link to post
Share on other sites

Hello Martin,There is some confusion here, so let's try to clear it up for you.Dick's explanation is absolutely correct.You can create your island as small as that with no problem. Draw a Land Mask, with or without shore, does not matter.For land to display, you MUST assign land class values when creating anything over water.You are NOT assigning land class values to the surrounding Areas. Land class is assigned to the vertices (or corners) of each Area.The land class values on these vertices project into the 4 surrounding Areas.The ground tile will only be created when the 4 land class values for that particular Area are assigned.Here is an illustration of the process.Land class values project into the 4 surrounding Areas:http://forums.avsim.net/user_files/64418.jpgHowever, that ground tile will NOT be formed unless the 4 vertices of the Area receive a land class assignment:http://forums.avsim.net/user_files/64417.jpgOnce all 4 vertices have a land class assignment, the ground tile is complete and land will display there:http://forums.avsim.net/user_files/64419.jpgPlease note that any Areas with incomplete land class assignments (that is, not having all 4 assignments) will have a partially-filled ground tile and so will continue to show water.Also note that if you are using Ground2K4, when you select the LC (land class) function, the grid is shifted and does NOT represent the LOD13 grid. When you assign a land class value, you are NOT assigning it to a surrounding Area, but, in fact, to the vertices of the LOD13 grid.This is what has happenned to you. As Dick said, simply extend the land class assignments out over the water and you will have the solution to your problem.For your small island, you can try a 3 x 3 assignment of land class values that should cover your Land Mask.As to your larger island, the reason why the western part is still water is because the Areas included there do not have complete land class assignments (on all 4 vertices). Simply extend the land class towards the west in order to completely cover those Areas.Best regards.Luis

Share this post


Link to post
Share on other sites

Hi Martin.Luis' advice is sound as always.If you were to load worldlc.bgl into TMFViewer, you'd see most of the world is water ( value #100 ). That's why you're island's LWM land poly originally showed water.But water, as a landclass, doesn't blend into the other landclass tiles. In this, it is like CUSTOM ( value # 252 or #253 ).Landclass is assigned to the LOD13 vertex, not the area of an LOD13. The groundtile we see is a runtime created blend of the 4 verticies that define the corners of an LOD13 Area. Cellgrid actually shows that quite well.CUSTOM or water value landclass do not blend, so any water vertex will override the landclass next to it, instead of blending into it. that's why landclass values must extend far into the ocean, or the water will spoil the land by hogging the whole LOD13 Area it touches.====================================You can make an island with a VTP2 poly. Try layer 8 for the land, Layer 9 for the shoreline, and higher layers for the streams, roads, etc...Layers 0-3 show only on LWM watermasking. Layers 4-7 show only on LWM landmasking. Layers 8 and higher show over everything, and always act as land. You should be kicking up dirt as you take off from those layers. Remember VTP2 polys show the texture vertically flipped, so you need to flip your homemade textures before you run them through imagetool.Dick

Share this post


Link to post
Share on other sites

Hello Luis, Luis, and Dick,first, my very many and very sincere thanks for all the work you have put into this. The Internet never ceases to amaze me: I send out a cry for help, and within hours the experts reply, and in fact put together a veritable tutorial (with illustrations!) for me, custom-tailored to my needs. It is truly appreciated!I have now been able to create, in the proper and straightforward way, the bigger island (which was what I was after), and also the small one. All working perfectly, island shape OK, textures as they should be, rollin' surf, and the ground does "carry" the plane. (I used a cellgrid2 line as an emergency landing strip, see pic below :-) )Splendid -- I'm very happy to finally understand everything, thanks to you guys. In fact, I had already earlier understood the issue with LC being assigned not to LC Areas, but to their [em]vertices[/em]. I also knew that the "squares" displayed by Ground2k in LC assignment mode are those vertices, and not the real LOD13 Areas. But I still wasn't sure if I had really grasped it all correctly, and Luis' excellent pictures were a very welcome confirmation. Special thanks for all the work you put into those, Luis!The problem with the small (less than one LOD13 Area) version of the island was that I had to extend the land LC assignments further out into the ocean; that was something I [em]didn't[/em] know. In my case, assigning a land LC to a 3x3 range of "vertex squares" around the island wasn't enough -- so I ended up seeing no island at all, or at most the shore outlines. And that meant I had no idea where to look for the mistake.Now I have used a 4x4 "vertex square" range, and all is perfect.Finally, I have already added a VTP poly on top of the LWM, and found that I can indeed achieve another "biotope" (LC) this way.So, all is well!Many thanks again to allof you! I promise to "pay back", with equal helpfulness and amount of work, whenever and wherever someone else might call for help with a question to which [em]I[/em] may know the answer (that'll be the day). Probably won't be about scenery design, though :-)Cheers,Martin(now archiving this whole thread...)

64532.jpg" alt="Look! No Splash!"Look -- no SPLASH! :-)

Share this post


Link to post
Share on other sites

Hello again,(polite sigh from the readers :-))In case someone has some patience left for me, here is the sequel of my island story, after some days of happiness because it looked so good and I could even land on it...After I had, with lots of very kind help from you guys, finally succeeded in generating my dream island, I proceeded to give it some terrain. Using grises50, I generated a DEM file from a hand drawn greyscale RAW altitude map, and then run resample on that to create the mesh terrain BGL. I had successfully done that before already, for test cases, so I know the procedure correctly.Now, the following interesting situation developed:Case A: perfect coastline shape, no terrain65017.jpg" alt=""This is the island you helped me create, located near N60 E25. (The exact scenery boundaries coincide with the respective LOD10 square.)The shape of the island is perfect, coastline, textures, all OK.But it remains flat, no terrain -- even with the mesh BGL active (it's added to FS2002 as a separate add-on scenery, with its own folder and scenery subfolder, and no texture subfolder).Case B: perfect terrain, coastline wrong65024.jpg" alt=""For testing, I recreated exactly the same island near N20 W20. (The exact scenery boundaries coincide with the respective LOD10 square.)Note especially that in Ground2k (lower left in the pic.) the assignment (number and position) of LCs to the Area vertices around the island is identical to the Case A, so are the used RAW and DEM files for terrain; only the coordinates are different.Now, this island features the intended terrain perfectly, but the contours are not OK -- this time I get too much land around the coast. The LWM mask for defining coast is completely ignored.If I assign the land LC to only 3x3 Area vertices (instead of the original ca. 5x5 ), I get parts of the island "flooded" again -- i.e. the LWM mask is still ignored, every Area is still either completely land or completely water. No "irregular" shaped coast (as it should be).Why this difference between Case A and B which are just located in different parts of the world???Things I could think of:-- wrong coordinates used for the altitude map (which covers a LOD10 square) or in the INF file when creating terrain for Case A? But I took great pains to use the NW corner coordinates of the respective LOD10 square, completely analog to what I did for Case B -- where the terrain works just fine.-- Case A is in the neighbourhood of other add-on scenery (including LC and terrain BGLs), but should that matter for empty sea Areas? In any case, I disabled all possibly relevant other sceneries, and it did make no difference: island contour still fine, but terrain missing.-- Obviously the shape of the island differs between location N60 and N20, as the grid is "distorted" according to latitude; this can be clearly seen from the cellgrid2 lines, too. In itself no problem as this island is fictitious anyway and doesn't have to mimick any specific real shape.But does this difference in latitude somehow also affect the number of Area vertics which should be assigned LCs in Ground2k, in order to get the coastline right? Well, as stated above, I tried to reduce this number from 5x5 to 3x3, but still didn't get the LWM mask to operate correctly in Case B.So, why can I get either correct terrain (near N20 W20) or correct coastline (near N60 E25), but not both? (In fact, in case B even for a flat island, without any mesh terrain involved, I can't get the coast right...)Am I too demanding? :-)Any useful answer would make my weekend...But answer or no answer, thanks for reading all this.Cheers,Martin

Share this post


Link to post
Share on other sites

Hi Martin.This is getting a bit complicated.In Case A, the mesh is not right. LWMViewer can now load mesh, landclass and TDF data ( lines, polys ). But that will probably just tell you what you already know... the mesh is not right. In Case B, it looks like you got the mesh OK, but the LWM masking is wrong. Did you rebuild this from scratch in Ground2K, or did you just plug in numbers into the ASM file?Here's my general masking process:Make a big land mask around the project area, to make sure the landclass is displayed. Then make smaller watermasks to "nibble" away the land from areas that should be water. Alternately, you could make a big water mask, to insure water, and add the land inside it's bounds... maybe best for islands.I don't know where your Case 2 island is, but it looks as if there is no LWM masking at all... maybe it's somewhere else. Again, LWMViewer could help here, or TMFViewer. I say that because in the middle of the ocean, there is no default LWM masking at all, so everything is displayed as land ( which is the default state of FS2002 and FS9 ). Or else your LWM mask is land polys, in which case it's just showing land upon land. Dick

Share this post


Link to post
Share on other sites
Guest luissa

Dear Martin,I like the way you describe the problems! :-)1 - The mesh problem could be obviously related to a wrong or mispelled INF file. If the INF file is fine, then one thing comes to my mind. What is the LOD of your mesh? I presume that MS uses different default resolutions in different parts of the Earth. I also assume that if 2 mesh BGLs cover the same area, FS will use the most detailed independently of layers, priorities, alphabetical orders of BGL filenames, etc. Therefore it may be the case that in region A there is a detailed mesh with many points at zero altitude in the location where you are placing the island.2 - The coastline problem suggests that you are not using (placing) a "LWM mask of water" outside the island to hide the extended landclass textures. Again I suggest to use LWMViewer or TMFViewer before and after installing your scenery. Let me make some comments ...... there is a worldWC.bgl which assigns a type or class of water to each location in the Earth. Continental regions are defined as "inland waters" mainnly of type 1 or 2 but there is a number of other types that can be used:001 Shallow Inland Water

Share this post


Link to post
Share on other sites

Hi Martin.You could attach what you have ( BGLs, G2k4 files, ) as a zipped file, and attach it to a post.Then Luis or I could see what is going on.Dick

Share this post


Link to post
Share on other sites

Hello Dick,> This is getting a bit complicated.Sure is -- thanks all the more for tackling it again!> In Case A, the mesh is not right. LWMViewer can now load mesh, landclass and TDF data ( lines, > polys ). But that will probably just tell you what you already know... the mesh is not right. Yes, you're right while the mesh is not -- and it [em]did[/em] escape me...What I was trying to do, is to apply [em]one and the same[/em] terrain data (island.dem, see below) to two different places, by means of just changing the Lat and Lon entries in the INF file: test island (around N20 W20), and "real" island (around N60 E25). Here is in detail what I did to make terrain for my test island at N20 W20:1. make a (hand-drawn) altitude map altMap.BMP (greyscale), covering the same area as the scenery (one LOD10 square)2. convert to altMap.RAW format3. altMap.raw --> "grises50 altMap.raw island.dem 1 0" --> island.dem4. make INF file pointing Lat and Lon values to the NW corner of the LOD10 square including N20 W20(i.e. Lat = 20.0390625; Lon = -20.0390625; it's just a coincidence that the numbers are equal).5. island.dem + island.inf --> "resample island.inf" --> island_mesh.bglThis works for my test island at N20 W20. I see the terrain correctly in FS2002. Also, TMFviewer and LMWviewer display the terrain BGL as expected.(The island contour / LWM mask is wrong, but this is in fact a secondary problem, as I don't really want the island to be there. This is just for testing the terrain, and that is fine.)Now, to make terrain, from the same terrain data (island.DEM file) for the "real" island at N60 E25, I only...6. change the island.INF file: modifying [em]only[/em] the Lat and Lon coordinates to point to the new location (the NW corner of the LOD10 square which includes N60 E25, i.e. Lat = 60.029297; Lon = 24.960938). Then 7. island.dem + island.inf --> "resample island2.inf" --> island2_mesh.bglThe BGL file is duly produced, no errors, but the terrain does not show up in FS2002; island still flat.Your comment made me triple check the resulting mesh BGL, and indeed, the one for N60 E25 (created in step 7) [em]is[/em] wrong. I should have spotted that -- I did check in TMFviewer all the time, but apparently got mixed up with all the BGL versions I have by now, and checked the wrong one somehow (i.e. the one which was right but in another place :-) )...Also, I had so far sort of overlooked LMWviewer, but now got it, and it seems much more powerful than TMFviewer, so I'm grateful for the pointer. In fact, LMWviewer gives a bit more info, saying "no TMD class indexes found"; so the second mesh is definitely broken. (The first one for test island at N20 W20 displays correctly in LMWviewer, and very nicely, too.)Which surprises me: If resample.exe can produce a good mesh BGL for [em]one[/em] LOD10 square from a certain DEM file, why then can it not produce, from the same DEM, a good mesh BGL for [em]any other[/em] LOD10 square also? After all, it uses the same terrain data, just applies them to another place. And I believe (wrongly?) that the DEM file stores just altitude info in some sort of point grid; and knows nothing about where in the world this grid is located. Hence it should be usable for squares of the same size (in my case LOD10) wherever they are -- as long as the NW corner coordinates in the INF file correspond to the NW corner of the respectice LOD grid square.Something to look into...As to the other problem, about non-working coastline in the test island (which I really made just to test terrain, not to generate more coastline problems :-)): From what you and Luis say, it's beginning to dawn on me that I have an oversimplified idea of how the default FS2002 landclass world is organized, especially at sea. I have, too na

Share this post


Link to post
Share on other sites

Dear Luis, thanks again for your valuable detailed explanantions -- I'll carefully ponder and try to "digest" these!My comments about the technical issues are in my reply above to Dick. > I like the way you describe the problems! Thanks! (The background is that for about ten years I was in User Support in a computing centre, i.e. the guy supposed to have the answers. And that teaches you the value of good questions :-) )Have a nice weekend!Best regards from a [em]whole lot[/em] of snow in Finland,Martin

Share this post


Link to post
Share on other sites

Hi Martin.The snow here in southern Wisconsin has about melted. I imagine the snow in most of Portugal is already gone. ;)Right now, your big problem is mesh.When you make a mesh to exactly the dimensions of a source file, sometimes the BGL doesn't get made, and sometimes it just comes out wrong.If your mesh source covered an area a bit larger than the size you want to resample, then you can usually get the mesh BGL.I think the problem might be within resample itself, and the way it rounds numbers to integers from floating-point for the resample process. Also, sometimes it helps to specify the destination bounds. The following INF used a source larger than the final destination bounds. Note: UseSourceDimensions = 0=============================[Destination]DestDir = "."DestBaseFileName = "MyMesh"UseSourceDimensions = 0NorthLat = 35.5517579SouthLat = 35.5078126EastLong = 12.5390626WestLong = 12.48046876LOD = 10[source]Type = ElevS16LSBSourceDir = "."SourceFile = "MyMesh.raw"Lon = 12.499003Lat = 35.540535CellXdimensionDeg = 3.49E-5CellYdimensionDeg = 2.7E-5NumOfCellsPerLine = 4401NumOfLines = 2277===============================Dick

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...