Softbodies - Pinpoints nightmare

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Lone Dragon

Hello there,

I’m trying to use softbody to simulate long hair for one of my characters, so I created the mesh in Blender and converted to softbody in Godot. The problem is fixing the pinpoints of the scalp on characters head is a real nightmare because it has to be marked one by one. Shift + Selection does not have any effect.

Do you guys know a more efficient way for fixing the softbodies pinpoints? That interface full of dots and delayed selection is really awful. :frowning:
(I love Godot, by the way, please, developers, don’t take this critique personal, but as suggestion of something that maybe you should consider improving)

Another thing I’ve been wondering of is to use hair strand meshes without any texture, but different materials to each one to give an impression of hair, instead of a single mesh of the whole scalp. Do you think this is an efficient approach regarding performance? Should I use multimeshInstance to instanciate those hair strands?

Thank you in advance.

:bust_in_silhouette: Reply From: liss22

Final success work on youtube: https://youtu.be/yttmpihjmEo
See youtube instead of below


I found some way to do that but it’s another Hell-work :frowning:

( my example works failed but you can do this way )

Idea

enter image description here

every vertex in model has their index
(image wrong :confused: , start from 0)

and there is some kind of work with index (like build modifier on blender)
enter image description here

and I found that “join object” mean “push_back” their vertex
enter image description here
you can see join order can effect vertex index

Example work

enter image description here
example work with blender

enter image description here
select vertex you want to pin

enter image description here
duplicate selected vertex and seperate from object with Editmode > Seperate Selection
*important ) check your pin vertex count

enter image description here
select hair object, pin object and join it
after join, merge vertex by distance

and go to godot


set pinned points count to *your vertex count and set element same as index
you can see pin vertex selected well (in example, 155 vertex)


and another hell work for spatial attachment setting :\

enter image description here
ahh i forgot select hair volume, failed example
but you can see expectation result

so, test your hair simulation on blender
and work with fixed vertex (group) :slight_smile:

EDIT:
Good news !
you can setup easier Hell-work on tscn text edit


change pinned_points array 0 to *selected_pinned_size
and change attachments properties; “NodePath()” to “NodePath(”…“)”

enter image description here
Work very well :slight_smile:

create pinned_points array text for Processing

final int count = 450;

void setup() {
  StringList tmp = new StringList();
  for (int i=0; i<count; i++) {
    tmp.append(str(i)+",");
  }
  String[] j = tmp.array();
  saveStrings("arraylist.txt",j);
  exit();
}