Home Technical Talk

FAQ: How u make dem mats? Hands-on mini-tuts for making materials and texturing

1246

Replies

  • D.Carmine
    A patina can determine the value and age of a gun. A patina is built up over time through age and wear.

    It looks like the gun you are modeling is fairly old. Be sure to think about where it came from. Was it kept in storage for a long time? Did it see some use and therefore had the chance to build up some wear? From the reference it looks like you want it to have some light hints of dirt and outdoor use.

    Tip: When recreating a patina, make sure to avoid making it look as if someone ran some steel wool over the weapon. That is the wrong kind of wear/age you want. Also, it would ruin the value of a gun in real life.

    Hope that helps.

    - D. Carmine
  • Mr Significant
  • Mr Significant
    Offline / Send Message
    Mr Significant polycounter lvl 11
  • s6
    Offline / Send Message
    s6 polycounter lvl 10
    http://www.polycount.com/forum/showpost.php?p=2073795&postcount=346

    Perhaps that will get you pointed in the right direction. The "Fluorite" you've posted here is quite a bit different than a lot of the other refs on google, though. This one appears to have a light radiating out from the center of it. To achieve this maybe you can hollow out the portion of the mesh you want to appear "Lit" and put a small sphere in that hollow spot. On that sphere you can apply an emmissive material that mimics a light which will partially illuminate the semi transparent walls of the crystal.

    No clue if that will work, btw. Just spit balling :) I'll give it a go at lunch.
  • Mr Significant
    Offline / Send Message
    Mr Significant polycounter lvl 11
    thanks s6, Ill post something here, if I'll give it a chance to do ! Thanks for link
  • Sanki
    Guys: how would you approach creating a texture/effect for something that was dipped in oil
    oil_1870264c.jpg
    oil-spill-animals-bird-5.jpg
  • felipefrango
    Offline / Send Message
    felipefrango polycounter lvl 9
    Hmm. Very dark diffuse, bright specular with high power and intensity, and some cubemap reflections to top it off could do the trick.
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    Hmm. Very dark diffuse, bright specular with high power and intensity, and some cubemap reflections to top it off could do the trick.

    Also, take the underlying normals and soften them a tad wherever oil lays. The layer of thick material will have surface tension and cause a softening affect.
  • DeepSpaceBanana
    Offline / Send Message
    DeepSpaceBanana polycounter
    Does anybody of a database or something where you can find the scientific roughness values of various materials?
  • Nox
    Offline / Send Message
    Nox polycounter lvl 5
    Hey guys, how would you approach creating textures with that oldschool look?

    I know, it's probably very simple textures, but I can't get it look right.

    Untitled-1.1407400776.png
  • marks
    Offline / Send Message
    marks greentooth
    Create textures at higher-res with low-frequency colour noise. Scale down with no/bad sampling?
  • Michael Knubben
    That's not a texture, The background is prerendered. The noise you see is presumably from the compression and palette (if any).
  • Sanki
    MightyPea wrote: »
    That's not a texture, The background is prerendered. The noise you see is presumably from the compression and palette (if any).

    Yes it looks exactly like you are saying. Maybe try do downgrade/downsample your texture like a lot. 10% of the original quality.

    original
    a>

    downsampled
    rPfgI77.jpg
  • Nox
    Offline / Send Message
    Nox polycounter lvl 5
    Thanks guys, I'll play with noise.

    Yeah, I know it's prerendered, probably in old Softimage|3D. Of course I don't want such horrible artifacts :) Just to maintain overall style.
  • Kaine123
    Offline / Send Message
    Kaine123 polycounter lvl 10
    ugPr4hx.jpg

    So here's the reference I'm working off of. I'd say that I've done pretty much all I can do with the metals on this piece, but I'm a bit lost as to how I can achieve the look of the bumpy polymer/plastic sort of material of the grip, and also weather it so it matches the blade.

    bZuRfSJ.jpg

    Here's a closeup of what I have so far, the albedo is a solid color at the moment, with noise bumpiness superimposed on the normal map.

    WSch5tH.jpg

    Here's a wider shot of the whole object.
  • s6
    Offline / Send Message
    s6 polycounter lvl 10
    Try a spec with more contrast in the noise and a higher roughness value.

    My quick try isn't great, But might get you pointed in the right direction :)

    CfAOj9u.png
  • Kaine123
    Offline / Send Message
    Kaine123 polycounter lvl 10
    How would you suggest I add wear?
  • s6
    Offline / Send Message
    s6 polycounter lvl 10
    The same way you would anything else. Main differences will be in the gloss. Lower (rougher) values for where it gets scraped and worn I would think, and higher where there are oils/fluids.

    This shot is with a constant spec value, no texture. I realized shortly after posting the above images that an aggressive spec doesn't make a ton of sense on a surface that should be relatively constant.

    Adding wear to your normals helps a lot as well, sense plastic is typically a semi soft material.

    Apologies for crudeness, these are just quick examples i'm applying to old meshes.

    wY6MPIu.png
  • livialivialivia
    Newbie question here. How you make them mats for a helmet in vray? Can't seem to get it right. capacete-ayrton-senna-12536-MLB20062230506_032014-F.jpg
  • Fingus
    Offline / Send Message
    Fingus polycounter lvl 11
    Show us your current progress so we can tell exactly what you are lacking.
  • Kaine123
    Offline / Send Message
    Kaine123 polycounter lvl 10
    Reposting from another thread after I finished the thing. Thought it would be nice to show.
    Kaine123 wrote: »
    I'm not an expert by any means but this worked for me, so I hope it helps. :)

    tumblr_nalaa1xBaI1tumvtho1_1280.png
    The effect for the polymer grip on this knife I recently made is more pronounced than the plastic on your UMP, but I hope this gives you a good starting point to play around with.

    I first used some generic noise I generated in PS, then I passed it through a normal map filter. I then used the combine normals script for PS (just don't forget to use a mask lol.)

    Then I generated some maps from it. I plugged the cavity map into the gloss, and multiplied it a bit. After that I left the albedo pretty much devoid of the noise because that seemed to ruin the effect. The metalness was pretty much just a mask, I didn't really bother much with it. The scuffs and scratches weren't in the normal map, they were really just blacked out in both the gloss and albedo, which seemed to get the job done.

    Here's the maps.

    mPUcqxw.png
    UbnHHmF.png
    CflaCPu.png
  • reedweinstock
    Offline / Send Message
    reedweinstock polycounter lvl 8
    anyone know how to make velcro for a normal map?

    qmikEYx.jpg?1

    Thanks,
    Reed
  • ZacD
    Offline / Send Message
    ZacD ngon master
    You might want to use this technique to get some depth on the lowpoly http://www.polycount.com/forum/showthread.php?t=130038

    On the highpoly that really just looks like a noisy texture powering displacement.
  • axxic3
    Trying to model a headlight, this is my attempt. Placed a solid white material behind the transparent headlight "glass" material. Im using modo 701, any tips?
    lJynnmF.png
  • reedweinstock
    Offline / Send Message
    reedweinstock polycounter lvl 8
    Earthquake when you did the painted black metal did you just add noise and basic scratches to it or did you have to do anything else to it? Do you put noise in all of your layers or just specular and micro surface?

    WIN1I5k.jpg

    Thanks
    Reed
  • EarthQuake
    The surface variation for the black paint material is really all in the gloss/roughness map. The albedo and specular are pretty much even values there I think. The spec only changes when it transitions from paint to metal as those are two entirely different materials.
  • reedweinstock
    Offline / Send Message
    reedweinstock polycounter lvl 8
    @EarthQuake: I got the base color values just fine. Im just having a really tough time creating that metallic speckle look. How do you create yours?

    Thanks
    Reed

    Ig6AeRA.jpg
  • axxic3
    I would like to know this as well
  • Vailias
    Offline / Send Message
    Vailias polycounter lvl 18
    It looks like a noise or very subtle pattern overlay in the gloss.roughness map. Not so much that it overpowers the longitudinal scratches, but blends with them a bit.

    Axxic3: Regarding your headlight: you'll need refractive glass and a reflective backing to get the same look.

    Also unless your final presentation is going to be from Modo, you may want to worry less about the materials and more about the shape till you've got it in your final rendering app.
    Are you going low poly with it eventually?
  • EarthQuake
    Sorry for the late reply, yeah, that's almost entirely in the roughness map.

    Heres the scene and textures: https://dl.dropboxusercontent.com/u/499159/lenscontent.zip
  • EarthQuake
    Normal map - defines per-pixel shading information
    albedo map, diffuse map, color map, all the same thing really (albedo defines diffuse and specular in metalness workflow more here)
    gloss map, roughness map, same thing, defines how rough or smooth the surface is which in turn defines how broad or narrow the specular reflection highlight is. Roughness is usually inverse scale so black = most glossy and white = most rough
    specular map, defines the reflectivity or how reflective a material is
    metalness map, defines which areas are metals (white) or insulators/non-metalic (black
    height, depth, displacement, parallax map, all the same thing generally grayscale map that defines the height or depth of something for various functions
    gloss/emmissive map, map to define areas on the texture that will glow
    flow or direction map, used to define anisotropic highlight direction, sometimes water flow depending on the shader
    alpha or transparency map, used to define what is opaque and what is transparent
    translucent or thickness map, used to define how thick an object is for simulating SSS
    sub-dermis map, used to define the color below the skin for simulating SSS

    that should be basically it
  • Kaine123
    Offline / Send Message
    Kaine123 polycounter lvl 10
    73-dlx-right-close-sm.jpg

    I have no idea how I would go about creating a case-hardened metal look. Any suggestions on how I could achieve it?
  • throttlekitty
    Render volumetric and/or simulate smoke, color ramp linked to distance?

    Aside from the brushing, the metal keeps the same gloss/spec values across the whole shebang.
  • Bruno Afonseca
    Kaine, how does that behaves with different view/light angles? Do the colors stay the same? If so, I guess you could just tint the spec (or albedo, if using the metalness workflow)?
  • Kaine123
    Offline / Send Message
    Kaine123 polycounter lvl 10
    tumblr_nhqabt1PeK1tumvtho1_1280.png

    I ended up just stitching in pieces from hi res photos. It turns out that case-hardening doesn't effect the reflections too much so I just limited the effect to the albedo.
  • vworks
    Are there any techniques or tutorials out there that shows how to go about replicating these colors? The main areas I want to learn are how to blend details with the basic colors (can be seen at the claws) and how to replicate the basic colors (can be seen at the head).

    u1RRFw.png

    I am an newbie so I don't really know of much art terms but by coloring I am not talking about values but more of how to use certain brushes or maybe shading techniques. My goal is to texture 3D models with this.

    For anyone who is interested, the art is from a game called Dragon's Crown.
  • Wenceslas
    Hi there !
    I'm sseking for hints or solutions on the process used to generate an ocean's waves height map.

    So far I've this result on marmoset :
    LNZ3kmwl.png

    Yet the waves are quite ugly since the height map as been generated from the normal map.

    So I was wondering if any off you could give me intel/tips on how to get lovely wave-y height map for an ocean material.
    Here are some examples of the kind of waves I'm talking about :

    http://youtu.be/cykZR1hrPUs?t=32s
    http://youtu.be/7OEm-SBOe4I?t=57s

    Thanks

  • aku286
    hi, i am trying to make a recreate the shader made in this thread http://www.polycount.com/forum/showthread.php?t=98578
    using the textures linked there.

    i am using shader forge on unity

    i managed to get the texture scrolling effect but after i apply the material to a plane the texture gets stretched.
    First i thought it was due to the aspect ratio but that did not solve anything, then i played around with the tiling and offset values. This solved some problems like adjusting the position of texture on the plane but the texture still looks stretched. i am able to get the size of the texture i want by increasing the tiling value but it is creating multiple copies (as shown in the link below).

    http://imgur.com/kgSlSQP

    how can i get single texture without any deformation?
    P.S: i am a noob
  • Vailias
    Offline / Send Message
    Vailias polycounter lvl 18
    To avoid derailing Adam's thread I'm moving this discussion over here.
    coots7 wrote:
    Vailias, while you're on the topic of the Constant Bias Scale Node, would you mind explaining what that does? My understanding is it's a multiply and add node combined, but I don't really get it...
    Vailias wrote: »
    Constant bias scale is really just short form for an add multiply, yes.

    Think like manually unpacking a normal map. Your source data is from 0-1, black to white, but you need it in the range of -1 to +1.
    So you need to bias it, and scale it.
    in this case, you add(bias by) -0.5 then multiply(scale) by 2.
    graphical example to play with: https://www.desmos.com/calculator/nkawgowtio

    The black dashed line is the normal distribution of values in a full gradient. (just all the numbers from 0-1)
    The red line is those same numbers after the constant bias scale operation where the b slider is bias, and the c slider is the constant.

    For what I recommended to Adam, its basically the reverse of a normal map unpack

    The sine function outputs values from -1 to +1 over the period of 2Pi (because the function is in radians). But what is useful for the blending is just the 0-1 range where a 2 point lerp is well defined. So the constant bias scale for a bias of 1 and a scale of 0.5 will make a -1 to 1 data set into a 0-1 data set.


    If you recall geometry, adding a number to a function moves it up and down the graph, multiplication squashes and stretches the figure, while adding to the domain of the function moves it horizontally. So a constant bias scale both moves and stretches the graph at once. Images are really just numeric data, even though we display them as colors.

    If you look at the gradient results he wants, imagine them as a height map rather than a color gradation. If you look at it that way, you'll see what's changing is the steepness of the slope around the halfway point (0.5).
    I suggested with the sine option as it has a natural pivot point to its overall slope, regardless of wavelength ( the function varies about its zero point), it also gives smooth, and in my opinion predictable, results. So you'll only need one variable to get a wide variety of looks. Really you could even drive the gradation sharpness with another paint channel, but you'd have to come up with another method of blending more than 2 colors.

    coots7 wrote: »
    Ah thank you Vailias. That makes more sense to me, it's nice to see a graphical representation of whats going along side your explanation. I have a couple more questions.

    Why is a Normal Map in -1 to 1 space? Are 3 channel images always that way? I assume alpha or single channels in an RGB image are 0-1?

    If you were to take something thats -1 to 1 and constant bias scale it with incorrect values, going into a Lerp alpha, would the Lerp give an error because it's not receiving 0-1 information?

    Given you can scale the information to whatever you want, does this lead to lost or fill in the blank information? Similar to sizing an image up or down in resolution you lose/fake/average pixel color.



    I'll tackle these one at a time.
    Why is a Normal Map in -1 to 1 space? Are 3 channel images always that way? I assume alpha or single channels in an RGB image are 0-1?

    These 3 are somewhat linked. To really answer this we need to talk about image formats and bit depth, so this is going to get a bit computer sciency, but read through it. We're all better artists for knowing how our tools work. Image files come in a variety of formats, but all of them have to store their data in some form of binary representation, A string of 1's and 0's or "bits" (meaning binary digit). Each pixel takes a certain number of bits to specify its content, and the length of this string of bits for each pixel is called the images "bit depth". You'll hear terms like a "24 bit image" or a "32 bit image", that's what's being talked about.

    Each image has a number of channels, and each channel uses some number of bits of the total depth. Most images you'll run into are 8 bits per channel. 24 bit images are RGB 32 are RGBA. (you can have things like a 16bit single channel image, or even 16 bit per channel images for 48bit rgb, and some compressed formats we use for games are like 5 bit rgb with a one bit alpha, but I'm sticking with the most common 8Bit Per Channel RGBA for simplicity)

    8 bits gives 256 possible values for the data to hold, which is why your web colors are specified in hexadecimal sextets (ie #FFAAFF). However, just because there are 256 values per channel, doesn't mean that those values have to be integers (whole numbers).

    Image data is generally dealt with as being from 0-1, regardless of bit depth. Why? Well because the value of the channel corresponds to the brightness of pixels in a monitor. from totally off, to totally on. If you increase the bit depth, you increase the number of possible values by orders of magnitude. a 16 bit image has 256 times the possible values as an 8 bit image, but your monitor can't just become 256 times brighter. So instead of having a higher maximum, we get finer granularity of the values between 0 and 1. (I.E. We get more steps.)


    The upshot of all this is that the data as stored, does not determine how it is finally represented in memory. You have to "unpack" the bits into what range you want them.

    This brings us to
    Why is a Normal Map in -1 to 1 space?

    A normal map is just what is says on the tin, a map of normals. Normal, in this sense, doesn't mean regular, everyday, or ordinary, it means the direction perpendicular to a surface. So when you're baking a normal map, what you are doing is recording the direction relative to the the perpendicular direction of low poly model's polygons, from the polygons of the high polygon model you're sourcing the data from.
    The reason its from -1 to +1 is because the normal can point in both positive and negative directions along any of the three cardinal axes. Its only -1 to +1 because part of the definition of a normalized vector aka a direction is that its length is always 1. Larger possible numbers don't really make sense in its context. (This is simplified a bit)

    Shading on a 3d model is done by computing some function of emitted light, and the surface direction, its normal, at some number of points. Initially, only the vertices were calculated, but since the space between vertices has to be filled in, the surface direction, and lighting information at that pixel, are linearly interpolated (Lerped) between vertices. Eventually the lighting information could be calculated per pixel, but the surface direction data was still per vertex. A normal map solves this by providing per pixel surface direction information while keeping a low(er) vertex count.


    So now for Lerping
    coots7 wrote:
    If you were to take something that's -1 to 1 and constant bias scale it with incorrect values, going into a Lerp alpha, would the Lerp give an error because it's not receiving 0-1 information?

    An error like a crash or a message? no. Unexpected results? very much yes. Lerp just linearly interpolates between values given an alpha. The alpha value here is more like "percentage of the way from a to b", so if you put in 2, you are then 100% past b. Since we're talking about colors here, lets say you're lerping between black (0% blue) and 100% blue, and you feed in 2. You are now at 200% blue. What does that mean? Your monitor cannot get brighter, but your other color calculations may go awry. In most modern, PBR, Linear color based renderers, a color value greater than 1 typically kicks in some post processing for glare and bloom. In older engines you may notice the shading start to get washed out as if the object is emissive.
    The inverse is more unpredictable though. Lets say you feed in -0.5 to the alpha instead. Your output value is now r0,g0,b-0.5 What is a negative color? How is that handled? If your engine or shader clamps values somewhere, this may not even matter, but the actual behaviour of a negative color value is often unpredictable, and usually undesirable. It likely won't break anything, but it certainly won't look right.

    This isn't to say that you should always avoid negative values anywhere your shader or node graph, but you should generally avoid letting them get to the output portion of the shader.
    coots7 wrote:
    Given you can scale the information to whatever you want, does this lead to lost or fill in the blank information? Similar to sizing an image up or down in resolution you lose/fake/average pixel color.

    Yes. But that isn't always detrimental. :) It depends largely on what you're doing with that data. You have some number of steps, so by scaling them, the gap between each gets wider. You then have to interpolate between them. You have to interpolate anyway if your sample location lands between steps, regardless of how large they are. With modern gpu's, trilinear and bilinear filtering are implemented at the hardware level, so this is practically free.

    This is the same process by which images are scaled up. The reason it often looks bad with scaled up images, is that you are linearly interpolating data from a highly non-linear source.

    However, HDR images are also unpacked by interpolating the values, but that interpolation may be something other than linear, to better approximate the original source data.
  • Clark Coots
    Offline / Send Message
    Clark Coots polycounter lvl 12
    Hey Vailias thanks so much again for your in depth explanations. Technical stuff has always caught my interest and it's great you're willing to take the time share your knowledge. I have some more follow up questions :)

    Ok, generally speaking 8bpc RGBA image data is 0-1. A Normal map is 0-1 8pbc RGB after I'm done with it in Photoshop, then I'm assuming the Engine compresses/converts it to “Normal” information -1 to +1, like UE4 TC NormalMap compression so it can be calculated properly in the shader. So Normal map is -1 to +1 because it holds directional information along all axis. With that in mind does that mean any 0-1 image could refer to some direction as well? Like a Bump Map is up or down?

    Also I'm wondering how much of that -1 to +1 is actually used. Normal maps are generally very blue with hints of green and purple/pink, only if you fill your blue channel with black will the whole Normal map be Orangy colors. Having a majority of a Tangent Space Normal Map be Orange to me signals, Oops I baked wrong, I had flipped normals on my low poly or mirrored geometry with flipped overlapping UVs or something. So in a way it seems like a large portion of color (orange) and the direction of the normal that color produces is undesirable and used rarely. Do Normal Maps utilized the full range of -1 to +1? I've seen the blue channel stripped out of a Normal Map to be used for something else like a GrungeMap. Should artists be doing something like that more often? What are the disadvantages of it?

    Lerp. Linearly interpolates between values given an alpha. This is probably ridiculous and I'm over thinking it but is there such a thing as a Qerp... haha Quadratic Interpolation? I don't even know what that would mean, just curious? If that's useful at all, how would that work if you wanted to Qerp between values. You'd get a different falloff between the two? Based on a curve instead of linear ramp? Would there be a way to control the curve via an image into the alpha of a Qerp? I dont know I think Qerp sounds silly and it is silly, but hey thought I'd ask! Thanks again!
  • Vailias
    Offline / Send Message
    Vailias polycounter lvl 18
    coots7 wrote: »
    Ok, generally speaking 8bpc RGBA image data is 0-1. A Normal map is 0-1 8pbc RGB after I'm done with it in Photoshop, then I'm assuming the Engine compresses/converts it to “Normal” information -1 to +1, like UE4 TC NormalMap compression so it can be calculated properly in the shader. So Normal map is -1 to +1 because it holds directional information along all axis. With that in mind does that mean any 0-1 image could refer to some direction as well? Like a Bump Map is up or down?


    Yeah that's exactly it. The normal map is a direction, because each channel holds a component. Generally R is X, G is Y, and B is Z. If you happen to have a copy of UDK around, open up a texture. There are sliders for RGB Min and Max. You'll notice if you open a normal map the RGB mins are all set to -1.

    When you combine all three channels you get a vector. This is just simple trigonometry. Start at a point on the surface, move in z by blue, x by red, and y by green, then draw a line back to your starting point. That's the new direction at that point, or the new normal.

    Unreal is nice in that it handles the transformation for you. The compression algorithm used for normal maps in it uses more data(and texture memory), but is more accurate, which is what you need for a normal map. Other texture compression options use more lossy versions of the DXT texture type, because they visually don't change much. or well they used on Unreal Engine 3, not sure now.

    And yes, a bump map is also a direction map. Its offset in the vertical direction, or, more correctly, offset from the surface normal. Its still 0 to 1, but you'll notice that most bump map implementations, or displacement map implementations, have a min and max displacement factor somewhere. The map is used as the alpha for a lerp.

    Can any image be a direction? Yes. Images are JUST data containers. They can represent whatever you want that fits in their bit depth really. You can bake mathematical function results into an image like nVIDIA did for their Nalu hair demo. You can export music into an image (with significant fidelity loss, but it can be done), you can import music FROM an image (Aphex twin did this). Images are convenient for a variety of reasons, but one big one is we have access to extremely powerful hardware that can load and process them very quickly.
    Also I'm wondering how much of that -1 to +1 is actually used. Normal maps are generally very blue with hints of green and purple/pink, only if you fill your blue channel with black will the whole Normal map be Orangy colors. Having a majority of a Tangent Space Normal Map be Orange to me signals, Oops I baked wrong, I had flipped normals on my low poly or mirrored geometry with flipped overlapping UVs or something. So in a way it seems like a large portion of color (orange) and the direction of the normal that color produces is undesirable and used rarely. Do Normal Maps utilized the full range of -1 to +1? I've seen the blue channel stripped out of a Normal Map to be used for something else like a GrungeMap. Should artists be doing something like that more often? What are the disadvantages of it?

    This is due to the normal map being created in Tangent space. Notice how object space normal maps are all different colors? Its because of what the directions in the map are relative to. Tangent space maps are created relative to the surface normal of every polygon. A value of 127,127,255 (that light blue color you're used to seeing, is equivalent to the vector 0,0,1. That's straight up out of the polygon, which is identical to the face normal.

    This is partly why you can strip out the blue channel from a normal map. The most useful information is in the red and yellow channels. The X and Y offsets, or, more correctly, the tangent and binormal direction offset. (The terms are interchangeable really, its just that just where X Y and Z point is dependent on what space you're in, while Normal, Tangent, and Binormal are specific to vertices/faces)

    The other reason you can take out the blue channel is that you can reconstruct it mathematically from the red and green data. Its just the 3d analogue to the Pythagorean theorem, Sqrt(X^2+Y^2+Z^2) = Length of vector. Since you know 3 of the 4 terms(X=R Y=G Length=1), you can solve for the last term. Z = sqrt(Length^2-(X^2+Y^2))

    So the upside to this is you can get one extra channel to use in your shader for the same memory cost as an RGB normal map. This is important because when using DXT compression 2 RGB maps are equivalent in memory use to 1 RGBA map, all texture dimensions being equal.

    The downside is the recomputation cost in shader instruction and complexity. Its not huge, but if used everywhere, there could be a noticeable impact, as the SQRT function is rather expensive as shader ops go.
    Lerp. Linearly interpolates between values given an alpha. This is probably ridiculous and I'm over thinking it but is there such a thing as a Qerp... haha Quadratic Interpolation? I don't even know what that would mean, just curious? If that's useful at all, how would that work if you wanted to Qerp between values. You'd get a different falloff between the two? Based on a curve instead of linear ramp? Would there be a way to control the curve via an image into the alpha of a Qerp? I dont know I think Qerp sounds silly and it is silly, but hey thought I'd ask! Thanks again!

    Yes. Its not normally called Qerp, mind you, but quadratic interpolation is common, as well as cubic, quintic, and some higher orders. Its not used as much in image processing but Hermite, Catmull-Rom, and TCB splines are cubic interpolators for sets of control points.
    Quintic interpolation shows up in Ken Perlin's revised noise function. (It was originally a quadratic interpolation, but the specific equation caused issues with bump or normal mapping)

    Also, if you've ever done any HTML work, (or just played on the web long enough) you'll likely have seen elements slide in and bounce or some other motion. Those smooth slides are other mathematical interpolations between two points. Here's a site showing them all: http://jqueryui.com/easing/
    This one has animation! :)http://easings.net/

    Note the quad, cube, quint, quart ones. That's the kind of curve you'd get from quadratic, cubic, etc equations.

    And yes they're useful. What I described in the thread for Adam was essentially finding a quick way to build an interpolator that could be tuned between a quadratic in out and quintic or higher order in out. The specific properties of the sine function fit that more simply than some other equation. Also, basic trig functions on shader model 4+ hardware take like, one cycle to compute, so there's no reason to not use the sine function.
  • ryokukitsune
    i don't know if anyone replied to the question about Velcro but I stumbled a crossed a method while just screwing around in photoshop. all I did was select the patch of texture I wanted the velcro on and applied a monochrome noise to the R/G channels individually, then normalized the working layer in Nvidia tools. creates a nice random look.

    though for full disclosure this was only about a 70x100 patch of pixels on a 2048 map for a character so I don't know how well it will scale up. after playing with it a bit (when I tripped over this trick) it starts to look less like velcro the higher the fidelity of the object/texture resolution. I imagine you could cheat a bit with scaling a small patch and using sharpen/smart-sharpen but I haven't tested this to be sure.

    I'll come back this weekend and post an example of this process if I can remember but I'm not going to hold my breath on fixing the problems with it but hopefully someone can improve on the technique if I'm completely wrong about it.
  • luthyn
    Offline / Send Message
    luthyn polycounter lvl 8
    Hey ryokukitsune, thanks for posting what you found. Excited to see an example of it :)
  • AdvisableRobin
    Offline / Send Message
    AdvisableRobin polycounter lvl 10
    So I'm trying to create a tarnished brass material using a metal-rough workflow. I understand that this kind of blackening of brass is an oxidization, but I'm wondering how I could represent this using metal-rough. Would it just be considered a partial metal or would I just change the reflectance value of it in the albedo?

    Here is a reference of what I'm thinking of
    Aged-Brass-31.jpg
  • ZacD
    Offline / Send Message
    ZacD ngon master
    Oxidized metal is a non-metal in PBR, there might be scratches where the metal shines through.
  • yummip
    Hi guys,

    how would you go about producing a felt shader?
    Something like this would be great.
    I am aware I might be needing to use fur/hair of some sort, but could you cheat it with a displacement?

    I'll be doing this in Maya, photoreal film quality.
    Cheers!
  • yummip
    http://imgur.com/ScWDXzW

    Managed to get quite a nice fleece looking result using Mental Ray, mia material (with fractal noise fed into bump and diffuse) and utilising the fur. Tried with Vray but it doesnt support Maya's inbuilt fur (which has far more control and looks better than Vray fur).
  • Kaine123
    Offline / Send Message
    Kaine123 polycounter lvl 10
    948a969419.jpg

    any suggestions on how to achieve a material like the head of this axe?
  • Assassinaded
    So, decided to make similar thread to the how you model dem shapes, but for materials and texturing.

    I was thinking roughly the same thing. Instead we can have a Monthly Texture Challenge. The creators of it will choose a model. It could be complex could or not be complex. The model will have no UV's laid out. This will allow for the people to get experience in unwrapping and texturing.
  • Pedro Amorim
    ok, make a model for us to texture.
1246
Sign In or Register to comment.