I want to get the position data of each group of faces, not smooth data. What should I do？
I don’t know how to describe it. Please look at the picture.
I’m not aware of such a thing so I will share a solution I came up with which does have some limitations:
I first selected all geometry, switched to orthographic top view and then UV mapped it using Project from view (bounds). It makes a projection that looks like this:
Then, I switched the pivot point to individual origins and scaled all the islands in the UV map by 0, making a bunch of dots as seen in the top-right of my first screenshot above. Now all islands share the exact same position in the UV map and you can use that data for whatever you want.
The biggest issue with this is that you can only have 2 axes at a time. You can’t get 3D positions with it. Another thing is that you may have to scale the UV data to the right size as when “bounds” is chosen, everything is just scaled to fit within the single UV square.
Wow, this is a great way. Maybe I was wrong at the beginning. I have always wanted to store data at a point and then transfer the data to the face. I was stunned by the way I reduced the UV to a point. excellent.
But I use the same method to reduce the UV to a point, but I can’t get random noise, which seems strange. UVs have shrunk to a point. I don’t know why they can still map textures.
The noise nodes assume you want generated texture coordinates and do not use UVs by default. If you add a texture coordinate node in and connect the UV output to the noise’s vector input, you should see the UVs being used for it instead.