Тайлинг процедурных текстур и Placement mapping

Небольшой трюк, вполне простой, но возможно не совсем очевидный. Для создания шероховатостей, детальной фактуры и прочей высокочастотности обычно используется какой-нить fractal или noise с большим числом repeat, что приводит к явному тайлингу:

Fractal with high repeat value reveals tiling

Fractal with high repeat value reveals tiling

Можно попытаться разбавить другими нойзами, но есть решение куда лучше…

Атрибуты в place2dTexture можно замаппить, т.е. сместить плейсмент уже затайленного нойза другим нойзом. В данном случае я использовал два фрактала с влюченным animated и разными значениями time для U и V каналов translateFrame:

Two different fractals drive translateFrame for another fractal

Two different fractals drive translateFrame for another fractal

В результате этого, тайлинг исчезает:

Visible tiling is eleminated by translateFrame mapping

Visible tiling is eleminated by translateFrame mapping

Repeat этих двух фракталов лучше оставить в значении 1 1, а основной можно модифицировать как угодно, вот, к примеру, repeat 1 1 и на нем:

Fractal with one repeat still broken by two other fractals

Fractal with one repeat still broken by two other fractals

Сцена примера: 08_proctiling_01.rar

Более того, маппингом плейсмента можно делать ремаппинг текстур, переназначая uvCoord значения (красный традиционно координата по U, а зеленый по V):

Circular checker via radial ramp

Circular checker via radial ramp

Сцена примера: 08_proctiling_02.rar

Messed up grid

Messed up grid

ну и массу забавных и странных паттернов :)

Cloth remapped with water

Cloth remapped with water

Checker remapped with cloth

Checker remapped with cloth

Grid remapped with fractal and circular ramp

Grid remapped with fractal and circular ramp

Bulge remapped with bulge

Bulge remapped with bulge

10 Responses to “Тайлинг процедурных текстур и Placement mapping”

  1. donguzzini - July 5, 2009

    респектыбл )

  2. Giap - July 8, 2009

    This is a very cool tip. However, I wonder you connected the “time” or “outalpha” of 2 fractures to “translateUV”? Cause when I try with the “time”, I still see the tile but when I try the “outalpha” the tile disappear and got the same result like yours. But, when I change the “repeat” UV back to 1:1 (the main fracture). I don’t have the same result like yours.

    I wonder if you don’t mind upload your scene so I can compare. Because so far, I don’t see I didn’t anything wrong with the connection.

    Thank you.

  3. Sagroth - July 8, 2009

    It’s outAlpha, of course. It’s shown on the second picture here. I modify ‘time’ just to make those two fractals different from one another or you’ll get diagonal patterns.

    No problems, here’s the scene:
    08_proctiling_01.rar

  4. Nico - February 7, 2010

    Could you explain how you get the circular checker? I can’t figure it out. When I try I get something similar but it’s not like yours. It seems you are blending something in the ramp. If you could post the scene would be cool. By the way this is a really cool trick with the remapping.
    Cheers Nico

  5. Sagroth - February 7, 2010

    Sure, here’s the scene with circular checker:
    08_proctiling_02.rar

  6. Nico - February 7, 2010

    Aah the color offset. Ok thanks man.

  7. pacmaniac - April 16, 2011

    Sagroth, опиши пожалуйста подробней как делался Bulge remapped with bulge, что куда соединять.

  8. Sagroth - April 16, 2011

    Боюсь я сейчас уже не вспомню… А сцены не осталось :)

  9. him - July 8, 2011

    hey mate, bulge remapped with bulge is amazing! how did you do that?

  10. Sagroth - July 8, 2011

    I fear I’ve lost this scene :( Besides that, it’s just a displacement :)

Leave a Reply