예제 #1
0
        bool ConfigureFuseCharacter()
        {
            //TODO: check if character already configured
            //TODO: be able to get char properties by user input.

            if (!leftEye || !rightEye)
            {
                warningText = "No left eye or right eye joint found! That's ok though.";
            }
            if (!headJoint || /* !leftEye || !rightEye || */ !faceMesh)
            {
                return(false);
            }

            //Add appropriate components

            fpConnector = charOBJ.GetComponent <FacePlusConnector>() ? charOBJ.GetComponent <FacePlusConnector>()
                                                : charOBJ.AddComponent <FacePlusConnector>();
            fpConnector.Type              = FacePlusConnector.RigType.BlendShape;
            fpConnector.HeadJoint         = headJoint;
            fpConnector.LeftEyeTransform  = leftEye;
            fpConnector.RightEyeTransform = rightEye;
            fpConnector.FaceMesh          = faceMesh;

            fpShaper = charOBJ.GetComponent <FacePlusShaper>() ? charOBJ.GetComponent <FacePlusShaper>()
                                         : charOBJ.AddComponent <FacePlusShaper>();

            fpExtraBlendshapes = charOBJ.GetComponent <FacePlusExtras_MoreBlendshapeMeshes>() ? charOBJ.GetComponent <FacePlusExtras_MoreBlendshapeMeshes>()
                                         : charOBJ.AddComponent <FacePlusExtras_MoreBlendshapeMeshes>();

            fpExtraBlendshapes.FaceMesh = faceMesh;
            fpExtraBlendshapes.ExtraBlendshapeMeshes = extraMeshes;

            /* smooth head rotation is broked, let's not use it for now!
             *
             * fpSmoothHeadRot = charOBJ.GetComponent<FacePlusExtras_SmoothHeadRotation>() ? charOBJ.GetComponent<FacePlusExtras_SmoothHeadRotation>()
             *                              : charOBJ.AddComponent<FacePlusExtras_SmoothHeadRotation>();
             * fpSmoothHeadRot.HeadJoint = headJoint;
             */

            return(true);
        }
예제 #2
0
        bool ConfigureFuseCharacter()
        {
            //TODO: check if character already configured
            //TODO: be able to get char properties by user input.

            if(!leftEye || !rightEye)
            warningText = "No left eye or right eye joint found! That's ok though.";
            if(!headJoint ||/* !leftEye || !rightEye || */!faceMesh)
            return false;

            //Add appropriate components

            fpConnector = charOBJ.GetComponent<FacePlusConnector>() ? charOBJ.GetComponent<FacePlusConnector>()
                        : charOBJ.AddComponent<FacePlusConnector>();
            fpConnector.Type = FacePlusConnector.RigType.BlendShape;
            fpConnector.HeadJoint = headJoint;
            fpConnector.LeftEyeTransform = leftEye;
            fpConnector.RightEyeTransform = rightEye;
            fpConnector.FaceMesh = faceMesh;

            fpShaper = charOBJ.GetComponent<FacePlusShaper>() ? charOBJ.GetComponent<FacePlusShaper>()
                     : charOBJ.AddComponent<FacePlusShaper>();

            fpExtraBlendshapes = charOBJ.GetComponent<FacePlusExtras_MoreBlendshapeMeshes>() ? charOBJ.GetComponent<FacePlusExtras_MoreBlendshapeMeshes>()
                     : charOBJ.AddComponent<FacePlusExtras_MoreBlendshapeMeshes>();

            fpExtraBlendshapes.FaceMesh = faceMesh;
            fpExtraBlendshapes.ExtraBlendshapeMeshes = extraMeshes;

            /* smooth head rotation is broked, let's not use it for now!

            fpSmoothHeadRot = charOBJ.GetComponent<FacePlusExtras_SmoothHeadRotation>() ? charOBJ.GetComponent<FacePlusExtras_SmoothHeadRotation>()
                        : charOBJ.AddComponent<FacePlusExtras_SmoothHeadRotation>();
            fpSmoothHeadRot.HeadJoint = headJoint;
            */

            return true;
        }