User talk:Lexevo/Findings/AnimJ

From Neos Wiki
Jump to navigation Jump to search

Matrix Types

- {"m00": 1.0, "m01": 2.0, "m10": 3.0, "m11": 4.0} - should work I'll keep testing ProbablePrime (talk) 09:17, 9 August 2022 (CEST)


Tangents

- I have no idea, I presume you've decompiled that area? ProbablePrime (talk) 09:17, 9 August 2022 (CEST)

How the Sample Animation Track logix node and the Animator component handle Animations without a set globalDuration

- The Importer will set a Global Duration to be the largest time value of any track. E.g. if one track has its last time value at 5, then your track is 5 seconds long ProbablePrime (talk) 09:17, 9 August 2022 (CEST)

What happens when you have multiple animation tracks with the same Node or Property value set. And what happens when you use the "Find Animation Track Index" logix node in this situation

- For Animator, Unless you're using "SetupFieldsByName"(which is bugged), it doesn't care. It just maps them by index. In the component, field 0 => track 0 and so on. - For the Logix Node, it'll return the first track that matches the node and property. Basically the same thing that happens if there are multiple matches in https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.find?view=net-6.0 ProbablePrime (talk) 09:17, 9 August 2022 (CEST)

What happens to a RawAnimationTrack with no globalDuration or interval.

Uses FrameCount * Interval, for duration. ProbablePrime (talk) 09:17, 9 August 2022 (CEST)

What happens when a keyframe has a lower time value than the previous keyframe (probably just plays it first, but not sure)

if(FrameCount > 0)
            {
                int index = 0;

                if (keyframes[lastIndex].time < time)
                    index = lastIndex + 1;

                while (index < FrameCount && keyframes[index].time < time)
                    index++;

                return index-1;
            }

            return -1;

- I'm not even sure given this code, but it looks like it'll find the next frame in the array with a time that is applicable. We can test this one ProbablePrime (talk) 09:17, 9 August 2022 (CEST)

Looks like its just ignored. https://i.probableprime.co.uk/220809-x5kpDPEpWTISTObaJIhk.animj has some frames with lower time values at the end, which move in the Z and my sphere never moves in Z ProbablePrime (talk) 09:27, 9 August 2022 (CEST)

How Neos interprets time values greater than the globalDuration when using the Sample Animation Track logix node.

Looks like the last frame in the track will be returned. Will test this one too. Same/Similar stuff to the previous question where it keeps advancing ProbablePrime (talk) 09:17, 9 August 2022 (CEST)

Yup, just ignores it and returns 0 ProbablePrime (talk) 09:30, 9 August 2022 (CEST)