{"title":"PROCEDURAL ANIMATION TECHNOLOGY APPLICATION FOR HUMANOID GAME AGENTS","authors":"Kristina Builisova","doi":"10.3846/mla.2023.19216","DOIUrl":null,"url":null,"abstract":"This article analyzes inverse kinematics algorithms and demonstrates the application of the chosen algorithm to the Unity game engine. It has been found that Unity inverse kinematics solvers do not offer functionality necessary to apply anatomically correct animation to a humanoid agent. A few inverse kinematics algorithms were chosen for comparison, such as Cyclic Coordinate Descent, FABRIK and triangulation; due to the support of multiple end effectors and possible optimizations, FABRIK was chosen to be implemented in the “FABRIK IK” solver. After comparing the functionality of “FABRIK IK” to Unity’s “Two Bone IK” and “Chain IK” solvers, it was found that “FABRIK IK” has more built-in functionality than “Two Bone IK” and “Chain IK” in the analyzed areas. The measurement of framerate has shown that the application of either solver has not posed a significant difference in performance on Unity (the difference in performance ranges from –8.29% to 5.89%). The visual demonstration that shows the application of “FABRIK IK” demonstrates an anatomically sound and accurate walking cycle, especially compared to “Chain IK”; the accuracy of the animation is comparable to “Two Bone IK”.","PeriodicalId":30324,"journal":{"name":"Mokslas Lietuvos Ateitis","volume":"29 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Mokslas Lietuvos Ateitis","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3846/mla.2023.19216","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
This article analyzes inverse kinematics algorithms and demonstrates the application of the chosen algorithm to the Unity game engine. It has been found that Unity inverse kinematics solvers do not offer functionality necessary to apply anatomically correct animation to a humanoid agent. A few inverse kinematics algorithms were chosen for comparison, such as Cyclic Coordinate Descent, FABRIK and triangulation; due to the support of multiple end effectors and possible optimizations, FABRIK was chosen to be implemented in the “FABRIK IK” solver. After comparing the functionality of “FABRIK IK” to Unity’s “Two Bone IK” and “Chain IK” solvers, it was found that “FABRIK IK” has more built-in functionality than “Two Bone IK” and “Chain IK” in the analyzed areas. The measurement of framerate has shown that the application of either solver has not posed a significant difference in performance on Unity (the difference in performance ranges from –8.29% to 5.89%). The visual demonstration that shows the application of “FABRIK IK” demonstrates an anatomically sound and accurate walking cycle, especially compared to “Chain IK”; the accuracy of the animation is comparable to “Two Bone IK”.
本文分析了逆运动学算法,并演示了所选算法在Unity游戏引擎中的应用。已经发现Unity逆运动学求解器不提供必要的功能,以应用解剖学正确的动画人形代理。选择了循环坐标下降法、FABRIK法和三角剖分法等几种运动学逆解算法进行比较;由于支持多个末端执行器和可能的优化,FABRIK被选择在“FABRIK IK”求解器中实现。将“FABRIK IK”的功能与Unity的“Two Bone IK”和“Chain IK”求解器进行比较后发现,在分析区域中,“FABRIK IK”比“Two Bone IK”和“Chain IK”具有更多的内置功能。帧率的测量表明,任一解算器的应用都不会对Unity的性能造成显著差异(性能差异范围从-8.29%到5.89%)。视觉演示展示了“FABRIK IK”的应用,展示了解剖学上健全和准确的步行周期,特别是与“Chain IK”相比;动画的精度堪比“Two Bone IK”。