public RotationFacialAnimationChannel Copy()
    {
        RotationFacialAnimationChannel copy = new RotationFacialAnimationChannel();

        copy.ChannelName = this.ChannelName;
        copy.CanMirror   = this.CanMirror;
        copy.CanLoop     = this.CanLoop;

        List <Vector3> keysCopy = new List <Vector3>(this.Keys.Count);

        for (int i = 0; i < this.Keys.Count; i++)
        {
            keysCopy.Add(this.Keys[i]);
        }

        copy.Keys = keysCopy;

        return(copy);
    }
Beispiel #2
0
    //Fill clip with animation channels from animation data from the database.
    FacialAnimationClip FillAnimationClip(FacialAnimationData data)
    {
        //Create animation clip to fill.
        FacialAnimationClip clip = new FacialAnimationClip(data.ID, this.baseChannels, FRAMERATE);

        for (int i = 0; i < data.RotationChannels.Count; i++)
        {
            RotationFacialAnimationChannel channelData = data.RotationChannels[i];

            RotationChannel rotationChannel = new RotationChannel(channelData.ChannelName, channelData.Keys, channelData.CanLoop, channelData.CanMirror, false, false, FRAMERATE);
            clip.AddAnimationChannel(rotationChannel);
        }

        for (int i = 0; i < data.MorphChannels.Count; i++)
        {
            MorphFacialAnimationChannel channelData = data.MorphChannels[i];
            MorphChannel morphChannel = new MorphChannel(channelData.ChannelName, channelData.Keys, channelData.CanLoop, channelData.CanMirror, false, false, FRAMERATE);
            clip.AddAnimationChannel(morphChannel);
        }

        return(clip);
    }