TETRA Kickoff Presentatie

Op 9 februari 2021 hielden we de kick-off voor de TETRA AI in productie van games, VFX en animaties. Hierboven kan u de slides en het verslag downloadenHieronder vatten we de twee use cases waar op dit moment aan wordt gewerkt samen.

U kan nog steeds input geven door de enquête in verband met visuele bug detectie in te vullen of een individueel gesprek aan te vragen.

Use Case Systemic Animation

In de use case rond systemic animation zullen we aan de slag gaan met het concept van de IK-rig voor procedural pose animation.

Uit het voorbereidingsjaar was duidelijk dat er bij “Datagedreven Animaties” (waar we later dit jaar binnen een use case rond zullen werken) nog een belangrijke component mist, namelijk de artistieke controle over het eindresultaat. De IK rig voor procedural pose animation is een voorbeeld van een systemic animation solution, deze manier van werken staat ons toe om het door AI-getrainde datagedreven model nog verder te customizeren op basis van context-bewuste aanpassingen, of “regels”.

De essentie van de Procedural IK Rig is deze; We ontkoppelen de animaties van de rigs door elke animatie op elke rig te converteren naar Inverse Kinematics ketens. Door dit te doen, brengen we alle animatie-data van gelijkaardige karakters (bipeds, quadrupeds) naar één gedeelde vorm. Eens we onze animaties omgezet hebben in IK ketens, passen we context-bewuste aanpassingen toe op deze ketens. We “animeren” zo niet de keyframes, maar de MOCAP animaties zelf, op basis van conditionele transformaties. Als laatste converteren we dan het resultaat naar eender welke andere rig.

Deze manier van werken staat ons toe om heel wat verschillende zaken op een procedurele manier op te vangen, waaronder een soort retargeting 2.0, het staat ons toe om eender welke animatie op eender welke rig af te spelen, het staat ons ook toe om de stijl van onze animaties aan te passen, de characters te scalen en hun properties wijd te laten variëren, het geeft ons een mogelijke route voor prop interactie, het staat ons toe om de snelheid van locomotie-animaties procedureel aan te passen, en geeft ons een mogelijke route voor terrain navigatie en avoidance.

Binnen dit project zullen we trachten zo’n systeem zelf op te zetten. Het doel van deze use case is om de limieten van zo’n systeem te testen, om een goed idee te vormen van hoelang het duurt om zo’n systeem te implementeren, hoe gemakkelijk het systeem in gebruik te nemen is, en waar de mogelijke tekortkomingen van zo’n systeem nog liggen.

Binnen de TETRA zullen we dus binnen twee use cases werken rond het datagedreven animatie-systeem, en het procedural IK rig systeem.

Onze stagiair, Arne, zal binnen het eerste deel van zijn stage kijken naar de Auto-Rigging tool, en mogelijks in een later deel naar de motion capture cleanup tool.

Doorheen deze TETRA zullen we dus binnen de Animation use cases een reeks technologieën bekijken en onderzoeken die samen de basis leggen voor een potentiële geüpdatet animation pipeline voor games.

Animation pipeline

Use Case Visuele Bug Detectie

In deze samenvatting wordt met bugs specifiek naar visuele bugs verwezen.

De meest evidente manier om visuele bugs in games te vinden is aan de hand van manuele playtesting. Dit brengt verschillende uitdagingen met zich mee. Zeker het aspect van willekeurigheid kan ervoor zorgen dat een nieuwe bug die door een game developer wordt geïntroduceerd niet onmiddellijk wordt gevonden. Naast enkele heuristieken bestaat er geen systematische aanpak om zo efficiënt mogelijk of met 100% zekerheid een visuele bug te vinden.

De feedback loop van 1) de programmeur die een nieuwe bug introduceert, 2) de tester die deze moet vinden, een report maakt, en 3) uiteindelijk iemand die de bug oplost, kan uren tot zelfs dagen duren. Het is niet zeldzaam dat sommige bugs niet worden gevonden.

Één van de pilaren van DevOps is de Continuous Integration en Continuous Delivery pipeline, waarvan de (versimpelde) filosofie is: automatiseer alles waar je liever geen werkuren in steekt. Een dergelijk proces voor visuele bugs zal het leven van de testers vergemakkelijken, zodat deze geen bugreport moeten schrijven voor elke nieuwe visuele bug die wordt geïntroduceerd. De ontwikkelaars krijgen deze al in een eerdere fase te zien. De testers kunnen zich bijgevolg focussen op meer complexe bugs.

Het doel van het onderzoek is het ontwikkelen van één of meerdere methodes om automatisch bugs te detecteren. Het proces om een dergelijke workflow te creëren wordt gedocumenteerd en naar de gebruikersgroep toe gecommuniceerd. Op deze manier brengen we in kaart wat de huidige mogelijkheden en limieten zijn van visual bug detection.

Binnen de use case kan de focus op verschillende types bugs worden gelegd: ontbrekende texture, uitgerokken texture, z-fighting, antialiasing, object distortie, zwevende objecten, clipping, t-poses… Als een van deze of een ander onderwerp voor jou het interessants zou zijn, laat dat ons dan weten door de enquête in te vullen. Als je een omgeving of andere data hebt waarop we de modellen kunnen testen kan je dit ook via de enquête meedelen.