Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Material Texture - How to avoid repitition?

Anonymous

Material Texture - How to avoid repitition?

Anonymous
Not applicable

Hello!

material.PNGI am trying to create a material texture representing sea surface. I have small photo of the sea surface and when I apply this to the object the material get repeated on the object (please see attached image). is it possible to avoid this?If yes, could anybody advise?.

0 Likes
Reply
Accepted solutions (1)
6,294 Views
12 Replies
Replies (12)

Anonymous
Not applicable
Accepted solution

There are many techniques to avoid it: Photoshop editing, plugins or layers.

  • The most traditional method is to send the texture to Photoshop and do an offset of a 50% in both directions. This will expose the seams. Then you can use clone or content aware to remove them. Obviously this needs basic knowledge of Photoshop.
  • You could also remove the very evident patterns of repetition because large patch dark or bright. You could do this with high frequency filter. Depending of the setting (scale) you choose this could get rid of a large gradient or a smaller hard contrast areas. This is from Gimp, but you can do the same in Photoshop.
  • Finally if you add a layer over the original tiling with other texture with a different UV size, as overlay, multiply  blending of similar, you could get global changes in the patterns that will call less attention over the tiling. For that you would need to use blend materials with the overlapping texture with a different tiling size.
  • image.pngimage.png

 

In many cases only the first step is necessary, and there are automatic plugins that can do it for you, but not always great.

Anonymous
Not applicable

Great! This is what I needed!

 

Thank you!

0 Likes

madsd
Advisor
Advisor

You can get around it directly in max as well via OSL by utilizing the "cell" function which redistribute islands around.

We can build eaqualizers that auto correct for lens vignettes and highlights as well.

This method is the simplest and fastest.

qweqweqwe.gif

 

kevinmGFYPQ
Enthusiast
Enthusiast

This was an informative thread.  I knew about the offset filter and creating composited materials but still good stuff from both respondents.

office
Participant
Participant

Hey mads,
looks like a great technique! 
I'm trying to replicate it with some OSL code in maya for arnold.
Could you elaborate a bit more on how you utilized the cell function? (I guess you mean cell noise?)
Thanks!


@madsd wrote:

You can get around it directly in max as well via OSL by utilizing the "cell" function which redistribute islands around.

We can build eaqualizers that auto correct for lens vignettes and highlights as well.

This method is the simplest and fastest.

qweqweqwe.gif

 


 

0 Likes

itsuii
Explorer
Explorer

Late reply but there is a good way to do that in Arnold for Maya, 

using the aiTriplanar node on your bitmaps you will have an Cell option where you can control the tiling, rotation and blending on each cell. this helps a lot to reduce the tilling

aiTriplanarCell.jpg

FlorianDubiel
Contributor
Contributor

wow, look at this Chaosgroup

0 Likes

Jixal
Enthusiast
Enthusiast

Hi, I'm a bit confused when it comes to OSL.

 

Where could one find the tile_texture.osl that is being used here?

 

0 Likes

Jixal
Enthusiast
Enthusiast

I found the chaos mosaic code here:

https://blog.michelanders.nl/2014/12/chaos-mosaic-with-osl_29.html

 

I tried it in an OSL Map and it compiles, but everything is black. 

 

Not sure what to do? Does this code actually work or is this just for Blender?

0 Likes

madsd
Advisor
Advisor

It works fine in max viewport.
I updated it slightly, add a bitmap and dont forget to add a uvtransform into the Pos slot.

 

Just a note, this aint the superior way to do it via a shader, there are a lot of better ways.

 

 

shader chaosmosaic(  
  point Pos=P,  
  string Image=""[[string widget = "filename"]],  
  int M=10,  
    
  output color Color=0  
){  
  float x,y;  
  
  x=mod(Pos[0],1);  
  y=mod(Pos[1],1);  
    
  float xi=floor(x*M);  
  float yi=floor(y*M);  
    
  // mapping here  
  float xp=noise("cell",Pos,xi*M+yi);  
  float yp=noise("cell",Pos,xi*M+yi+M*M);  
    
  float xoffset = mod(mod(x,1.0/M)+xp,1);  
  float yoffset = mod(mod(y,1.0/M)+yp,1);  
  Color = texture(Image,xoffset,yoffset);  
}  

 

0 Likes

Jixal
Enthusiast
Enthusiast

Thanks for the reply!

 

I managed to get it working, I realize my mistake was using an actual bitmap in the image. Instead of a "File Loader".

 

As I mentioned I am super new to OSL, it seems to work very differently from previous 3DS Max nodes, so I can't apply previous workflows or knowledge. 

0 Likes

Johanalv
Participant
Participant

Hey all. Is there a way to add blending between the tiles?

Currently I am using the chaos mosaic and UVWTransform.osl to get this result. But there is no option for blending in between tiles. I know there is a bitmap no tile osl shader, but that "fuzz" attribute doesnt work for displacement.

The only node that actually works great for displacement is the aiTriplanar, but has the downside of not working with normal maps. Cell(blending) attr in aiTiplanar:

 

cell-enabled.png

So... Is there any way to get the blending "style" of the aitriplanar into one of this non repating osl shaders?

Thank you.

blend.png

0 Likes