Hard Light Productions Forums
Modding, Mission Design, and Coding => The Modding Workshop => Topic started by: Omniscaper on February 10, 2004, 12:57:07 am
-
I've been trying to produce a VERY high resolution mapped Earth model. The base texture is 10800x5400 and I have split the textures into 8 2048x2048 parts texturing particular parts of a sphere. But as you can see below, the seams are quite nasty.
(http://www.penguinbomb.com/omniscaper/WIPS/E1.jpg)
(http://www.penguinbomb.com/omniscaper/WIPS/E2.jpg)
(http://www.penguinbomb.com/omniscaper/WIPS/E3.jpg)
The best way is to use a single spherical mapped texture. But obviously, noone's card can handle that resolution. I was wondering if anyone knows a way to break up a single texture using baked UV parts. I'm trying to accomplish this via Lightwave, but its quite difficult. I am still researching baking techniques for lightwave or 3dsmax. By doing this, I can use the full texture 10800x5400 and seperate the parts of that texture to a size that most videocards can handle (2048x2048) WITHOUT seams.
If anyone can offer tips on this, it would help me speed up the release of one of the highest quality planet models.
-
10800x5400?? are you kidding:lol:?
I suppose that if you are going with this standard the earth model is not less than 10k polys :blah:
You are wasting a lot of textures space in my opinion...
anyway... a single spherical uvmap is hell to be used because it cut the poles in pieces, I really have never been able to use a spherical uvmap in a satisfying way (but admittedly I never spent much on it).
I don't understand where those seam lines come from btw, I think it shouldn't happen: they doesn't look like different colours around the borders of the maps, they look more like if the uvmaps don't match perfectly the texture borders.
IIRC there were a (low poly/low textures res) earth model in the robotech mod.
You may check it: if there aren't seams/textures warping or other weirdnesses, you may pic their model, subdivide it (or use similar uvmaps on your model), and then substitute their texture(s) with your own.
-
...I suppose one 5056x5056 map is out of the wuestion, then?
-
The model itself is composed of 3 spheres totalling 9k polys. Obviously I am NOT using the 10800x5400 texture unless I am doing cinematic renders. There has to be a way I can break that texture up instead of downsampling it. The seams I can't avoid in both 3dsmax, Lightwave, and especially Truespace. Each program handles UV's differently and does not translate flawlessly during import/export conversions.
The screenshots were of a model created in 3dsmax. I selected 8 groups of faces on a sphere and applied 8x 2048x2048 textures from which I divided the 10800x5400 texture in Photoshop. I checked the edges of all the cutup textures and see no anomolies. I believe the seam color is the texture repetition or tiling. Truespace has a joke of a texture manager. Overlapping the textures looks just as bad.
This is Earth, our happy place. I believe she deserves the highest quality textures. Since the model is 30,000 meters, you have to use high res textures in order to avoid a nasty pixelation blur. It is not a model that is a background element. I believe this could be used strategically in missions, with the ability to orbit and hide with it.
Need ideas folks. I got an artist block.
PS: Is there any way to avoid the faceting effect that specular mapping causes? Without Speculars, the model is perfectly shaded and smoothed. When specular maps are added, faceting occurs nastily.
-
Have you tried editting the maps? To remove whatever border it is making the lines? It could be a very very faint line that's unnoticable nless you put the dropper tool on it.
-
This could be a repetition of that sub-object smoothing problem I've been having, if it's not all a single mesh for some reason.
I presume it's smoothed correctly during conversion?
-
Dropper tool reveals no anomolies, and the sphere is a single mesh. I used the default sphere object and I applied textures to selected faces. Truespace and 3dsmax show the same seam. I think UV precision is not so precise. I tried joining the seperated textures back to gether in photoshop and they fit seamlessly.
-
You don't have any borders round your textures, do you? There's sometimes a single-pixel error you get in UV-ing, because the edge 'line' (with reference to the map) is of 0 width.
-
aehm...
I don't want to sound annoying, and it's up to you obviously (since you want/are doing it), BUT....
8x 2048x2048 means more than an overall 8000x4000 texture size
even if you face directly the model, I doubt you'll see less than 50% of the semisphere facing you, and it's a lossy approximation. I mean, like if you are zooming the model so you can see only 50% of it.
Which mean not less than 4000x2000 texture's pixels showed at anytime on screen....and I doubt there will ever be many people playing at higher res than 1600x1200.
Now, I admit I have no idea if you still get visual improovements when you have more texture's pixels than your screen pixels, probably yes, but to me it sound like a waste, expecially considering that many here got excellent high quality background spheres with far, far lower texture sizes.
Anyway...I wasn't talking about tileing, but about uvmaps borders not matching the texture's borders (althought it shouldn't happen).
My suggestion is to use 6 planar maps instead of 8 (top,bottom,right,left,front,back) generated with baking out of the 10800 map, and unwrap the model in Lithunwrap (althought there should be similar tools for lightwave or max). Here you will be able to reduce or increase the size of the uvmaps over the textures(if the problem is the texture's borders).
nfact, this problem could be caused by the anti-aliasing being activated while cutting in photoshop (actually this is an error that many do). edit: as you said, there aren't anomalies when putting together the textures so it shouldn't be this
I *may* try to help you but I dare my pc would explode trying to open that...thing....
-
Lithunwrap may be useful anyway, so... http://underworld.fortunecity.com/pacman/106/fs2mods/shipcreationguide/whatyoullneed.html
open your model here, select the uvmaps for each material and scale down with mm like a .99 factor
there *may* be textures alignment errors, but it isn't important: it is only to check if the seams will be still present.
If not, the problem is the texture's borders
-
Lithunwrap? Ok, I'll get the demo, no saving though. I've already tried both aliased and antialiased earlier this week to no avail. I even reduced all the texture parts to 256x256, and the seams are still there. I'm starting to wonder if the problem lies with 3dsmax's texture management.
Btw, texture size being higher than screen resolution size has nothing to do with each other. Having a large texture size simply enables you to get closer to an object without seeing pixelization. One pixel on the screen is not the same size as one texture pixel. Considering the size of ships nevermind PLANETS, one texture pixel could be 100 meters in game, thats what I am trying to avoid. I only wish that it were the case, otherwise everything would be uber detailed. The only time I would consider it a waste of texture space is when you DON'T have the ability to get closer. Otherwise I would use lower res textures.
-
Originally posted by Raa Tor'h
...I suppose one 5056x5056 map is out of the wuestion, then?
NO! BAD Raa! BAD! don't you use non-powwer of 2 textures! bad!
-
...
>.>
<.<
*runs*
I always use 2048 as my absolute largest. It's all my vid card can handle anyway...
-
omni, in the link above there is a free download of lithunwrap.
about the other thing...
sizes in game are relative, I make an example of what I mean:
make a flat plane of any size, texture it with a 2048 texture, and fly close to it so that it exactly cover your screen: if you have a 1024 screen res, you will see 1024x768 pixels no matter the res of the texture (IIRC this isn't exactly true since I seem to remember that the engine scale automatically the textures). If you don't fly any closer to the plane, a 2048 texture is a waste.
With a planet's model you never fly too close to it or elseway you'd need mountains and the like.
as said, flying any closer than seeing more than 50% of the semisphere facing you would always look irrealistic.
And at this distance, your amount of textures sound to me like a waste.
Now, I may be wrong, and my only suggestion is: make 3 or 4 versions of your textures with different sizes (you'll not have to change uvmaps so it's a 5 min job, try 2048,1024and512), and test it in game to get the best balance between visual quality and performance hit.
-
I would agree it is the UV mapping being too big, I've seen this problem myself, often because the computer thinks...
'Right, this UV has to go as a square around the texture , and so creates a UVmap, which sits exactly 1 pixel outside the object. UVMapper will actually automatically fix these problems :) It's freeware, and pretty old and limited, but as lsoon as you load the model, it will tell you if any UV's are outside the texture boundary.
I'm not sure from the pictures, but I think you may have problems with contrast/saturation differences between your maps as well.
http://www.uvmapper.com
Get UVMapper Classic, the free one ;)
-
I'm not sure if this is avoidable, but here's my limited 3d knowledge at work:
FS2 uses D3D stuff, in which you render all the polygons using a single texture at one time. If there's anti-aliasing going on between rendering, what you have there could be the edge of one texture, anti-aliased against space, or white (the probable vertex color). I think. Besides, it's not too noticeable.
Oh, off the subject, look at some of TBPs stuff. They had a huge-sized earth plane, using lots of texes, but no lines IIRC.
-
I understand that a screen shows no more pixels than the resolution being used. There is still the issue of texture detail. Believe me, I wouldn't use uber textures unless its fully utilized, like using 2048 textures on a planet that takes up 2 percent of the screen. I'm actually putting in LOD's on Earth with lesser levels of textures res. Unfortunately, the clipping distance is somewhere around 35k meters. Passed that point the earth getts swallowed by the "Nothing".
I wonder if theres away to put an object in the background, outside the playing field, so you CANT get closer to it. In THAT case I would use lesser textures. My 3d philosophy, the closer you get, the more detail you get.
I just hate using low res textures and be able to see pixelization if you get too close. The point of this endeavor is to make an earth that can be approached to the point of collision with the atmosphere layer (I'll use Fred to kill you then) and still see a nice crisp Earth map.
Sorry Karma, I'm a spoiled monkey. Always must push the technology to its limits. In the game industry, its a must for software to keep up and utilize the latest tech.
-
If you're concerned with the clipping distance, why don't you just recommend using the latest inferno_open build?
Later!
-
background POF
-
Where can I implement that? Fred? Background pof sounds like a better solution. Of course you'll loose the ability to fly around it. But I'd like to give it a shot.
-
If you're looking for the Inferno_open build, just look in PhReAk's signature link, which will take you here (http://www.swooh.com/peon/phreak/).
Later!
-
actually it takes you here (http://www.penguinbomb.com/phreak)
do you people ever read sigs?
-
Ok...... how does this help me put a planet in the background? The launcher included looks dated. I did notice skybox option in the included Fred, but I don't care too much for skyboxes, too warpy.
-
omni, that's a sky box: http://www.3dap.com/hlp/hosted/swfs2/img/screen0a.jpg
(2x 1024, one of em repeated 5 times, on a sphere of 1k triangles, which is probably too much and should probably be reduced, need to test it).
Just create a sphere and map it (with the faces flipped).
The size is decided by the engine, and not the model (I can't remember the exact size used)
I suppose that you should be able to create a background pof, maybe just a cube mapped with a black map of 1x1 pixel and, assuming that you know the exact size that will be used, put your earth model (maybe with the moon:) ) inside the box.
The problem is that I have no idea if the background pofs can have subobjects, and if they can rotate. Actually this is interesting and should deserve a test, since if it works it'll be the best solution to put planet models ingame.
The inferno build from phreak, instead, will increase the far clipping plane distance by lots. Not sure if this create some other problems
Omni, I wasn't complaining about putting to limits the engine, but about doing something performance wasting and graphically useless. in the game industry optimization and efficency are even more important than tech limits. And sorry if I sound a bit....annoying sometimes:) It's enough for me to know that you are aware of what I was saying, lods will surely help a lot optimizing it for the game. Also excuse me since I haven't considered that in the 8x 2048 maps you have the clouds layers too.
Also..have you tryed to fix it using Lithunwrap? if you send me the version with the 256 maps (and only the earth layer, without clouds) I may give a look at what I was saying above, the uvmaps borders
-
Originally posted by PhReAk
actually it takes you here (http://www.penguinbomb.com/phreak)
do you people ever read sigs?
Sorry man, I had it bookmarked. I am surprised you still keep that older page open though. Why haven't you terminated it?
Later!