An Artsy Blog by Yuya Takeda

Tag Archives: texture

I’m really not a “pixel art” type of guy. I wish I was, but unfortunately I’m just not as great with it. Now making it more interesting, what about textures? Those are more accessible honestly, and to me they’re a step down from drawings and stuff. So I began investing a bit of time trying to figure out how I can make it happen. After a couple rounds of doing manual pixel art, I realized I can potentially make procedural textures out of it. Of course, it won’t have the same feeling as manually created pixel art textures, but this project was all about how close I can get it. First of all some past things I’ve tried.

This was for my thesis film: The Door to Tomorrow

The things falling apart

I’m not a pixel art artist.

In these two cases above I’m basing the original texture off of procedural means. I had to do this partly because I had little time to generate nice looking backgrounds for the “game scenes” in the animated film. The textures were first generated in FilterForge, then processed again in FilterForge using a filter called: I Dream in EGA by Mike Blackney. The filter has custom color input, so I can choose a couple colors matching the scheme of the texture provided. This way we don’t just end up with the default 16 colors.

I can then pick and choose what parts of the texture I want to use and also erase bits and pieces of pixels accordingly to have “stuff sticking out.” The method is simple, rapid, and quite good looking as long as you don’t change pixel scales.

But I kinda wanted a bit more. So I began investing some time doing more manual pixel art to learn the little things considered. There are tons obviously, and after studying more pixel-art based textures, I came up with a small method allowing for the style to be achieved while providing the ease in deployment. Of course, this is FAR from being a complete solution to achieving that specific clarity in style, but it’s decent small step forward.

I have a copy of FilterForge 4 beta 1, and they featured groups. I’m using that. Meet the Pixel Shader, the grouped component that takes a color map and height map and spits out pixely textures with shading.

PixelShader! Makes pixely textures.

The method employed here is actauly relatively simple. The output look is what’s difficult to achieve. In creating the little shader there, I basically had to modify the entire texture to suit a nice looking image. So it’s a bit more work than just “plug and play” unfortunately. But the deployment is fairly easy and the adjustments you have to make to the filter are pretty basic.

The internals of this component isn’t impressive at all. It’s in fact stupid simple.

Nothing fancy here… just a couple derivatives doing something

The package contains two derivatives so you can have two directional lights with controllable colors. There’s an ambient lighting, shading bias, and several more options to fill in the goodness. The final stage is the pixelation, which happens via a checker node. I use this because it has two color inputs, so if you input another image into that checker, you get a “checkered” result between two images. This can be useful for a “dithered” look. In this case the filter isn’t needing that effect so the output comes straight out.

The whole filter in action

But in the end, what you ULTIMATELY need to do is design a good texture to begin with. In this case, I designed the filter and had to modify it so it would work with the system I implemented. The idea here is that the little component isn’t doing the entire job, it’s the whole filter that’s giving it the good look and effect of it.

I went around modifying other filters too so to achieve the same effect. A couple months ago I produced a filter that created SciFi Tech walls. It’s a pretty detailed filter and I thought… it can use a bit of pixelation. Here’s a screen cap of the presets after adding the Pixel Shader group component to the filter.

These might be quite visually too much if used practically, but it’s still a good starting point for detailed pixel stuff.

Of course, it’s flawed in that it’s not the true goodness of hand crafted pixel art. I’m not going to state here I’ve made the pixel art machine, but it kinda gets part of the job done. In my mind, the next step after producing the texture is to actually go in and give more context by hand. I made this to help myself a bit along the way and not necessary to finalize a product.

While I don’t want to be too restrictive, I’ll need to keep the filter to myself for now. There’s still a lot of things being developed for it and I’m using it personally in my job as well. This post does expose some of its secrets but doesn’t explain it all.

In part two of this discussion, I’ll talk a bit more about designing the filter so it works around the Pixel Shader.

In this not-so-much of a tutorial, we’ll take a look at how one of the filters I made some time ago called Rusting Tech Wall was constructed in hopes to give you a glimpse at some of the techniques I use add depth and detail into one filter.

