• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers

How to have pattern follow mask?

Community Beginner ,
Jul 25, 2022 Jul 25, 2022

Copy link to clipboard

Copied

Hello! I've been running into an issue with rivets along edges, and not sure how to solve it. I'd like to have them like in the image. Masking out the edges and using a tile sampler yields random results, tried vector maps and cant get that to work either. Starting to think maybe FX map or pixel processor but I have no idea how either of those work.. Any ideas? Thanks!PureRef_e1mg2DYVoQ.png

TOPICS
How to , Substance Graph

Views

271

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 2 Correct answers

Community Expert , Jul 28, 2022 Jul 28, 2022

I wonder if something like this might get you close. It is far from perfect, but until we get a node that follows a path.

I used edge two edge detect nodes, the first to detect the joins and the second to add a path for the rivets. I then used a tile sampler at 64 x 64 to place a single point wherever that path crossed.

I next took the ouput of that tile sampler and used a vector warp to move it based on a bevel of the panel shapes. This moved the points off the strict grid and toward the edge o

...

Likes

Translate

Translate
Community Expert , Jul 29, 2022 Jul 29, 2022

This problem got on my mind and another method occured to me.

 

This alternative might help depending on the panel layout and rivet spacing required. Again it's not perfect, in this case it missed a very small panel, but for me it worked slightly better than the last method if fewer rivets with larger spacing is required.

 

It starts with creating a path for each set of rivets (make it is wide enought to capture positions at the next step).

 

Next a flood fill creates a flood fill on each indivi

...

Likes

Translate

Translate
Adobe Employee ,
Jul 26, 2022 Jul 26, 2022

Copy link to clipboard

Copied

You can have a look to this material from the Adobe Subtance 3d assets collection:
https://substance3d.adobe.com/assets/allassets/e04e215908c7c01bcacc88fecd1af7fe1e632226?assetType=su...
You can download the corresponding .sbs file in order to see how the graph is made.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 27, 2022 Jul 27, 2022

Copy link to clipboard

Copied

Thanks Nicolas, checked it out and unfortunetely it's essentially what I'm doing now and not having much success. Thinking I might just have to settle for now. Eh, could be worse. Thanks again!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Jul 27, 2022 Jul 27, 2022

Copy link to clipboard

Copied

Hello,

 

We do not have a good solution yet to place patterns along shapes borders regardless of the shapes.

 

The technique demonstrated in the material helpfullw linked by @Nicolas3D works well for horizontal and vertical borders. All others cases are challenging though.

 

I have played around with a couple of approaches in the attached Substance 3D file (SBS) you may try, although they require fine-tuning and may break easily.

 

Good luck!

 

Best regards.

 

Luca Giarrizzo | QA Analyst, 3D & Immersive | Adobe

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 27, 2022 Jul 27, 2022

Copy link to clipboard

Copied

So I've been hearing, hopefully one day it's a one node solution haha. Thank you for the examples! Very clever, will give them a go in mine and see how they work out. Thanks again Luca.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Jul 27, 2022 Jul 27, 2022

Copy link to clipboard

Copied

I am glad! We are also excited at the thought of a robust, simple solution added to our Library.

 

Best regards.

 

Luca Giarrizzo | QA Analyst, 3D & Immersive | Adobe

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 28, 2022 Jul 28, 2022

Copy link to clipboard

Copied

I wonder if something like this might get you close. It is far from perfect, but until we get a node that follows a path.

I used edge two edge detect nodes, the first to detect the joins and the second to add a path for the rivets. I then used a tile sampler at 64 x 64 to place a single point wherever that path crossed.

I next took the ouput of that tile sampler and used a vector warp to move it based on a bevel of the panel shapes. This moved the points off the strict grid and toward the edge of the panels giving a better alignment with the curves and angles.I did it that way rather than using the vector displacement in the tile mapper as it gave a finer control.

Then a histogram scan and a shape stroke to enlarge the points and form a circle at each point.

Next a flood fill and flood fill mapper to place a rivet in each of those circles. Keeping that stage separate to the points and warping, kept the rivets circular.

2022-07-28_21-05-45.jpg

It is far from perfect but hopefully may spark your thinking.

 

Dave

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 28, 2022 Jul 28, 2022

Copy link to clipboard

Copied

Very interesting way to go about it and best results I've seen so far, very much appreciated! However I've hit a snag in my own test using your method. I'm not sure if your straight panel seams happen to be placed well for the 64x64 to be "close enough", but mine don't seem to want to get that uniform, and adjusting the Vector Warp makes them move into the panel seams.

 

Ideally panel amount and size would be editable and still have the rivets be aligned somewhat. Hoping it's just an oversight on my part but can't seem to replicate yours. Would be awesome if you could check out the .sbs or share your values maybe? Thanks again!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 29, 2022 Jul 29, 2022

Copy link to clipboard

Copied

Hi

As you can see it's not perfect. A couple of differences - in the tile sampler, I used an offset of 0.5 to arrange the dots in a 'diamond' pattern and then adjusted the second edge width . Then I adjusted the bevel distance and warp intensity to bring the offset rows closer together. 

I have added a curve to the bevel in an attempt to bring the rivets closer to a straight line but it needs a bit more work  to achieve that.

With the smaller panels in your example, a tile of 96 x 96 worked better.

 

Dave

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Jul 29, 2022 Jul 29, 2022

Copy link to clipboard

Copied

Great strategy Dave, well done!

 

Luca Giarrizzo | QA Analyst, 3D & Immersive | Adobe

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 29, 2022 Jul 29, 2022

Copy link to clipboard

Copied

Cheers Luca. It would be great if we could get a node that allowed placement along a path 🙂

 

Dave

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 29, 2022 Jul 29, 2022

Copy link to clipboard

Copied

This problem got on my mind and another method occured to me.

 

This alternative might help depending on the panel layout and rivet spacing required. Again it's not perfect, in this case it missed a very small panel, but for me it worked slightly better than the last method if fewer rivets with larger spacing is required.

 

It starts with creating a path for each set of rivets (make it is wide enought to capture positions at the next step).

 

Next a flood fill creates a flood fill on each individual rivet path shape and a flood fill mapper is used with a tile sampler making circles (8 x8 and 0.5 offset). Then a distance note to expand the positions and histogram scan. Balance the distance node and histogram position to ensure individual rivet positions are large enough to hold a rivet but do not overlap.

 

Then a flood fill mapper to put a rivet in each position.

2022-07-29_14-49-42.jpg

 

Cheers

 

Dave

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 29, 2022 Jul 29, 2022

Copy link to clipboard

Copied

Brilliant solutions Dave. Can't thank you enough for the help. Your RivetsB method seems to work the best in my case but until theres something dedicated for this idea I think I will have to compromise on the randomness/panel amount functionality as I need to adjust the Distance node each time. Fantastic work. Thank you!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 29, 2022 Jul 29, 2022

Copy link to clipboard

Copied

You're welcome.

Dave

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Aug 01, 2022 Aug 01, 2022

Copy link to clipboard

Copied

LATEST

Brilliant solution indeed!

 

Luca Giarrizzo | QA Analyst, 3D & Immersive | Adobe

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines