Say Cheese: Making Paintings For Oblivion

Or, how to make a painting to import as an Oblivion mesh.

Step 1: Obtain a good screenshot somewhere. Left as an exercise for the reader, but do yourself a favor and make sure the interface menus are off when you take it. Also if you plan to upload the screenshot you just took, do that before you go through this process, and if you want to keep the untouched shot, do all this on copies of your images.

Step 2: Gather your utilities. Since this is my way of doing it, this is what I needed: GIMP, Paint.NET, and the NormalMapsPlus plugin for Paint.NET, Nifskope.

Step 3: Find yourself two suitable painting meshes. I forget exactly which ones worked best for me, but you need one that does rectangles and one that does squares, and if you play your cards right you'll be able to use the same source imagine in both meshes.

Step 4: Open GIMP. Scale the image. You want to make sure the shape is rectangular. Something like 1024x512 or 512x256. Stock painting textures are 256x128. As long as the ratio is maintained you'll be fine, except that you can't use oddball sizes like 384 or 768. Oblivion will hate you for it. Also, if you're resizing something from a wide screen format, you'll need to make sure the chain next to the size input boxes is broken so it won't try and maintain the aspect ratio.

Step 5: With the image resized, go to Filter->Artistic->Oilify. For landscapes, a mask size of 6 seems to work best. For screenshots of people, try something smaller like 4 or you'll lose too much detail to even tell you have someone in frame. Don't mess with the exponent figure. If you don't like the result, undo and try again.

Step 6: Now you want it to look like it's been painted on a canvas. Go to Filter->Artistic->Apply Canvas. Bring the depth setting down to 1, otherwise you'll end up with something that looks like it got barfed onto burlap sacks.

Once you're satisfied, save your image and exit GIMP.

Open the updated image with Paint.NET.

Step 7: Go to File->Save as, and save the file as a DDS, DXT1 compression, generate mimpamps. Do this before touching anything.

Step 8: Go to Effects->Stylize->NormalMapsPlus. Move all of the sliders down to 0.05 and then click OK. Check the results. It should be somewhat subtle. If you get something that's extremely bumpy, go back to the menu and bring the sliders down some more. Otherwise you end up with a painting that has large indentations that look funny.

Once satisfied, go to File->Save as. Add a _n to the filename, save as DDS, DXT1 compression, generate mimpmaps.

If you've done this all right, you should have one texture called painting.dds and matching normal map called painting_n.dds.

Step 9: Generate copies of the two source nifs you're using for the paintings, with filenames that match up to what you're working with. So if you have painting.dds, name it paintingsquare.nif and paintingrectangle.nif. Each nif needs to point to the proper data path for where you're going to store painting.dds in the Data folder for the game. I'll leave how to handle that to you.

You've gone to a lot of trouble, it's time to go pop this into the CS and see how it looks. Good luck!

A bit of explanation may be in order for why this is being done in two different image editors. GIMP and Paint.NET both have good "Oilify" filters, but so far it seems only GIMP has the "canvas" filter. GIMP does have a normal maps plugin, but I find it has too many options and often generates crud that's hard to sort out. The Paint.NET normal maps plugin is fast, and about as straightforward as it gets. GIMP can also handle DDS files with the proper plugin, but I find Paint.NET's options for saving those a bit less messy. Which is why I switch programs midstream. If Paint.NET had the canvas filter, I'd cut GIMP out of the loop entirely because the guys behind it need to go back to UI Design 101.
.........................
"It is pointless to resist, my son." -- Darth Vader
"Resistance is futile." -- The Borg
"Mother's coming for me in the dragon ships. I don't like these itchy clothes, but I have to wear them or it frightens the fish." -- Thurindil

Well. I guess that's that then.

       
« Religious Oppression
Avatar »

Posted on Dec 26, 2009 3:07 pm by Samson in: | 10 comment(s) [Closed]
Comments
Commentary for the curious, since I use a slightly different process:

1. As it happens, all of the middle and lower class frame meshes are configured to use 256x128 painting textures by default. Once you get out of those, anything goes, and check the source textures to be sure you're getting the right size. The Anvil castle stuff in particular is weird.

2. Hate the ginormous frames on the middle class paintings? You can fix that. In Nifskope, click the outer part of the frame and remove the branch that highlights. You can also resize the collision if you want, but for paintings it usually doesn't matter.

