0
\$\begingroup\$

This is a screencap from Blackops III:

enter image description here

I tried this using 5 maps including displace and normal, but it still looks too flat. I was wondering what a good method or workflow is to make walls actually look like theyre popping out, like what the steps are. For example, do people displace in their modeling software and import the mesh? I just want to hear the steps you guys of the community would take to produce this effect. Thanks.

My wall:

enter image description here

\$\endgroup\$
12
  • \$\begingroup\$ Maybe you want bumpmapping...? \$\endgroup\$
    – NaCl
    Commented Apr 22, 2016 at 16:08
  • \$\begingroup\$ Traditionally, games would use a combination of normal/bump maps as well as whatever other texture maps that their engine supports. However, the screenshot example you provided is a case where the developers modeled each brick. \$\endgroup\$
    – Yattabyte
    Commented Apr 22, 2016 at 16:31
  • \$\begingroup\$ @AidanPallian You are saying your are using normal- and displacement mapping, but your wall doesn't really look like that. Maybe you could post the individual textures? Also, where is your light source? Normal-mapping doesn't do anything without directional light. \$\endgroup\$
    – Philipp
    Commented Apr 22, 2016 at 16:31
  • \$\begingroup\$ drive.google.com/file/d/0B2ZiQtohl3tmSnY1NE1hSWdtdlU/… \$\endgroup\$ Commented Apr 22, 2016 at 16:36
  • 1
    \$\begingroup\$ Also note that "how does one produce this effect" and "what is wrong with my implementation of this effect" are two different questions. The former (which you've asked, and I've tried to answer) is a good question for this site. The latter less so, both because topically it's a bit too localized (the art equivalent of a "debug my code" question) and user-wise we don't have that many artists. \$\endgroup\$
    – user1430
    Commented Apr 22, 2016 at 16:54

1 Answer 1

0
\$\begingroup\$

Of course, it's possible to do this by just modelling all the bricks. That's likely to be prohibitively expensive for any non-trivial scene though.

Normal mapping is a very common starting point for this sort of effect. Normal mapping produces the appearance of ridges, bumps and other surface aberrations without the addition of extra triangles in the mesh (which are far more expensive, performance-wise). It works by encoding surface normals into a texture as RGB components, mapping that texture to a polygonal surface, and then using the sampled surface normals from the texture per-fragment to perform lighting, instead of the actual polygon surface normal (which doesn't vary as much over the surface like the normal map's encoded normals do).

There is a related technique called parallax mapping, which effectively does the same thing except does it by shifting texture coordinates around based on a function of the view angle relative to the surface normal and height map value for the surface as well. Parallax mapping can typically achieve great depth effects than normal mapping alone.

You can also modify normal mapping to support self-shadowing.

Both of these techniques -- and essentially all of the techniques that would be used to produce the scene you're envisioning without resorting to simply modelling all the bricks -- are about faking data related to light propagation and simulation.

What that means is that you also need a reasonable lighting model in your game (or modelling tool) to see truly excellent results, and some of these lighting models themselves involve significant investments in other techniques such as generating offline light probe information for computing diffuse bounces and global illumination.

Unless you spend fairly significant time and energy modifying your modelling tools to support exactly the same rendering pipeline as the game engine you're using, and supply the modeller with similar data, it's possible that the result in the modeller won't look the same (or as good) as the result in the real game. Keep that in mind when you're feeling potentially discouraged about the way your implementations look.

\$\endgroup\$
1
  • \$\begingroup\$ There are actually a few things in that CoD image that make me wonder if the bricks might be BOTH modelled AND offset+normal-mapped... Surprisingly sharp edges, maybe most of all when looking at one brick that sits particularly badly in the wall, and how sharp the edge going into the wall is. Meaning they would be using both vertex normals (3 per brick corner) and texture normals. Of course, given the resources the must have, anything is possible. \$\endgroup\$
    – Stormwind
    Commented Apr 23, 2016 at 1:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .