- Pointiness not working in 2.8
- 1 Answer 1
- How to use pointiness in Eevee with Blender
- What is pointiness and why would we want it in Eevee?
- What are the requirements to get pointiness to Eevee?
- What is the workflow to get pointiness into Eevee?
- Blender. Как с помощью geometry nodes расположить на сфере объекты, чтобы их ориентация учитывала нормали сферы?
- Point InstanceВ¶
- InputsВ¶
- PropertiesВ¶
- OutputsВ¶
- Point DistributeВ¶
- InputsВ¶
- PropertiesВ¶
- OutputВ¶
Pointiness not working in 2.8
I faced a weird issue: geometry->pointiness node on my subdivided cube shows up a constant value all over the mesh. Is it a bug or me doing something wrong?
Here’s the topology of the cube:
Also tried with Suzanne, however effect remains the same. Blender version: 2.80.45
1 Answer 1
You are using Eevee, the pointiness output only works in cycles atm.
Workaround for Edge Highlighting:
There is a way to get the same or similar result «pointiness» gives you. The function is called «dirty vertex colors» and its avaiable in the vertex paint mode.
Note: Booth Pointiness and Dirty Vertex Colors are dependent on the Geometry-Resolution, i’ve just added a Bevel modifier with 3 Segments and applied it.
Another method of doing this, would be, to bake your pointiness colors as a texture and use them in your eevee shader.
Источник
How to use pointiness in Eevee with Blender
So far there is no equivalent for pointiness in Eevee. Instead, we will have to work around this problem to get this effect.
How to use pointiness in Eevee? To use pointiness we have to bake it from cycles and use it in our Eevee material.
In this article I will walk you through the workflow of getting pointiness into Eevee from a cycles bake.
What is pointiness and why would we want it in Eevee?
Pointiness is a geometry based property that we can use when we create materials. In cycles, pointiness detects where we have edges in our object and based on that information creates a black and white mask based on the angles.
This can be used to create wear and tear along the edges of an object. Making them more realistic.
The pointiness attribute is heavily dependent on the amount of vertices in our model. The more geometry we have the more accurate result we can get.
This means that even if we are using cycles, we might want to bake pointiness from a mesh with more dense geometry and use it on a low poly object for a more accurate mask.
What are the requirements to get pointiness to Eevee?
In order for our object to be ready to accept a baked texture with pointiness data we will need a UV Map on the object. The UV Map needs to be non-overlapping.
For simpler objects, tab into edit mode, press “A” to select everything and then “U” and choose “Smart UV Project”.
If you are not sure how to work with UV maps you can read my Ultimate UV Mapping guide here.
To organize and pack the UV Map I like to use the UV Packmaster Pro 2 add-on. You can read the review of UV Packmaster Pro2 here. It allows us to pack the UV Map with a single click.
We also need a material on our object. If you don’t have one setup, go to the material properties tab in the properties panel and click the “Plus” to add a new material.
If your object has multiple materials, duplicate the object, delete all materials and add a new one.
We will use this copy to bake the pointiness mask, and as long as our original object has the same UV Map and we can use the baked mask on any of the materials in our original object.
I also like to use the node wrangler add-on, so if you haven’t go to “preferences”, find the “add-on” section and search for “node wrangler” and enable it.
Let’s get on with the baking workflow.
What is the workflow to get pointiness into Eevee?
In this example I will use a single object with a single material and a single UV Map. This video will show the workflow and the article will describe it.
Once we have a UV Map we can start to create the material.
Change the render engine to cycles in the properties panel.
Select your object and go to the Shader workspace.
Set the shading mode to render.
You can use “Ctrl+B” in the 3D viewport to create a render border for better performance. To clear the border, use “Ctrl+Alt+b”.
In the node editor, press “Shift+A”, hit search and type “image texture”
On the image texture node, press new to create a new image that we will bake to. Name the image and set the resolution. I will stick to the defaults.
Then add a “Geometry” node and a “Colorramp” node. The geometry node is what gives us the pointiness attribute. Connect the pointiness to the colorramp.
With the node wrangler add-on enabled, press “Ctrl+Shift+mouse click” on the colorramp node. This will connect the colorramp to a “viewer” node and plug the viewer node into the material output. The viewer node is really an emission shader with the strength set to 1.
Move the two flags very close to each other in the middle of the ramp. This step can be a bit tricky. You should have rendered view turned on so that you can see the changes in the 3D viewport as you drag the flags.
I ended up with the position value 0.554 for the black flag and 0.559 for the white flag in my testing. That is very close indeed.
If you still can’t see a change in the 3D viewport. Add a subdivision surface modifier to your object and set it to simple. Increase the viewport subdivisions to 2-4 depending on your object.
You can also try the bevel modifier and increase the segments.
When you are happy with your pointiness mask, select the Image texture node created earlier. This node should not be connected to anything. Just present in the node editor for our material with the image texture we want to bake to selected.
Now go to the render tab in the properties panel and find the bake section close to the bottom.
Set the bake type to emit. This will bake the emission output of our material and since the viewer node is an emission shader we will bake what we see to the UV Map connected to the image texture node.
In this case we don’t have anything connected to the image texture node so Blender will use the default.
Press bake. The bake should be very quick to finish.
We should now have a baked texture with the pointiness data written to it.
Change the render engine from Cycles to Eevee.
Connect the image texture node to a principled BSDF base color input. You should have one in your nodegraph if you didn’t delete it.
Connect the Principled BSDF to the material output node and you should get a preview of your pointiness in Eevee.
That is currently how we can get pointiness from Cycles to Eevee.
Источник
Blender. Как с помощью geometry nodes расположить на сфере объекты, чтобы их ориентация учитывала нормали сферы?
То есть, чтобы например деревья располагались на сфере, как на планете — в разные стороны от центра. Это вообще возможно? Посмотрел немногочисленные туториалы по геометри нодам, но не понял именно этого. Возможно ли в принципе посчитать объектам ротацию относительно нормали оригинального объекта, на котором позиционируется child-объект?
https://www.graswald3d.com/gscatter на этот аддон обрати внимание, как раз в одном из обновление появилась возможность расположить по нормалям, блендер 2.93 требуется если что
О, не знал, что там можно именно по нормалям раскладывать. Этот аддон конечно эту проблему решит)
Попробуйте как здесь. Вам нужен вектор нормали объекта, чтобы точки на него поворачивались.
И не забудьте, что у объекта, который вы хотите размножить, должна быть ось Z.
—
P.S. первый же запрос в гугле был)) ред.
Ну на сколько мне известно, по нормалям он вряд ли будет это делать, можешь попробовать через Vertex Paint это реализовать
https://www.youtube.com/watch?v=DQVYieRfQBY Кажется в этом туториале есть то, что тебе нужно. Во всяком случае они с помощью vertex paint и поместили эти шарики вокруг сферы
А нет, я тебя обманул, там он наоборот к шарикам это привязал))0)))0). В любом случае пробуй это делать через Vertex paint и particle system. Тип ты можешь загуглить как использовать их в нодах геометрических ред.
Ох блин, я попал)))
ну тип, если мы друг друга правильно поняли, то по нормалям он считать не сможет, т.к. это материал и программа там самой геометрии не видит(ну я хреново объяснил, но все же), тобишь обычный plane для программы, поэтому тебе и нужно через vertex paint показать где куда и как тебе дерево расположить, потом ты это можешь вынести в отдельную вертекс группу(если я ничего не путаю) и соответсвенно уже в геометри нодсах использовать партикл систем, чтобы расположить себе деревья по интенстивности, которую ты уже задал. Ну лично я так вижу решение этой задачи, возможно есть вариант куда проще)
Vertex Paint используют как маску, где именно на объекте будут расположены другие объекты, а тут дело в ориентации. Не знаю как в блендере, но в гудини делается в пару кликов. Странно что такая, грубо говоря, essential фича нигде не показана.
Я кстати решил тоже поискать как это делать и понял, что это какая дрочь в блендере или же я тупой и не нашел легкого ответа, но тут чет никто и не ответил больше. UPD Увидел твой коммент выше))) ред.
По умолчанию как раз по нормалям и ориентирует
Черт, серьезно? Надо было видимо тест сделать. Ладно, дойду еще до этого, сейчас другим занят.
Источник
Point InstanceВ¶
The Point Instance Node. В¶
The Point Instance node instances an element to each of the points present in the input geometry. It works for both point cloud and mesh vertices.
Because the output geometry is only a set of instances objects or collections, the Attribute nodes will not work on the output of this node. The position, rotation, and scale of individual points should be adjusted before this node.
The Make Instances Real operator can be used to create objects from instances created with this node.
InputsВ¶
Standard geometry input. The position, rotation, and scale attributes affect the transform of each instanced object.
The object to instantiate.
PropertiesВ¶
Instance a single object on each point.
Instance either an entire collection or a random choice from its objects or sub-collections.
When instancing collections, this property chooses between instancing the entire collection or a random choice of its objects and sub-collections.
When Whole Collection is deactivated, a Seed to affect the choice of the collection’s children.
OutputsВ¶
Standard geometry output.
© Copyright : This page is licensed under a CC-BY-SA 4.0 Int. License. Last updated on 10/17/2021.
Источник
Point DistributeВ¶
The Point Distribute Node. В¶
The Point Distribute node places points on the surface of the input geometry object. Point, corner and polygon attributes of the input geometry are transferred to the generated points. That includes vertex weights and UV maps. Additionally, the generated points will have a normal, id and rotation attribute.
InputsВ¶
Standard geometry input.
The input geometry must contain a mesh with faces.
The minimal distance points can have to each other. This option is only available on distribution methods that support it.
The point density for the point distribution. The units are number of points per square meter. This value is multiplied by the values from the Density Attribute.
This will be capped on distributions by the Distance Min option. If the density is greater than what the minimal distance allows, no new points will be added after this threshold has been passed.
The name of the attribute to use for influencing the point density. The values of this attribute are multiplied by Density Max for the final density value.
The random Seed to use when generating points.
PropertiesВ¶
Distribute points randomly on the surface. This is the fastest distribution method.
Distribute points randomly on the surface while taking a minimum distance into account.
OutputВ¶
Generated points. Several attributes are created on the output points based on the input mesh:
An identifier for each point used for stability when the mesh is deformed, used in the Attribute Randomize and Point Instance nodes.
The Normal of the triangle on which each point is scattered.
An XYZ Euler rotation built from the normal attribute for convenience.
© Copyright : This page is licensed under a CC-BY-SA 4.0 Int. License. Last updated on 10/17/2021.
Источник