61 Commits

Author SHA1 Message Date
Martin Felis
5a6ac92a48 Using bits of the blueprints examples for the AnimGraphEditor. 2025-02-16 22:12:31 +01:00
Martin Felis
40f631c51a Fixed memory leak by introducing virtual node descriptors.
AnimNodeResources do not reference an actual node anymore. However, we still need descriptors to check whether connections are valid.

For this we have VirtualNodeDescriptors for which all sockets point to nullptr.
2025-02-16 14:22:13 +01:00
Martin Felis
4b378adc91 Minor cleanup. 2025-02-16 12:31:44 +01:00
Martin Felis
698abbce4b BlendTree input and output sockets can now be registered via the AnimGraphResource. 2024-05-01 21:49:34 +02:00
Martin Felis
5e34aaf3db Extremely basic blend tree editing. 2024-04-25 21:12:08 +02:00
Martin Felis
91e226945c Added basic connection validation and connection removal to BlendTreeResources. 2024-04-21 12:42:49 +02:00
Martin Felis
d95bc9fb9c Made BlendTreeResource::m_nodes and ::m_connections private.
This is a prerequisite to properly track Node input/output connections and to compute eval order in the BlendTreeResources.
2024-04-16 22:18:11 +02:00
Martin Felis
1741238a61 Fixed variable shadowing. 2024-04-05 00:43:41 +02:00
Martin Felis
8694a11416 Removed even more unused files. 2024-04-05 00:18:07 +02:00
Martin Felis
cd56efca3d Only storing single socket in AnimGraphConnections and simplified wiring logic. 2024-04-04 19:36:20 +02:00
Martin Felis
28eca48a61 Added a test that checks socket propagation into an embedded BlendTree. 2024-04-01 17:59:25 +02:00
Martin Felis
76ea38f118 Added support of time updates for simple embedded graphs. 2024-04-01 12:33:23 +02:00
Martin Felis
0aebe44bd5 Started working on evaluating embedded blend trees. 2024-03-25 22:26:29 +01:00
Martin Felis
99f11e61d8 Refactored AnimGraphResourceTests such that some tests use reusable fixtures. 2024-03-25 21:10:27 +01:00
Martin Felis
116bf7699b Added support of saving and loading of embedded blend tree resources. 2024-03-24 21:50:22 +01:00
Martin Felis
3a7f470acf Fixed memory leak in ResourceSaveLoadMathGraphInputs test. 2024-03-22 12:25:42 +01:00
Martin Felis
e687c9b613 Restored AnimGraphResourceTests. 2024-03-20 22:40:46 +01:00
Martin Felis
ccb9bc4e9b Working on unified BlendTree and StateMachine handling. 2024-03-17 22:06:27 +01:00
Martin Felis
8c68737f62 Fixed referenced filenames in AnimGraphResourceTests. 2023-04-21 12:39:09 +02:00
Martin Felis
abf44a875a Added support for const node inputs. 2023-04-02 16:26:24 +02:00
Martin Felis
3d55b748e6 Refactored anim graph data usage and evaluation.
- Refactored NodeSocketAccessor to NodeDescriptor.
- Connections are wired up during AnimGraph instantiation.
  - Output and input sockets point to the same memory location.
  - No re-wiring needed during evaluation.
  - AnimGraph are pre-allocated (refactoring for less memory usage postponed).
- Evaluation of AnimGraph now possible from the editor.
2023-04-01 14:16:20 +02:00
Martin Felis
91607baa9d Initial step for connectivity refactor.
Instead of wiring up pointers with prepareNodeEval() and finishNodeEval() use for each connection a single memory block where outputs and inputs point to.
2023-03-30 23:50:07 +02:00
Martin Felis
9168dec9f9 Added NodeDescriptor::UpdateFlags() to set Blend2 weight input flags. 2023-03-30 16:53:09 +02:00
Martin Felis
9dd10e8f27 Initial version of NodeDescriptor which aims to replace NodeSocketAccessor. 2023-03-29 22:25:09 +02:00
Martin Felis
e38c0b4934 Started working on graph initialization in ATP Editor. 2023-03-26 23:39:11 +02:00
Martin Felis
15871f349c Updated ozz-animation to version 0.14.1 @35b2efd4 2023-03-26 13:28:12 +02:00
Martin Felis
aa9ab1def1 Added missing test data 2022-10-18 22:34:01 +02:00
Martin Felis
68331467f0 Refactored graph evaluations. 2022-04-18 20:02:16 +02:00
Martin Felis
5e7a48b2eb WIP: graph evaluations. Fixed various memory issues, better tests. 2022-04-14 18:03:36 +02:00
Martin Felis
2da07ef961 Working on graph evaluations. WIP. 2022-04-13 15:48:39 +02:00
Martin Felis
b518220576 Added test which creates skeleton and animation during runtime. 2022-04-13 11:14:29 +02:00
Martin Felis
eeef635c64 Initial works for actial animation sampling and graph evaluation. 2022-04-11 16:46:09 +02:00
Martin Felis
bf0c7a7daa Added Tests for MathAdd Node 2022-04-11 11:40:53 +02:00
Martin Felis
5d8c1e289b Initial graph evaluations, added Float to Vec3 Node, minor editor tweaks. 2022-04-03 21:05:11 +02:00
Martin Felis
08ae84fcb4 New evaluation scheme.
- Animation Data are always referenced via a pointer in nodes.
- Animation Data storage pointers are injected from graph when node is evaluated.
- Node value outputs always stored in node.
- Node value inputs always referenced via pointer. References are created when instantiating the graph.
2022-04-01 13:19:54 +02:00
Martin Felis
abddbea62b Refactoring. 2022-03-25 12:05:56 +01:00
Martin Felis
6c0c0599f8 Removed old animation graph code. 2022-03-25 11:51:37 +01:00
Martin Felis
72a67195e6 Use socket pointers instead of indices for connections. 2022-03-25 11:23:03 +01:00
Martin Felis
73e7a60875 Minor cleanup. 2022-02-24 23:47:31 +01:00
Martin Felis
976875c218 Added index member to node, preparing synctrack and node evaluation. 2022-02-24 22:55:40 +01:00
Martin Felis
d6453911e2 Removed node input splitting. 2022-02-24 22:06:47 +01:00
Martin Felis
ef74f39cf4 Splitted animation and data node inputs. 2022-02-22 22:34:13 +01:00
Martin Felis
af5d27db85 Simple time propagation works. 2022-02-22 22:03:26 +01:00
Martin Felis
b01acc2a88 Added marking of nodes active/inactive. 2022-02-20 15:57:19 +01:00
Martin Felis
618f6b613e Minor test cleanup. 2022-02-19 12:18:54 +01:00
Martin Felis
da916a7346 Added node ordering code and tests. 2022-02-19 12:16:57 +01:00
Martin Felis
bd304bde4e Give access to node inputs in runtime graph, initial works for marking of active nodes. 2022-02-19 00:25:51 +01:00
Martin Felis
3e02f28b18 Graph Input/Output wiring added. 2022-02-14 22:37:19 +01:00
Martin Felis
2b7cbe9d4c Simple graph output connection working. 2022-02-12 11:46:50 +01:00
Martin Felis
c2ae0a11d2 WIP AnimGraph instantiation. 2022-02-12 10:14:26 +01:00