示例#1
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);
    }