Texture making goes beyond painting pretty, there are some things you should know about to get solid results in the engine.
-
-
Pokaż ten wątek
-
First up, work in powers of 2. This is the fastest way to throw textures around as they fit into the binary nature of graphics cards, memory etc. You should be able to reel off 16,32,64,128,256,512,1024, 2048.
Pokaż ten wątek -
Textures go through several processes before they get to your screen as a texel. Compression, filtering, MIP mapping and then lighting and post processes like grading.
Pokaż ten wątek -
Each step of the way, your little grid of colors is translated and chewed up a bit. So the first thing you need to have is a fast round trip to seeing your texture in game.
Pokaż ten wątek -
Textures, therefore usually need to be a lot sharper than you think they do when you first start. Your soft blending and heavy anti-aliasing looks great... but it then gets scaled, filtered and often antialiased. So... yeah... chewy.
Pokaż ten wątek -
A quick way to get control is to do the texture importing yourself, and get to know the settings for your engine. Unreal lets you tweak the crap out of texture contrast, saturation and compression. Unity is... well... it has some settings.
Pokaż ten wątek -
When you bring in a texture, you need to think about what it is used for. Color images (diffuse, albedo, main color etc) have an SRGB curve applied to them. Maps storingg data, such as Specular, ambient occlusion and height should have SRGB turned OFF immediately.
Pokaż ten wątek -
SRGB is the equivalent of having gamma correction applied. You don't want this with data. A specular value of 0.5 grey should be 0.5, not fucked with by gamma. This is why your models don't dark and dry when you apply your materials. Turn off SRGB. You're welcome.pic.twitter.com/Mh8KPBvc5B
Pokaż ten wątek -
Normal maps should be flagged as normal maps. This changes the compression to not dick around with the direction each normal points. Most engines automatically do this, but if something looks weird, check the flagged type.
Pokaż ten wątek -
Next up, compression. Unreal by default uses a very specific compression type that favors the green channel. This is why we pack roughness data into the green, as it needs the least compression. The alpha is compresed less too, making alpha the same cost as the R,G and B added
Pokaż ten wątek -
My advice is import at double size and immediately tell your engine to turn down the max texture size by 1. So for a 1024 image, import 2048. For 256, import 512. Etc. Why? Because it gives you the option to up map res later on without reauthoring.
Pokaż ten wątek -
Textures should avoid pure black due to the multiple of zero being zero. 0 is black. 0.01 is NOT black. 0 x1000 is 0. 0.01 x 1000 is 10 0x100,000 is still 0 0.01 x 100,000 is 1000 Avoid true zero (except in masks, obviously)
Pokaż ten wątek -
-
Textures are, ultimately, data. A grid of numbers. An array. The more data you store, and throw around, the more resources you take up. The trick is to do as much with as little as possible.
Pokaż ten wątek -
Do how you use that data can be smart. Like this classic use of swapping the cloud colors to make bush in mario.pic.twitter.com/3IQFIlR1JU
Pokaż ten wątek -
This is an example of, essentially, a mask. A texture that the shader can use to fill data in with. "Okay, this stuff is clothing." "This stuff is where the rust or dirt goes" "This bit is where team colors go"
Pokaż ten wątek -
Here is Jakob, one of the characters I made for Unreal 2004. Each character had several variants and each of those had team colors. Here is a bonus unused variant (orange and grey). The team colors could have easily been masked on grey, then tinted a color by the shader.pic.twitter.com/3WkeJe7MBt
Pokaż ten wątek -
These days, we would not only mask colors but entire materials that we combine in the shaders. This means very little texture data works hard at giving us results. Textures are big blocks of data, remember. The less the better.
Pokaż ten wątek -
Okay, so why not map the same bits of texture all over the models? Like have flat bits and edge bits etc. Well, we do. But something you need to know is every seam in your UV map essentially splits that edge under the hood. You are effectively upping your polycount.
Pokaż ten wątek -
So, you have to balance fast rendering with texture size. And level loading speeds too. And texture streaming. Again, pretty painting just won't cut it.
Pokaż ten wątek -
Here are some hand painted maps I made some fifteen years ago. Some from mods (quake 2 Doom) some from cancelled xbox mmog citizen zero.pic.twitter.com/dbxNq54yS7
Pokaż ten wątek -
These days I use Substance Designer, Painter and alchemist as well as Maya, 3dsMax and Zbrush to make textures. This is gives me much more power and flexibility in the titles I work on as I blend geo, smart materials and graphs to make my maps.
Pokaż ten wątek -
Being able to mix textures you paint with procedurally generated textures as the game loads is extremely powerful. For example, an SBSAR can read in black and white text images and switch out the writing on these textures for localization.pic.twitter.com/LzkJXqYecY
Pokaż ten wątek -
In Where The Wild Things Are, my job was Carol's textures at Animal Logic. I did the textures in photoshop and deep paint. I lovingly, meticulously reproduced the hand painted glass eyes the Creature Workshop made using dozens of color calibrated Raw images.pic.twitter.com/rSRnZoLFoZ
Pokaż ten wątek -
To do this, I had to calibrate the images into the right color space then loiter at the compositors desk checking the match at the end. The reason I bring this up is just whacking on chopped up photos of the puppets would not reproduce the effect in the film.
Pokaż ten wątek -
I had to compensate for our renderman pipe, sharpen, layer up depth and reconstruct. But I fucking adored every pixel of it. I loved that book as a kid and Carol was my fave wild thing.
Pokaż ten wątek -
Whacking a photo on, however, does sometimes work in distant stuff. I mean, the dude next to me working on the monorail in The Spirit made all the passengers cut outs of himself dressed up in whacky shit pulling faces. Did you notice? But... yeah... a photo is NOT a texture.
Pokaż ten wątek -
Especially now we use PBR (physically based rendering) in games. You can go OUT OF RANGE in your painting, so substance have a handy pbr validate check. Also note materials like have real world values you can look up.pic.twitter.com/BrQDz9GxnD
Pokaż ten wątek -
Side note, I had a huge disagreement with Brenden McNamara over photos not being textures, which is why I turned down art directing L.A Noir. This is me dodging that bullet.pic.twitter.com/AVNaftPNcd
Pokaż ten wątek -
You take a photo of someones eye or teeth then jam that on a model? No ambient occlusion. The teeth seem to glow and the eyes are too white. But noooooo. Aaaanyway. Photos are not textures, kids. Just say no.
Pokaż ten wątek - Pokaż odpowiedzi
Nowa rozmowa -
Wydaje się, że ładowanie zajmuje dużo czasu.
Twitter jest przeciążony lub wystąpił chwilowy problem. Spróbuj ponownie lub sprawdź status Twittera, aby uzyskać więcej informacji.