Commit Graph

56 Commits (3fb2995b024001725a55c08d46b573016a018900)

Author SHA1 Message Date
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
Martin Felis c5b0d1f976 Initial graph editor and graph instantiation from file. 2022-02-11 16:51:18 +01:00
Martin Felis fd4785afcd Initial works for sampling root node transforms. 2022-01-22 09:30:16 +01:00
Martin Felis b8d863c8e1 Renamed m_current_time to m_time_current to simplify root bone sampling. 2021-12-03 15:58:20 +01:00
Martin Felis 6aabe98931 WIP root bone transform calc 2021-12-03 11:13:08 +01:00
Martin Felis d4f9459060 WIP animation based root bone transform calculation. 2021-11-21 12:33:22 +01:00