This video does not show how you would go about making specific textures, but it shows you some of the ideas behind creating a filter and what goes into it.

Somehow if you’re a 3D artist, you always end up looking for wood textures. Whether you are a student or a professional or a hobbyist, you just always run into a need or want for that wood texture. You may go on Google and search up some imagery, you can always go to some texture resource website and dig some textures up. Very cool. But what about making your own?

Important note: Now I’m going to be using a program called Filter Forge 3, this is a fantastic piece of node-based fiter/generator creation program you can use to make all sorts of stuff. In this case I’ll be using it to make the wood texture I’m talking about. Though let me tell you one thing: you don’t always need Filter Forge to do this tutorial. It kinda takes skill but you can essentially do almost the same thing in programs like Adobe Photoshop with a little bit of creativity and understanding. So it’s really not just for Filter Forge users. :)

Another Important Note: This is a very very simple tutorial. I didn’t include specific numbers because I think you… can really just find out those numbers yourself. ;)

Alright so it’s pretty generic but we have lots of fine details, and some patterning going on. So what’s happening here? The basic idea is this: I basically have this in 3 layers which produces the effect.

Lets Break it Down Further

Alright I want this whole thing to be as basic as possible, given that some people think this is hard. No, it’s easy. Actually very very easy. So let’s begin our journey through this texture.

The first layer is just a perlin noise pattern, the second is a perlin noise pattern with a zebra-like profile, the final layer adds the thin, noisy grains. That’s our basis for the texture. The point here is that we’re using perlin noise generators to create much of the basic look of it. And by layering them, we achieve the apperance. The rest of the process is coloring the combined noise textures in a way to convey the wood feel.

Here’s how the wood texture looks without its color.

Minus color = pretty grainy surface that looks like weird drapery and all sorts of other things.

This black and white image can become several things: it can be a bump map or a map for colorization. But we’ll skip that for now and take a look at the core construction of this texture.

The first base layer looks like this a general stretched perlin noise:

The bottom most layer looks like this.

Yup. That’s the basis. Now the second layer:

Zebras!

There’s a bit more going on with this layer. You can see the “zebra effect” I’m talking about here clearly. The last layer looks like this:

Tiny Grains!

Alright, so those are the 3 key layers and when combined they basically give you that black and white image map you saw earlier.

Because I’m using Filter Forge, generating these kinds of noise patterns isn’t that complicated. It does take a bit more using programs such as Photoshop though and I encourage you to experiment methods in creating those noise patterns you see above. I figure though, I’ll also make another experimental / tutorial post on how you can make those textures right in Photoshop without 3rd-party-plugins in the near future.

In Filter Forge the node structure would look like this:

Filter Forge components here...

Not that hard right? Alright, we can do a little bit of optimization here. Since I know that I can control the profile of the perlin noise patch, I can feed a curve to simulate the threshold node, hence removing 1 step of the process.

Minus one component.

It’s really up to you on if you want to do it either way. But of course, the more optimized the faster your filter will run. Pretty simple.

Coloring the texture is super simple. It it only takes 2 components: the profile gradient and elevation gradient.

Really really really simple.

And that’s really all there is to this texture! I tried to keep this tutorial as simple as possible giving you the really basic idea of how you’d go about producing the look you desire. Of course, if you want more details, you can add more grain, you can add more roughness via the perlin noise components, but ultimately what it comes down to is the layering and breaking it down into those core components. Once you define the basics, you can then move on to create elaborate, detailed textures you want.

Here’s what my wood generator looks like with all the rest of the components and controls.

Makes wood.

Sure it’s a little more involved but most of it is just a chain of alternative styles and looks just so I have a bit more control over my end result. You may be looking at this and going “that’s … complex” but really the basic idea hasn’t really changed and the additional chain of components you see get switched on or off by a switch component.

So there you go. A very elementary tutorial / introduction on how you can produce the wood texture from absolutely nothing. :) By the way, because Filter Forge can make this texture seamless so this can become a nice tiling texture for your 3D scene or object.

If you have any questions or commentary just write as a reply. I’ll try to respond to them and also I may follow up with another post too.