The thing you’re “capturing” vs the thing you’re scaling are “disconnected”. - Sample Curve samples relative to a curve, so it would need to be re-captured onto a curve for the instance to make use of it.
The solution is to do the resample-shift on the curve points, not the instances. Also, do scale calculations after shifting so scale and “shifted” factor are in sync.
You could do that using sine math, but the wave texture will do in this situation depending on your use case or how modular you want it to be.
You displaced the position by adding the normals to the position. Multiplying them by a texture will create a mask that will effect how much vertices are moved.
Hi again ) I’m facing famous problem with UV after Realize instances node… But in my case i have collection of dozens of objects with ~100 different materials. So i have manually add UVMap attribute to vector of all image textures to rebuild textures in GN, and that will take eternity. Is there is a way to transfer UV of collection of objects after Realize instances? Or script/addon that adds this attribute to all images textures of all materials automatically? Thanks!
import bpy
for mat in bpy.data.materials:
if mat.use_nodes:
for n in mat.node_tree.nodes:
if n.type == "TEX_IMAGE":
n_attr = mat.node_tree.nodes.new("ShaderNodeAttribute")
n_attr.attribute_name = "UVMap"
n_attr.location = n.location
n_attr.location.x -= 250
mat.node_tree.links.new(n.inputs[0], n_attr.outputs[1])
Nice founding, I can use this to calculate mesh volume (using signed tetrahedron volume technique) without triangulating mesh. There is small discrepancy in measurement because how polygons are spit in to triangles but it works.
Hey everyone, I’m having some trouble transferring an attribute (colour) from an image texture on a plane to a curve and then to instances on that curve. The idea is that the instanced spheres will take on the colour of the image beneath them, but right now the colour attribute is not being transferred and the spheres are black. What am I doing wrong? Here’s the two node networks I’m using right now. Thanks
To scale a texture, you can use a vector math node set to multiply on the vector of the texture. To get a repeating tile, use another vector math node set to absolute.