3. Instead of breaking proportion to rescale my widescreen images, which would look terrible with my resolution, I like to take cropped parts of my screenshots. Since I work with 512x256 painting textures, I make sure that my crop is some multiple of that (anything even, so long as the proportion is the same), then resize it down to 512x256.

For stuff that started out life as a non-widescreen image, things get a bit trickier. First, you go buy a widescreen monitor because this is 2009 almost 2010. Then, resize the image to 256 high, enlarge the image to be 512 wide, and use the selection tools and paint bucket to add colored borders to the image. In theory, picking a color in the midrange of what your painting uses will help prevent normal map issues later.

Same technique works for making high resolution textures out of widescreen shots.

4. I use GIMP the whole way through. It works pretty much the same as with Paint.NET, only in Step 8, Go to Filters/Maps/Normalmaps, pick something like 4 sample at 4 scale, generate, and save as you would with Paint.NET. If you find that you have a lot of bumpiness, back it off and regenerate with a smaller scale. Save it like the man says, and go do your thing in Nifskope to change the texture.

This should not be taken as an endorsement of the GIMP UI, because oh my god, but this way works a bit faster for me, so.

       
You guys are really funny..

Samson said:

Also, if you're resizing something from a wide screen format, you'll need to make sure the chain next to the size input boxes is broken so it won't try and maintain the aspect ratio

Dwip said:

3. Instead of breaking proportion to rescale my widescreen images, which would look terrible with my resolution [...]
For stuff that started out life as a non-widescreen image, things get a bit trickier. First, you go buy a widescreen monitor because this is 2009 almost 2010.

*chuckle*

but Dwip, are you needing to come out of the closet there?
Dwip said:

This should not be taken as an endorsement of the GIMP UI, because oh my god, [...]

I could just picture you snapping your fingers along with that 'oh my god'... if only I knew what you actually looked like.. ;)

       
It's, like, so totally my, like, inner teenage girl. TOTALLY.

Second and third from the bottom pics in this series may provide amusing contextualization for you.

       
Conner, you have no idea... truly...

That comment btw about breaking the chain wasn't meat to be funny. GIMP's button for "these are linked" looks like a chain.

       
*LOL* I had mentally pictured you a little heavier-set without the mustache, but.. *chuckle*

No, no, it wasn't that you suggested the chain needed to be broken, I've used Gimp before and know that it really is a good description, it was much more Dwip's comment in clear response to your implication that wide-screen images needed fixing.

       
Those pictures actually make me look kind of fat, so to speak. This one is a little closer.

Actually you can see the perspective breaking with Samson's shots, too, as it happens. Line up the shot up top there with the original and you can see where it shrunk vertically - mostly the chest area of the people, but also those round windows.

It's a little harder to tell in-game, given light levels, but.

But, like, you know. Like, whatEVER, etc, etc.

       
Well, you're definitely scrawnier than I'd have thought, but you remind me, in appearance, of my sister's ex-husband, and overall he was a pretty cool guy.

I can see that now that you've pointed it out, but it's hard enough to see without specifically looking for it that I can't say I'd worry too much about it if it were my call, especially if it's even harder to spot in-game where it'd actually matter.

       
What can I say. As our host can tell you, and is no doubt ready to kill me for at this point, I notice (and worry) about the damndest things.

       
Oh, I don't know if I'm ready to kill you just yet, but perhaps the man responsible for the CS dialogue editor. Because, wow, what a mess.

Also, as that shot up top there also demonstrates, if you're going for higher end paintings, the canvas effect is fairly well overblown even at the minimal settings. That was taken at 512x256. A 1024x512 shot handles the process much nicer, but that also comes at a cost of added VRAM usage and file size. Trade offs, etc.

Yes, there's distortion going from 1440x900 to 1024x512 but when you get done processing the whole thing and importing it into the game and then go see it there, you would be hard pressed to tell.

       
I think you'd be more than a little hard pressed to find a way to convert any image from wide-screen to non (with wide screen becoming the normal anymore, what's the older version called now?) without some distortion unless, instead of resizing the image, you just crop it down but what do you sacrifice to do that? And is it worth sacrificing anything if, in-game, you can't really tell the difference anyway?

       
<< prev 1 next >>
Comments Closed
Comments for this entry have been closed.
Anonymous
Register

Forgot Password?

SuMoTuWeThFrSa
 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31