Saltar al reproductor
Saltar al contenido principal
Saltar al pie de página
Buscar
Iniciar sesión
Ver en pantalla completa
Me gusta
Comentarios
Añadir marcador
Compartir
Añadir a la lista de reproducción
Denunciar
BLENDER - Curve Modifier with Geometry Nodes (English)
JPFR1906 🇦🇷 (TV, Radio y muchos más)
Seguir
5/5/2025
BLENDER - Curve Modifier with Geometry Nodes (English)
Special Thanks for ErinDoes and Blender Bash who tought me how to do it.
Categoría
😹
Diversión
Transcripción
Mostrar la transcripción completa del vídeo
00:00
Blender Operations Notebook number one. Curve Deform Modifier using Geometry Nodes.
00:07
Curve Deform Modifier the traditional way. Let's demonstrate how to apply a Curve Deform
00:16
Modifier to an object. Here, I increased the cube size along the y-axis by 20 units.
00:23
I entered edit mode and made 20 cuts along the y-axis.
00:26
Then I added a Bezier Curve, which will be used to deform the object. I scaled and edited this curve.
00:46
I selected the object, went to the Modifiers menu, and added a Curve Deform Modifier.
00:52
I selected our Bezier Curve as the Curve object. In this tutorial, we will use the y-axis for
01:00
deformation. Done. Now the object will be deformed according to the shape of the curve along the y-axis.
01:11
Now, let's show how to create this modifier using Geometry Nodes.
01:14
In Geometry Nodes, there isn't a native node for this purpose, so we'll need to build it manually,
01:21
and here we'll explain how.
01:22
We'll need an object, in this case a cube that will be deformed, and a curve. Each point on the curve has a
01:38
normal vector, in red, and a tangent vector, in green, both of which can be read directly. However,
01:48
we'll need a third vector, calculated from the two previously mentioned ones, using a mathematical
01:53
operation called cross product. Besides these vectors, we'll also need the position of each point
02:00
along the curve. Geometry Nodes already has a node called sample, which directly reads position,
02:07
normal, and tangent vectors of each point on the curve. The other required vector is perpendicular
02:13
to the normal and tangent vectors, and is calculated using the cross product.
02:17
The cross product vector is perpendicular to the plane formed by the normal and tangent vectors,
02:34
shown in blue in the video. But how do we calculate this vector?
02:51
No need to do it manually. Blender calculates it for you.
03:05
Here we have a parallelopiped that will be deformed to match this curve.
03:14
Each point of the parallelopiped along the y-axis corresponds to a proportional position along the curve.
03:21
Each point along y will be positioned along the curve, considering the direction of the normal
03:33
and cross product vectors at that point. To do this we'll map the x value of each object vertex
03:40
to the normal vector of the corresponding curve point. The z value of each vertex to the cross product
03:46
of that point. The y value will be mapped to the curve point's position.
03:52
Let's see how this is calculated. We'll take one vertex as an example. This vertex has x, y, and z values
03:58
in space. Its x value is multiplied by the curve's normal vector at a specific point. The result is
04:04
added to the z value multiplied by the cross product. Then, this result is added to the curve point's
04:10
position vector, corresponding to the vertex's y value. Each curve position is mapped to the parallelopiped's y-axis
04:16
position, since in our example we're using this axis for deformation. Now let's demonstrate this with
04:22
an example. Let's take this vertex with index 0 and position x equals 4, y equals 0, z equals negative 4.
04:30
We'll multiply x equals 4 and z equals negative 4 by the curve's normal and cross product vectors
04:36
at the corresponding point. At this stage we'll ignore the position vector.
04:43
So we get these results, which we add together, producing the final result, the new position for this vertex.
04:54
Now let's repeat this for the other vertices.
05:07
You'll see that the object is aligned with the normal vector of the curve at each point.
05:16
Now let's add the curve's position component to the calculation.
05:19
Done. This section of the parallelpiped is now deformed and positioned according to the curve.
05:23
Now we repeat for the rest. The next object section, further along the y-axis,
05:26
will be repositioned according to the curve, and so on until the last vertex.
05:40
Note, the object's size along the deformation axis must be normalized to 1. That is, regardless of
05:46
its actual length along this axis, in this example it's 30 units along y, it must be scaled from 0 to 1
05:52
for deformation purposes. How do we do this? Let's look at an example with a more complex object.
06:04
There's a node called bounding box that reads the min and max vertex positions of an object.
06:15
The bounding box encloses the object in a virtual box.
06:23
Its size adapts to the object's dimensions, so it always knows where the edges are.
06:32
Now, to normalize or compress this size into a range from 0 to 1, we use the map range node.
06:39
Switch the map range mode to vector.
06:45
In its vector input, connect a position node that reads each vertex's position.
06:50
Then, connect the min and max outputs from the bounding box to the from min and from max inputs of map range.
07:03
This way, all vertex positions will be remapped to a 0 to 1 range.
07:07
Now that we have the tools, sample curve, cross product, bounding box, and map range,
07:20
let's build the curve to form modifier.
07:31
Enables wireframe view to better see the mesh edges.
07:36
Enable geometry nodes workspace.
07:39
With the cube selected, create a new geometry nodes node tree.
07:42
We'll create a parallelepiped using a cylinder with 4 vertices.
07:55
Set depth to 20 and side segments to 50.
07:58
Add a transform modifier to rotate 90 degrees on x-axis and 45 degrees on y-axis.
08:16
Use join geometry to connect the object to the group output.
08:20
Now add a curve.
08:20
We'll use a spiral in this example.
08:25
Connect the curve's output to join geometry.
08:27
Now insert the necessary nodes to normalize object size as explained earlier.
08:40
Add a bounding box node and connect the object to it.
08:42
Add a map range set to vector mode.
08:51
Connect bounding boxes min to map range's from min and max to from max.
08:59
Add a position node and connect it to map range's vector input.
09:07
Add a sample curve and connect the curve to its curves input.
09:12
Add a set position node on the object line.
09:27
On the object line before join geometry, add a set position node.
09:31
This will reposition the vertices.
09:40
Add a separate x, y, z from the map range output.
09:50
And connect its y output to the factor input of sample curve.
09:54
This will associate object vertex y positions with the curve's points.
09:58
Now we'll set up the vector math.
10:07
Add two vector math, add nodes, and chain them.
10:10
Add a cross product node to compute the perpendicular vector.
10:22
Add a cross product node to compute the perpendicular vector.
10:35
Add a cross product node to compute the perpendicular vector.
10:39
Connect the tangent and normal outputs from sample curve.
10:44
Connect the position output of sample curve to one add node.
10:51
Add two scale nodes, vector math set to scale.
10:54
Connect cross product to one scale and normal to the other.
11:07
Connect each scale to the remaining add nodes.
11:13
Connect each scale to the remaining add nodes.
11:24
Now we need to get x and z values from the object's vertex positions.
11:28
Add a position node followed by a separate x, y, z.
11:36
Connect x to the scale with the normal vector.
11:47
Connect z to the scale with the cross product.
11:49
Now that the math is done, connect the final result to set position.
11:58
Voila!
11:59
Your object is now deformed into the shape of the spiral curve.
12:03
Adjusting the to min and to max values in map range will change the deformations
12:08
start and end points.
12:09
You can add math nodes to smooth these changes.
12:19
Imagine just type!
12:20
You can add math to the curve as the wave.
12:21
But� will change the whole round line,
12:24
and there will happen the leakage.
12:26
Now 최대 1 and 3.
12:29
If you will Sóce for the loop forramer short curve.
12:32
The97 you octagon can win the allса!
12:34
Loveā is just a dream set of evolve.
12:37
It may be painful as anän if you want to Ke programa!
12:41
Just a dream set of dream set of loss.
12:44
Loveā is just a dream set of events!
12:45
Starting with Blender 4.2, there's a Set Curve Normal node that allows you to change the curve's normal orientation.
12:58
If you set it to zit up, the normals point towards zit, preventing twisting.
13:09
In this example, we use the Y-axis for deformation, but other axes are also possible.
13:14
For example, along the X-axis.
13:18
To do this, instead of connecting the Y-value extracted from the map range to the factor input of the sample curve node,
13:27
we're going to connect the X-value instead.
13:29
And instead of multiplying the X-value by the curve's normal vector, we'll multiply it by the Y-value.
13:35
And finally, we'll input values on the X-axis in the to-min and to-max fields of the map range,
13:43
instead of using the Y-axis.
13:47
Final tips. Here we have an object that will be deformed along a closed curve.
13:51
In other words, a cyclic path.
13:53
First, let's check whether the object's normal vectors are facing the correct direction.
13:58
Go to the Overlays menu and enable the Face Orientation checkbox.
14:03
If the object appears red, as shown here, the normals are pointing the wrong way.
14:08
To fix this, go to the connection between the curve's normal and tangent vectors used in the cross-product operator and reverse the connections.
14:15
Done. If the object appears blue, its normals are now pointing correctly.
14:19
Here we can see that when the object reaches the end of the curve, even though it's closed and cyclic, it collapses.
14:26
The same happens when it reaches the beginning.
14:29
For a smooth cyclic movement without collapsing, we need to add a set spline cyclic operator after the curve and check the cyclic box.
14:39
Then, in the line connecting the deformation axis to the factor input of the sample curve, we should insert a math operator of type modulo.
14:59
Here, we use the florid modulo.
15:01
The modulo value should be set to 1 since the factor ranges from 0 to 1.
15:06
Done.
15:08
With this, we have a smooth cyclic deformation.
15:12
You
Recomendada
7:05
|
Próximamente
Basic video editing in Blender!!
MonkeyHead3D
20/1/2018
4:47
cara menambahkan rambut di blender
Ikhwan Aulia
28/6/2022
6:23
How to extract frames from any video with blender
Wild Linux
21/9/2016
0:18
how to animater chracter in blender 3d
MYMU MEDIA MIANWALI
13/6/2024
5:11
cara membuat kacamata di Blender 3D PART 14 (Bagian Memberi Material Tembus Pandang Di Blender 3D)
Ikhwan Aulia
6/1/2023
22:56
Basic Sculpting in Blender + Timelapse_HIGH
MonkeyHead3D
20/1/2018
3:10
Easy WRAPS in Blender | Blender Wrap Mesh around Object | Ammar Khan
Ammar khan
2/11/2023
5:33
my 3D Home first render in blender
Blender Bow3D
14/10/2018
22:17
Blender Tutorial - How To Use Blender 2.8 | 1
Play Game TV
3/4/2019
4:20
cara membuat kacamata di Blender 3D PART 12
Ikhwan Aulia
18/12/2022
13:32
Easiest Way To Add Subtitles To Your Videos In Blender 2.76b
Wild Linux
20/9/2016
4:06
How to Animate Characters in Mixamo | Importing Free Characters and Animations from Mixamo
Ammar khan
27/10/2023
22:37
emma easy basic blender 3 and 4 render how
A1-BubbleBox
12/2/2025
3:35
[TUTORIAL] Blender Polystyrene Material #01
BlenderMEtuts
24/7/2017
7:18
How to create Rigging a Humanoid Character with Blender 3d animation
Best Animation
14/9/2015
1:08:46
62. Blender Best Tutorials - Episode 62 - How to Use Curves in Blender _ 3D Modeling
Earning & Learning
16/8/2024
2:19
Grease Pencil Shader FX - Blender 2.8 Beta
Farm TV
17/7/2018
0:32
1000049708
Marcos Oliveira
28/9/2024
21:37
Classic Caillou Gets Grounded_ Season 1
Marcos Oliveira
8/6/2024
1:00
SteveSongs _ Let's Move _ PBS KIDS
Marcos Oliveira
26/1/2024
2:49
TeleSpot Sequenza Spot Cartoonito 13-05-2015 #24
TeleSpot
6/6/2021
4:19
TeleSpot Sequenza Spot Cartoonito 10-04-2015 #21
TeleSpot
2/6/2021
2:53
TeleSpot Sequenza Spot Cartoonito 10-04-2015 #19
TeleSpot
31/5/2021
3:10
ASMR DRINKING | COCA-COLA SODA DRINK ASMR WITH ICE (REVERSED)
JPFR1906 🇦🇷 (TV, Radio y muchos más)
ayer
3:42
Himno Nacional Argentino 🇦🇷 (feat. Virgen de Luján) - 1999
JPFR1906 🇦🇷 (TV, Radio y muchos más)
ayer