Cabin with individual logs/boards, per pixel lighting

This is a building I’m making. I will make many similar ones when this one is good.

The main walls are made out of logs. Each log has its own normal/color map. They are all batched into one single mesh of course, once placed. To get the part near the roof cut at an angle, the original log is just re-shaped and texture coordinates re-mapped.

Same thing with the boards. Currently, the door and the wood-colored boards near the entrance are textured and normal mapped. The white boards and the brownish ones near the roof are only normal mapped with a solid color. They will be using a texture as well later (for more “texture” :D). Texturing is not 100% fixed yet, as you can see. Need to fix some stretching etc.

When using vegetation, the “blockyness” of the cabin becomes accentuated, which is a problem. At least from certain angles. There’s something like 4-5k triangles in the whole cabin, so it wouldn’t be a problem adding a few “joints” on certain boards to give a better outline. In a given scene I will probably have 2-3 buildings at most, so keeping 1-10k triangles (depending on size) is nothing compared to the vegetation anyways.

Btw. this isn’t the proper environment, just using it to get a feel of how these kind of buildings blends with the surroundings. Normally there’d be a few smaller houses (outhouse etc.), a fence (or “gärsgård”), and of course a lot more features on the ground, trampled path, bushes etc. The cabin area would be more “framed”, not just a cabin popping up out of nowhere.

That looks like a nice start, however I see what you mean, it feels too “clean” at the moment. It needs some weathering.

A few tips - put watermark textures, like dark marks coming down from the corners of windows and under the eaves etc. Darken the texture as it gets near the floor to represent mud splashing it etc. This could maybe even be achieved with a “weathering” shader that looks at things like z height in the model, sharpness of corners, etc.

What would be really nice is if one of the shaders distorted the geometry slightly to give it a slight irregular feel without needing to add more polygons at all.

also just make better normal mapping / parallax mapping(instead of more faces). diffuse texture also need to be “fixed” IMO.

i would really recommend small parallax here.

I think the colors also make it look more clean than it should. The red is too “glowy” and the white is too bright.

Also, there are no shadows so it looks like it was plopped there from some other place. Shadows and muted colors would go a long way to make it feel less out of place.

Dirt, dust and scratches always makes things more realistic :stuck_out_tongue:

I suggest you use less bright colours. Make them more brownish. Adding some cloud with a low opacity helps a lot, I discovered yesterday. And as nehon said; dirt, dust, scratches.

Thanks for the imput all. I agree with you, everything should have a bit more gray in the textures. Imagining the first image but with everything a bit grayed out. It would look more in line with the rest.

The über red was actually deliberate. I wanted because it should look like a newly painted wall (since it’ll be used for commercial purposes). There’s even a subtle light red/brown matte kind of specular color to make it more visible. But I also see that “glow”. Should be more grayish “weather beaten” instead, like the original cabin looks.

The door is maybe the best part? It has part of the board discoloring it. There’s a diffuse and a normal map there.

Btw. I am just using a slated metal roof atm, with uniform color and specular lighting (naturally…). Maybe a normal map and a texture with some roof bolts and stuff would liven it up a little as well. I see that uniform color does not look good - ever. Not even with a normal map. It’s just too bland.

Again, thanks all. Gonna add shadows too hmm… seems I just forgot. It’s all just regular jME mats anyways. No problems doing that.

Hmm no, gonna wait with shadows until the base color stuff is fixed.

A reference image:

Part of the issue is that you don’t have real lighting but I think the main issue in your original images is the overly saturated color and exaggerated contrast. The difference between the board faces and the board highlights would not be so much… and yeah, there would be a touch of the other colors to better catch the lighting characteristics.

I guess this material is completely unlit?

edit: “bunch of other colors” made sense to me. I meant “not only red but some green and blue” ie: what you said about making it a little more gray.

Thats the real building. Those are the logs from which the normal maps are extracted. Was gonna "spice it up" a little but failed. It looked pretty good in blender actually, but that was because of multiple layers of colors and textures, and a much better lighting setup (just a sun and an ambient light in the jme scene). I see the unlit "fixed function" look it has now.

Gonna start by adding textures to all boards I guess, and give all textures a more old and dirty look. That'll reduce contrast and saturation. Then start working on the straight lines.

I'm not too sure about parallax and geometry shaders tbh. It is a better approach, but these apps will run on pretty crappy computers. A few extra verts will slow the app down but it will definitely work.

All of that will help and you seem to know what you are doing, but if it were me, I’d try to get the base colors right first.

Compare the two…

