This work introduces a data model, compiler and runtime interpreter to drive the logic of animation graphs in game engines. The primary purpose of an animation graph is to allow for animation logic to be evaluated in a data driven way, which enables game programmers and animators to work iteratively and in parallel. The combination of animation blend trees and hierarchical state machines serves to empower animators to break down the complexity into simpler units with precise and predictable control over animation sampling and the transitions between them. Additionally, the system also serves as a synchronization point between game play elements and animation with input parameters and output events which can potentially trigger other systems such as audio and visual effects. The result is a standalone library which can be used as a foundation in a project and expanded with additional functionality as required. / Detta arbete introducerar en data model, kompilator och körmiljö för att driva logiken av animationsgrafer i spelmotorer. Huvudsyftet av en animationsgraf är att tillåta datadrivet animationslogik vilket möjliggör spelprogrammerare och animerare att arbeta iterativt och parallellt. Kombinationen av animationblandningsträd och hierarkiska statmaskiner ger animerare ett sätt att bryta ner komplexa problem till mindre enheter med exakt och förutsägbar kontroll av animationer och övergångar mellan dem. Systemet verkar också som en synkroniseringspunkt mellan spelelement och animation med inmatningsparameterar och utgående händelser som potentiellt kan utlösa andra system som ljud- och visuella effekter. Resultatet är ett fristående programbibliotek som kan användas som en startpunkt i ett projekt och vars funktionalitet kan utökas vid behov.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:ltu-98526 |
Date | January 2023 |
Creators | Berg, Jonathan |
Publisher | Luleå tekniska universitet, Institutionen för system- och rymdteknik |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0016 seconds