|
3 | 3 | <head>
|
4 | 4 | <title>FuncGodot Manual</title>
|
5 | 5 | <link rel="icon" type="image/x-icon" href="../images/godot_ranger.svg">
|
6 |
| - <link rel="stylesheet" href="../styles.css"> |
| 6 | + <link rel="stylesheet" href="styles.css"> |
7 | 7 | </head>
|
8 |
| -<body> |
| 8 | +<body class="main"> |
9 | 9 | <div class="main">
|
10 | 10 | <h1>FuncGodot FGD Resources</h1>
|
11 | 11 |
|
@@ -76,6 +76,7 @@ <h2 id="Entity">FuncGodotFGDEntityClass</h2>
|
76 | 76 | <td>Type</td>
|
77 | 77 | <td>Description</td>
|
78 | 78 | </tr>
|
| 79 | + |
79 | 80 | <tr class="header"><td>Entity Definition</td><td></td><td></td></tr>
|
80 | 81 | <tr>
|
81 | 82 | <td>Classname</td>
|
@@ -129,7 +130,7 @@ <h2 id="Entity">FuncGodotFGDEntityClass</h2>
|
129 | 130 | and <a href="https://trenchbroom.github.io/manual/latest/#display-models-for-entities" target="_blank">TrenchBroom</a> documentation for more information.
|
130 | 131 | </td>
|
131 | 132 | </tr>
|
132 |
| - |
| 133 | + |
133 | 134 | <tr class="header"><td>Node Generation</td><td></td><td></td></tr>
|
134 | 135 | <tr>
|
135 | 136 | <td>Node Class</td>
|
@@ -234,7 +235,7 @@ <h2 id="Solid">FuncGodotFGDSolidClass</h2>
|
234 | 235 | </ul>
|
235 | 236 | </td>
|
236 | 237 | </tr>
|
237 |
| - |
| 238 | + |
238 | 239 | <tr class="header"><td>Visual Build</td><td></td><td></td></tr>
|
239 | 240 | <tr>
|
240 | 241 | <td>Build Visuals</td>
|
@@ -268,7 +269,7 @@ <h2 id="Solid">FuncGodotFGDSolidClass</h2>
|
268 | 269 | <td>Int, 3D Render Flags</td>
|
269 | 270 | <td>This Solid Class' MeshInstance3D will only be visible for Camera3Ds whose cull mask includes any of these render layers.</td>
|
270 | 271 | </tr>
|
271 |
| - |
| 272 | + |
272 | 273 | <tr class="header"><td>Collision Build</td><td></td><td></td></tr>
|
273 | 274 | <tr>
|
274 | 275 | <td>Collision Shape Type</td>
|
@@ -317,6 +318,66 @@ <h2 id="Solid">FuncGodotFGDSolidClass</h2>
|
317 | 318 | for details.
|
318 | 319 | </td>
|
319 | 320 | </tr>
|
| 321 | + |
| 322 | + <tr class="header"> |
| 323 | + <td>Mesh Metadata</td> |
| 324 | + <td></td> |
| 325 | + <td> |
| 326 | + The following properties tell FuncGodot to add a <i>"func_godot_mesh_data"</i> Dictionary to the metadata of the generated node upon build. |
| 327 | + This data is parallelized, so that each element of the array is ordered to reference the same face in the mesh. |
| 328 | + </td> |
| 329 | + </tr> |
| 330 | + <tr> |
| 331 | + <td>Add Textures Metadata</td> |
| 332 | + <td>Bool</td> |
| 333 | + <td> |
| 334 | + Add a texture lookup table to the generated node's metadata on build.<br><br> |
| 335 | + The data is split between an Array of <a href="https://docs.godotengine.org/en/stable/classes/class_stringname.html" target="_blank">StringName</a> |
| 336 | + called <i>"texture_names"</i> containing all currently used texture materials and a |
| 337 | + <a href="https://docs.godotengine.org/en/stable/classes/class_packedint32array.html" target="_blank">PackedInt32Array</a> |
| 338 | + called <i>"textures"</i> where each element is an index corresponding to the <i>"texture_names"</i> entries. |
| 339 | + </td> |
| 340 | + </tr> |
| 341 | + <tr> |
| 342 | + <td>Add Vertex Metadata</td> |
| 343 | + <td>Bool</td> |
| 344 | + <td> |
| 345 | + Add a <a href="https://docs.godotengine.org/en/stable/classes/class_packedvector3array.html" target="_blank">PackedVector3Array</a> |
| 346 | + called <i>"vertices"</i> to the generated node's metadata on build.<br><br> |
| 347 | + This is a list of every vertex in the generated node's <i>MeshInstance3D</i>. Every 3 vertices represent a single face. |
| 348 | + </td> |
| 349 | + </tr> |
| 350 | + <tr> |
| 351 | + <td>Add Face Position Metadata</td> |
| 352 | + <td>Bool</td> |
| 353 | + <td> |
| 354 | + Add a <i>PackedVector3Array</i> called <i>"positions"</i> to the generated node's metadata on build.<br><br> |
| 355 | + This is a list of positions for each face, local to the generated node, calculated by averaging the face's vertices to find its center. |
| 356 | + </td> |
| 357 | + </tr> |
| 358 | + <tr> |
| 359 | + <td>Add Face Normal Metadata</td> |
| 360 | + <td>Bool</td> |
| 361 | + <td> |
| 362 | + Add a <i>PackedVector3Array</i> called <i>"normals"</i> in the generated node's metadata on build.<br><br> |
| 363 | + Contains a list of each face's normal. |
| 364 | + </td> |
| 365 | + </tr> |
| 366 | + <tr> |
| 367 | + <td>Add Collision Shape Face Range Metadata</td> |
| 368 | + <td>Bool</td> |
| 369 | + <td> |
| 370 | + Add a <i>Dictionary</i> called <i>"collision_shape_to_face_range_map"</i> to the generated node's metadata on build.<br><br> |
| 371 | + Contains keys of <i>Strings</i>, which are the names of child <i>CollisionShape3D</i> nodes, and values of |
| 372 | + <a href="https://docs.godotengine.org/en/stable/classes/class_vector2i.html" target="_blank">Vector2i</a> |
| 373 | + where the <i>X</i> represents the starting index of that child's faces and the <i>Y</i> represents the |
| 374 | + ending index.<br><br> |
| 375 | + For example, an element of<br> |
| 376 | + <code>{ "entity_1_brush_0_collision_shape" : Vector2i(0, 15) }</code><br> |
| 377 | + shows that this solid class has been generated with one child collision shape named <i>entity_1_brush_0_collision_shape</i> |
| 378 | + which handles the first 15 faces of the parts of the mesh with collision. |
| 379 | + </td> |
| 380 | + </tr> |
320 | 381 |
|
321 | 382 | <tr class="header"><td>Scripting</td><td></td><td></td></tr>
|
322 | 383 | <tr>
|
|
0 commit comments