Notice how the first one looks like some kind of black and red velvet and the second one looks like wood. Get the first one’s color saturation closer to the second one and it will take lighting a lot better.

Also, I’m curious about your lighting setup. What direction was the directional light pointing and how bright was the ambient? What colors did you use?

This was a cabin I made awhile back ago,and just threw it into my latest testing scene with some vegetation i’ve been working on in my spare time. link here. The plants are using normal, alpha, diffuse, and specular maps. the Cabin the same but without alpha. The terrain is still a w.i.p texture wise. And lighting is 1 directional, and 1 gray ambient.

1 Like
@lwsquad said:
This was a cabin I made awhile back ago,and just threw it into my latest testing scene with some vegetation i've been working on in my spare time. link here. The plants are using normal, alpha, diffuse, and specular maps. the Cabin the same but without alpha. The terrain is still a w.i.p texture wise. And lighting is 1 directional, and 1 gray ambient.


Forgot to add fog to the default lighting material heh. That was one of the reasons the cabin looks different.

Did some re-texturing of the logs, the image show how they look now (EDIT: click link and use the magnifying glass, bad/no AA in thumbnail). I’m thinking about doing the logs colorless, then modify the texture color later. This way I can use the same logs for different colors. Probably run a filter or two as well to emulate the “diffuse effect” old paint brings.

The edges are open, because the cabins I make have boards covering them. This saves another mesh and material. Gonna make a few logs with closed edges as well.

I’ll re-build the cabin now with better texturing and then put it here, hope to get some more comments then.

Those look nice :slight_smile:

It might be overkill but I would almost be tempted to write a “wood wall generator”. Define the mesh for one of those logs and then stack them on top of each other programatically, uv mapping them to a random log inside the texture as you go. If you map front and back to the same texture and you get double the number of logs for your texture size as well. That way you can do any size wall with less obvious repeating of texture patterns.

That depends at least partially on whether you are building the various buildings randomly/programatically or creating them as models though.


Hmm. They are models now, so I duplicate each log and displace the texture manually for each one. There’s about 10 individual log textures in the same texture (sort of like a tiled wall texture). I guess those models are simple enough to generate and give random tex-coord displacements, but I mainly work with real buildings so I have to look at them and make a “copy”.

Sure, if you are doing a model for the full building then you wouldn’t want to procedurally generate just bits of it :slight_smile:

I was just thinking that in a procedurally generated world procedurally generated buildings might be fun too :slight_smile:

If I had time I’d even offer to write the generator as it would be sort of fun…but no way I have time at the moment. Got some big announcements coming up on my own projects and need to get everything ready in time :slight_smile:


Yeah I know what you mean. With simple models like these ones it should be no problem, and it would be pretty cool. Btw I think pspeed has a system like that for buildings. He generates some buildings and they are slightly different, but the same components basically. Saw a screen when he announced that feature and it looked very good. Maybe build a small log cabin settlement like that or something hehe.

Anyways, I have now made a building of logs. It’s a kind of barn they used to store hay and stuff before. Simple building, and often they are grey and very old. Gonna add some colors later and make more buildings.

This building blends in a lot more then the red one. Don’t mind the crappy trees.

Here’s a shot from close up. Sloppy texturing on that horizontal roof board apparently…

The boards has got 2 or 3 segments now, and are bent slightly out of shape. The roof plates are quads. Had to enhance the normal map to make the “ridges” more defined. Still not good, but getting there. I might actually add a few verts to make the ridges more prominent, as displacement and parallax etc. looks pretty weird with shadows unless the whole procedure is repeated in the shadow shaders (they use the base mesh by default, not the displaced one). Btw. that is an issue with trees and rocks as well I noticed.

Looking out through the door:

And a final image:

In this image it is easy to see the “curves”. There’s some uglyness there behind the vertical board apparently. I should probably move the wall a bit, but that’s another issue.

I think it blends in a lot more now tho? Feels more like a part of the scene, rather then something that’s been cut and pasted into the images from somewhere else.

Yeah, that blends in much better. :slight_smile:

It just needs something doing to the ground under it now, stopping grass under the hut and immediately outside the door etc.

From what I saw in his approach pspeed uses a modular building approach, pretty similar to what I would do for buildings - although I think his are based off a fixed grid (which makes sense in a blockworld but wouldn’t work quite so well in a more naturalistic world). Work out the room/corridor plan for the ground floor, then if doing another floor add in a staircase and generate the next floor by taking the lower floor as a base and modifying appropriately. Repeat for further floors as required.

Once done you can then build roofs in appropriately on top of all the rooms.