xyz I think most of the challenges I have with the documentation have to do with my own personal struggle with ADHD but, since the tutorial is more about understanding how to use Godot as oppose to how to implement a specific feature in a particular game, I've become concerned about grasping the concepts as oppose to just following the tutorial; I think that's the challenge for me.
This post is going to be a slightly in-depth walk-through of me struggling to follow the tutorial in the Godot documentation about “Using the MeshDataTool”. This isn't a critique of the documentation as I'm aware that my mental issues could be getting in the way; I'm trying to put into perspective why I had a hard time following these tutorials.Here's a link to it here to put what I have to say about it in context:
https://docs.godotengine.org/en/stable/tutorials/3d/procedural_geometry/meshdatatool.html
I've already tried following the MeshDataTool in the documentation and I became fixated about why the functions have the names that they do as that would help me to grasp the concepts properly.
I'm about to show my ignorance about how the game engine works but, I naturally assume that the data from the mesh is already created if I can see the mesh from my MeshInstance3d in my viewport; this makes the function create_from_surface() sound confusing to me. This is perhaps a silly question but, what is being “created” by the function if the point of is to manipulate what's already there? I think I probably stepped into the tutorial with the wrong set of assumptions.
Now I can just follow the tutorial from back to forth without fulling grasping what I'm reading but, I fear that I would only learn how to follow the tutorial as oppose to using the information is a creative way to solve the problem I'm the decals I'm having.
The documentation also talks about a lot of 3d stuff that I've learned in Blender3d but, I've never known on to apply to programming in Godot. It's hard for me to focus on familiar sounding information that doesn't seem immediately relevant to what I'm trying to achieve but, that's no fault of the documentation.
I skimmed over that information but, it left me feeling a bit anxious as I probably missed out on some sort of important detail; this lead me to the part of the page that said “To access information from these arrays you use a function of the form get_****()”; think I understood the functions I saw underneath it; the function “mdt.get_vertex_count()” seemed like something I want to use as I do want to manipulate the positions of the mesh's vector.
After reading further, I see a statement I'm a bit confused about; it says “These modifications are not done in place on the ArrayMesh. If you are dynamically updating an existing ArrayMesh, first delete the existing surface before adding a new one using commit_to_surface()”.
I assume that what the statement means is that what's actually happening is the mesh is getting replaced with a modified version of itself. Hence this line of code underneath it:
mesh.clear_surfaces() # Deletes all of the mesh's surfaces.
mdt.commit_to_surface(mesh)
Still, I'm not sure if my interpretation of the statement was correct.
The tutorial ends with “a complete example that turns a spherical mesh called mesh into a randomly deformed blob complete with updated normals and vertex colors.”; it also ends with a link to a ArrayMesh tutorial.