• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Level Design [MAP-WIP] Novoya Forest

Nightingale

Grizzled Veteran
Sep 15, 2010
872
64
Vancouver, Canada
So now that I've managed to get my hands on Wolverine's wonderful tree meshes, I finally got started on working on my first serious project; Novoya Forest (fictional). I'm pretty much just making this thread to get help and advice for various things I have yet to learn about the SDK and mapping.
Spoiler!


Originally, I had intended to give my map a snowless autumn environment, but after seeing how many trees I wanted to use, I decided that covering the entire terrain in grass meshes was going to make the map unplayable, so now I'm working to convert the map into a winter setting. The first thing to do is turn the tree leaves white, which I am only partially able to do.
Spoiler!

Snowy Leaf Material:
Spoiler!


I tried to follow Xendance's advice, but could only figure out the dot-product bit:
Make a material that adds a snow overlay texture on stuff based on the direction of the surface normal. As in dot product of 0,0,1 (in world space) and the normal map, clamp to 0-1 range and use that as alpha for linear interpolate node (lerp node). Mix in some kind of noise texture so that the alpha doesn't look too smooth.
As you can see, there's something wrong in the coloration of the tree. I think the problem I'm having is that the shadows underneath each batch of leaves is extremely dark and this is what is causing the tree to look weird. Does anyone have any idea on how to fix this? I've tried using speculars and even emissions, but nothing seems to work.
 
Last edited:
I'm not sure about the dot product for the LERP alpha, you might want to make a simple test material and assign it to a sphere mesh and test if rotation affects it (it shouldn't) and that the values are calculated correctly.
But based on your pic I think you have to clamp the dot product (using the constant clamp node) to 0...1 range. Dot product produces values at -1...1 range.

But regarding the coloration, I'd say it's the lighting. Also have you unwrapped UV's for the lightmaps? It's basically a flat UV map on the second UV channel (can be other, you can select the channel in the static mesh editor) that the lightmass then uses for the lightmap texture it computes. But I suppose that's up to Wolverine if those are his trees.

What kind of a lighting setup have you got on the level anyway? Currently it looks very dark ;)
 
Upvote 0
I have a dominant directional light casting slightly-brown grey light at 0.60 brightness, and a thick exponential fog. I'm trying to give the map a cloudy foggy sort of feel. (By the way, is there a way to make shadows very diffuse without impacting the performance? Sharp shadows are a bit inappropriate for what I'm trying to do. Maybe I should just disable the shadows?)

I've tried disabling the fog and putting the lighting back to 1.0 with pure white light, but the colouration persists. Is there something I can do in the material editor to address this?

By the way, by clamp to you mean using an absolute function? Or is it a different thing altogether?

EDIT: nevermind, found the clamp function.

EDIT: D'oh. I forgot to build the lighting. That's why everything looked weird.
 
Last edited:
Upvote 0
Er, I guess I didn't pose my question very succinctly. What I wanted to ask was how I could get the terrain's decolayer to reference my modified tree, rather than the regular one provided in the package.

Select terrain, go into actor properties, there under terrain expand decolayer category and find the decolayer you want and change the static mesh.
 
Upvote 0
I'm looking into there, but I'm only seeing the "clear array" and "create new decoration" buttons... I'm sorry to impose again, but do you think you could walk me through this part of the process?

EDIT: AGH, the SDK is the problem here! It's cutting off some buttons which I didn't notice until just now. No wonder I was having so much trouble. Is this a common problem in the SDK? How can I get these buttons to appear again?
 
Last edited:
Upvote 0
Current progress:

Spoiler!

Spoiler!


Despite being told not to, I started to build one of the objective's trench networks using the trench meshes included in Props_Mamayev. I know I'll pay for this in tons of work in the future, but the date of Mamayev's release is completely unknown and I just wanted to get started on my map. =P

I currently have 3 problems:

1.) The trees in the decolayer are having the same shadow problem which the static mesh tree used to have, before I built the lighting. Not really sure what to do here.

2.) I am currently using a decolayer on the outer (background) terrain that is populated by super-low poly trees I made (refer to second image). I am noticing that the decolayer tends to put these meshes into a grid-like formation, which looks very unnatural even at long distances.

3.) I want to use the super-low poly tree mesh as an additional LOD to the normal trees. I tried exporting the mesh as an .obj and then re-importing it using the static mesh editor to create another LOD, but when I view the new LOD the whole mesh just disappears. I have no idea what I'm doing wrong.

Thanks for all the help Xendance & Le0! :)
 
Upvote 0
Don't worry you can use the current prop pack of mamyev and just update it when it is released to get the latest mesh version.

1) Did you try building the lighting? You shouldn't rely on the way things look if you haven't build lighting.

2) Alas the way the decolayer works it will create patterns because it places the meshes on the grid and since it is a low tesselation one it is more apparent. The only other thing you could do is place them using the static mesh tool. You set the variation in the rotation of the mesh in the window and then simply hit alt + s to place any mesh using those options. It's a fast way to place a forest for example, each tree can be rotated and scaled following your input.

3) I never tried adding a LOD to a mesh so can't really help you there.

Nice progress on your map anyway it looks like it will be quite different from the rest, keep going
 
Upvote 0
Personally I would group three to five trees in Max together. Scale and rotate them in Max to make them seem more random and then just use the static mesh placement tool (the button with the arch, next to terrain tool button) to place them on the level.
Then you wouldn't get the grid like pattern and you would get 3-5 tree meshes on the level with the same amount of draw calls as with one tree ;)
Also I think we had other problems with decolayers too, like that with ultra shadow settings the shadows were realtime shadows at all distances. Normally the dynamic shadows would fade out into static shadows at some distance.
 
Upvote 0
Minor progress. Skydome added, and trench network expanded significantly. What you see below is the long narrow trench that connects two objectives together.
Spoiler!


I'm still trying to correct the tree shadows. Does anything look wrong here?
Spoiler!


For those that are interested in the general layout of Novoya: it is a German-defense map, and nearly all of the objectives will be connected by trenches in some way. The first 4 objectives require that the Soviets push the Germans back over a large hill. After that, the Germans will have the height disadvantage when defending the remaining objectives as the Soviets come over and down the slope. Both sides will have no access to vehicles, aerial recon, or artillery of any sort. (I may consider allowing the Germans to use the recon plane until their communications bunker is captured)
 
Last edited:
Upvote 0
Ugh, I think I did something bad. After rebuilding the light, everything has become black except for the decolayers. The SDK told me that my map's package was over 300MB and that it wasn't recommended, so maybe that did something? I tried checking and un-checking the force lightmap options and some other lighting options too but nothing seems to work.

Ugh. SDK is hard.
 
Upvote 0