New curves object type #68981
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Code Documentation
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
84 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#68981
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Status: Under development by the geometry nodes team. Accessible though the "Empty Hair" primitive. Grooming workflow solid, other areas still WIP
Overview
FILTER_ID
bitsRelevant links:
Links
I would be happy to give feedback to developers, since I'm doing a lot of grooming at work (both blender and other softwares).
Full google doc proposal (this proposal could be further developed)
https://docs.google.com/document/d/1VWs_-BkqZ80DcyJitXG3W0bwc71K68oKLGhFkqtZ54w/edit#heading=h.7p2vvzqugwvs
same proposal on right click select
https://blender.community/c/rightclickselect/l1bbbc/
You could integrate HairNet in Blender 2.81
HairNet
This creates a Hair from Curve
Demo: Creating Braid in Blender by Nazar Noschenko
Added subscriber: @ChrisWillC
Added subscriber: @AlbertoVelazquez
Added subscriber: @c2ba
Added subscriber: @Enoch11223
Added subscriber: @lemenicier_julien
Added subscriber: @LapisSea
Added subscriber: @DB3D
If the particles Hair system will be reworked could we give more features for Scattering things around ?
This is how 95% of users will use the hair system for. And we need some IMPORTANT missing features. Like camera clipping, bounding box for preventing intersection and get clean border, distribute the particles by slope and altitude, a better link between a cycle/eevee material to the particle distribution, and many more really important features/flaw...I try to regroup everything Scatterinng related in this topic. https://devtalk.blender.org/t/future-particle-hair-nodes-discussion-and-everything-wrong-with-hair-particles/9576/39 I will do a proposal when I found everything.
Added subscriber: @Pipeliner
Added subscriber: @jmztn
Added subscriber: @iloveyehan
Added subscriber: @Constantina32
New hair systemto New hair object typeAdded subscriber: @DuarteRamos
Added subscribers: @sebbas, @ZedDB, @ideasman42
Added subscriber: @JacquesLucke
Added subscriber: @lichtwerk
Added subscriber: @CharlesWardlaw
Added subscriber: @AditiaA.Pratama
Added subscriber: @DanieleViagi
Added subscriber: @Andruxa696
This issue was referenced by
b0a1cf2c9a
This issue was referenced by
fd53b72871
This issue was referenced by blender/cycles@bbf02be98c
This issue was referenced by
9d20f170c7
Added subscriber: @JerBot
Added subscriber: @shafan95
Added subscriber: @DirSurya
Added subscriber: @karatastamer
Added subscriber: @YegorSmirnov
Added subscriber: @frameshift
Added subscriber: @lucasfalcao3d
Added subscriber: @DarkKnight
Added subscriber: @Yianni
Added subscriber: @KonstantinsVisnevskis
Added subscriber: @ClinToch
Added subscriber: @AlfredTsaizer
Commisioner for the hair object type here.
I have written an overview (work in progress) of the hair object type from a user point of perspective. It's mainly focused on node types and what type of data that needs to be stored per curve and vertices/points. The goal is to have a hair system that works both for real time production (games) and off line rendering (vfx / general cg production). My experience comes from grooming in Blender, Houdini, Zbrush and Maya.
The slides in the link below has been discussed with Project leader: @Sebastián Barschkis (sebbas) 2020-06-01. Most text regarding nodes is written as comments to avoid visual clutter. First focus is nodes, but I can see the use of new operators in the future such as converting curves to hair and vice versa.
https://docs.google.com/presentation/d/1OSVFRQEqPoc92m6_vgWbY0Ar71EcfHNwqIhVdro5CUU/edit?usp=sharing
@DanielBystedt can you do upload this here in PDF, or create a wiki document (or even a design task) with this? external links tend to be invalid after awhile. Thank you
@dfelinto
Sure thing! What would be most suitable? Design task or wiki? I'd like to learn what the best approach is so I can do stuff like this properly in the future.
If Design task:
I guess I should tag it with "Nodes & Physics" so it ends up in the workboard
https://developer.blender.org/project/board/101/
Should it go in the "long term" slot of the workboard?
If wiki:
I haven't created a wiki page before and feel pretty unsure how to proceed. Is it somewhere here it should be created? https://wiki.blender.org/wiki/Main_Page
Given that the design may change during the project I would suggest a design task. Once the project is more mature we then move it to the wiki. And yes, Long-Term would be the right column, thank you!
Added subscriber: @rwman
Hi again! I have migrated my google doc stuff into two design tasks
Hair object - Node types design
https://developer.blender.org/T78515
Hair object - design
https://developer.blender.org/T78606
I have set these tasks as child tasks of this task. Perhaps it would be a good idea to add them into Relevant links: in this task?
Added subscriber: @eyecandy
Added subscriber: @KidTempo
Added subscriber: @zanqdo
Added subscriber: @DonCoyote
Added subscriber: @Beryesa
Added subscriber: @brecht
@sebbas will likely start working on this project soon, So he, @JacquesLucke and I had a meeting about it. The idea of having a hair datablock and modifiers is quite clear and agreed on.
The main decision to make is the scope of this project and how to get to a minimum viable product (MVP) as quickly as possible. The main target of this is projects like open movies at the Blender Institute. That means features like hair cards for game engines and related tools and modifiers are not a priority. Further, since we want to get something working as quickly as possible, geometry nodes for hair with lots of small nodes for fine control are also not the first thing we will implement.
Rather, we would start by implemented the most important modifiers in the modifier stack for hair: Distribute, Children, Dynamics, Deform along Surface and various Shaping modifiers. We envision the modifier stack will remain after the addition of geometry nodes, as an interface with high level parameters for a more low level / technical node graph (see also particle nodes discussion). These modifiers would also naturally be available as nodes in geometry nodes later on, but they will work fine in the modifier stack to start with.
There is a long list of tasks in the topic description, but in order to get to an MVP they should not be done in the current order. Rather we would start with these steps in order to get towards something that works:
This also means that most of the contents of the design docs by @DanielBystedt are not yet relevant in the first stage of getting an MVP. Rather adding more advanced tools and nodes would come later, and as far as I can tell the specifics of those designs do not require changes to the basic design presented in this task.
It's interesting to consider the way Pixar internally does hair with the PxHair USD schema , as an (additional?) workflow we could support.
Current Blender hair works by having a set of guide curves, and then child hairs are generated from them using a fixed algorithm and various parameters. With nodes to generate child hairs there will be more user control, but still not at the level where you can add, remove or position the final hairs in edit mode.
The way the PxHair works is that there is a complete hair rest pose, which is then deformed using guide curves, rather than being generated from guide curves. This deformation works like an armature modifier, where each hair has an associated set of guide curves with weights (instead of bones).
This is compatible with the design and could be implemented by supporting hair vertex groups, a deform modifier and some algorithm to generate guide curves and bind to the high res hairs. But we will need a child hair modifier regardless to generate the rest pose, so implementing such a guide curve deformation system can be done after the MVP.
Amazing new that this project is about to start soon! Thanks for all the info @brecht.
I understand what you are saying and I completely agree that a MVP with the bullet points that you listed is a great way of starting the project. I'm available for testing and feedback, so feel free to reach out to me (@DanielBystedt ) at blender.chat
What is still unclear to me in the current design is at which point hair editmode comes into play.
Distribute
orDeform along Surface
modifiers, this sounds like initial data (something like what you can control in theEmission
panel atm)Children
andShaping
(maybe I lack clear description of what functionality is included in Shaping) modifiers would build on top of editmode data.Distribute
modifier? TheDeform along Surface
modifier?Maybe this has been discussed already (not sure because I was not in said meeting), would be nice to have that knowledge shared in this thread as well.
@lichtwerk, it would work the same as meshes, all modifiers work on top of edit mode data. If you want to edit the output of the Distribute modifier, you apply the modifier.
It's up to the user which modifiers they want to apply or keep in the stack. You might want to apply some Shaping modifier to the parent hairs, or you might want to edit every hair individually and apply the Children modifier.
Maybe the question is also about the
Distribute
andDeform along Surface
modifiers in general:If above is true, the question of my previous comments remains: does editmode work before or after?
I am trying to wrap my head around the concept of the
Deform along Surface
modifier more:Shrinkwrap
for meshes? or is this more likeMesh Deform
(needing something like binding information)?@brecht: OK, we were typing at the same time.
So, I guess this answers the questions I had, yes.
Will be interesting to see how the
Distribute
andDeform Along Surface
behave in the end with already existing editmode shaping, but I guess this is details to see while working on this.Actually, that one question remains: Is the
Distribute
modifier actually responsible for creating the initial data [number of hairs etc.]? I assume it is not.Add Hair
operator needs to expose some more initial properties like number of hairs, segments? Or the hair datablock needs to?The Distribute modifier will create the actual hairs. It is not required before going into edit mode, because the Add tool there will be able to create hairs on the surface object. However for convenience, most of the time you would use a Distribute modifier and adding a new Hair object from the Add menu would already have such a modifier.
Perhaps we could implement a better distribute model than what we have currently in blender?
This for example: http://www.cemyuksel.com/research/sampleelimination/
Because of the more even and "natural" pattern users would often need fewer hairs to cover the mesh.
I bring this up because we could use this method to define a density of hairs. So when manually adding hairs in post to a surface, it would not add more hair to parts that are already dense enough.
I don't think it is possible to do this with the current "add hair" brush?
This distribution model looks great and due to its deterministic nature and should be considered for more than adding hairs but also removing/hiding them. For example this open the gates to more advanced hair data structures that would allow for much more performant and powerful combing. (analogous to multires sculpt) This has wide implications so is probably out of the scope of this task but the node based nature of this system should make it easier to create at a later date.
Added subscriber: @dodododorian
Speaking about a distribution modifier, here's how we handle this in houdini :
Removed subscriber: @AlbertoVelazquez
Added subscriber: @MohamadFaisalAmir
Added subscriber: @AlRedd-3
Hi! Has work started on this, yet? :)
Added subscriber: @Brunomendesgussoni
Removed subscriber: @Brunomendesgussoni
Added subscriber: @Brunomendesgussoni
Added subscriber: @AlanKnittel
Just putting our two cents in that we would also like to see the basics asap, as we're upgrading one of the original Cosmos Laundromat characters as soon as the new hair (Fur for us) system is available.
Added subscriber: @Likkez-2
Added subscriber: @MeshVoid
Added subscriber: @aicedor
Added subscriber: @mindmark
Has there been any new thoughts on this task? Scheduled for an alpha release?
Added subscriber: @wenyuan60
Hello,I want to know when the new hair will be released
Added subscriber: @FrancoisRimasson
Removed subscriber: @shafan95
Added subscriber: @ddade
Added subscriber: @Peine_Perdue
Added subscriber: @strangerman
Added subscriber: @AieKick
Hey guys, now that there's a few more curve tools in geometry nodes, at what point will this start to be tackled a bit? A new hair system is sorely needed, compared to other hair systems the one we have now is way behind
Added subscriber: @NBlen
I too would like to know if this will be updated at any time. It is rather difficult to work with realistic fur in blender without a new system..
This is an extremely interesting design. Is it going to be implemented anytime soon?
As always, looking for you to raise the priority of this over other things. We're modeling a cat that will need fur.
This comment was removed by @AlRedd-3
Added subscriber: @pabloz10
OMG this will be an XGEN killer 🗡 I'm so Excited to see this in 3.X
Added subscriber: @TheCharacterhero-4
Added subscriber: @Jaye.Antoni_Whyldz
Added subscriber: @Gareth-Jensen-1
Added subscriber: @SteffenD
Added subscriber: @Roughy
Added subscriber: @Defka
Added subscriber: @shwaky
This comment was removed by @shwaky
New hair object typeto New curves object typeAdded subscriber: @dodo-2
This comment was removed by @dodo-2
Added subscriber: @Floreum
Added subscriber: @paulgolter
Added subscriber: @dlc17
Added subscriber: @Plyro
Added subscriber: @JoseConseco
Added subscriber: @shinyuu
Added subscriber: @Ducktor-Cid
Added subscriber: @Sarfaraz-Yeaseen
Added subscriber: @Carl-Skanoy
Added subscriber: @BlenderSith
Added subscriber: @Metrons
Added subscriber: @povmaniac
Added subscriber: @persun
Added subscriber: @SonnyCampbell_Unity
FYI - I've created a task for supporting the new curves for USD export, but don't have permission to update this task
https://developer.blender.org/T102376
@SonnyCampbell_Unity, I've given you the permissions to edit tasks now.
Added subscriber: @Jarrett-Johnson
Added subscriber: @s12a
This is the thing that I am most excited about. Is there any hint for when
Python API
Add/remove curves and points
will be worked on?
Added subscriber: @Moppy
Simon Thommes referenced this issue2024-08-01 12:44:11 +02:00