Exemplo n.º 1
0
        public ComboGestureCompilerInternal(
            ComboGestureIntegrator integrator)
        {
            _animatorController = (AnimatorController)integrator.animatorController;
            _conflictPrevention = ConflictPrevention.OfIntegrator(integrator.writeDefaults);

            // FIXME: Incorrect pattern in use here, none of those are necessary
            _comboLayers                               = new List <GestureComboStageMapper>();
            _parameterGeneration                       = ParameterGeneration.Unique;
            _gesturePlayableLayerController            = null;
            _customEmptyClip                           = null;
            _analogBlinkingUpperThreshold              = 0f;
            _featuresToggles                           = 0;
            _conflictPreventionTempGestureLayer        = ConflictPrevention.OfFxLayer(WriteDefaultsRecommendationMode.UseUnsupportedWriteDefaultsOn);
            _compilerConflictFxLayerMode               = ConflictFxLayerMode.KeepBoth;
            _compilerIgnoreParamList                   = new AnimationClip();
            _compilerFallbackParamList                 = new AnimationClip();
            _avatarDescriptor                          = null;
            _expressionsAvatarMask                     = null;
            _logicalAvatarMask                         = null;
            _weightCorrectionAvatarMask                = null;
            _gesturePlayableLayerExpressionsAvatarMask = null;
            _gesturePlayableLayerTechnicalAvatarMask   = null;
            _integrateLimitedLipsync                   = false;
            _limitedLipsync                            = null;
            _assetContainer                            = null;
            _useGestureWeightCorrection                = false;
            _useSmoothing                              = _useGestureWeightCorrection;
        }
Exemplo n.º 2
0
        public ComboGestureCompilerInternal(
            ComboGestureCompiler compiler,
            AssetContainer assetContainer)
        {
            _comboLayers         = compiler.comboLayers;
            _parameterGeneration = _comboLayers.Count <= 1 ? ParameterGeneration.Unique : (compiler.parameterMode == ParameterMode.SingleInt ? ParameterGeneration.UserDefinedActivity : ParameterGeneration.VirtualActivity);
            switch (_parameterGeneration)
            {
            case ParameterGeneration.Unique:
                _activityStageName = null;
                break;

            case ParameterGeneration.UserDefinedActivity:
                _activityStageName = compiler.activityStageName;
                break;

            case ParameterGeneration.VirtualActivity:
                _activityStageName = SharedLayerUtils.HaiVirtualActivity;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            _animatorController             = (AnimatorController)compiler.animatorController;
            _gesturePlayableLayerController = compiler.gesturePlayableLayerController as AnimatorController;
            _customEmptyClip = compiler.customEmptyClip;
            _analogBlinkingUpperThreshold = compiler.analogBlinkingUpperThreshold;
            _featuresToggles = (compiler.doNotGenerateBlinkingOverrideLayer ? FeatureToggles.DoNotGenerateBlinkingOverrideLayer : 0)
                               | (compiler.doNotGenerateLipsyncOverrideLayer ? FeatureToggles.DoNotGenerateLipsyncOverrideLayer : 0)
                               | (compiler.doNotGenerateWeightCorrectionLayer ? FeatureToggles.DoNotGenerateWeightCorrectionLayer : 0)
                               | (compiler.doNotFixSingleKeyframes ? FeatureToggles.DoNotFixSingleKeyframes : 0);
            _conflictPrevention = ConflictPrevention.OfFxLayer(compiler.writeDefaultsRecommendationMode);
            _conflictPreventionTempGestureLayer = ConflictPrevention.OfGestureLayer(compiler.writeDefaultsRecommendationModeGesture, compiler.gestureLayerTransformCapture);
            _compilerConflictFxLayerMode        = compiler.conflictFxLayerMode;
            _compilerIgnoreParamList            = compiler.ignoreParamList;
            _compilerFallbackParamList          = compiler.fallbackParamList;
            _avatarDescriptor           = compiler.avatarDescriptor;
            _expressionsAvatarMask      = compiler.expressionsAvatarMask ? compiler.expressionsAvatarMask : AssetDatabase.LoadAssetAtPath <AvatarMask>(SharedLayerUtils.FxPlayableLayerAvatarMaskPath);
            _logicalAvatarMask          = compiler.logicalAvatarMask ? compiler.logicalAvatarMask : AssetDatabase.LoadAssetAtPath <AvatarMask>(SharedLayerUtils.FxPlayableLayerAvatarMaskPath);
            _weightCorrectionAvatarMask = compiler.weightCorrectionAvatarMask ? compiler.weightCorrectionAvatarMask : AssetDatabase.LoadAssetAtPath <AvatarMask>(SharedLayerUtils.FxPlayableLayerAvatarMaskPath);
            _gesturePlayableLayerExpressionsAvatarMask = compiler.gesturePlayableLayerExpressionsAvatarMask ? compiler.gesturePlayableLayerExpressionsAvatarMask : AssetDatabase.LoadAssetAtPath <AvatarMask>(GesturePlayableLayerAvatarMaskPath);
            _gesturePlayableLayerTechnicalAvatarMask   = compiler.gesturePlayableLayerTechnicalAvatarMask ? compiler.gesturePlayableLayerTechnicalAvatarMask : AssetDatabase.LoadAssetAtPath <AvatarMask>(GesturePlayableLayerAvatarMaskPath);
            _integrateLimitedLipsync    = false; // For now, Limited Lipsync is disabled regardless of the compiler value
            _limitedLipsync             = compiler.lipsyncForWideOpenMouth;
            _assetContainer             = assetContainer;
            _useGestureWeightCorrection = compiler.WillUseGestureWeightCorrection();
            _useSmoothing = _useGestureWeightCorrection;
        }
 public AnimationNeutralizer(List <ManifestBinding> originalBindings,
                             ConflictFxLayerMode compilerConflictFxLayerMode,
                             AnimationClip compilerIgnoreParamList,
                             AnimationClip compilerFallbackParamList,
                             List <CurveKey> blinkBlendshapes,
                             AssetContainer assetContainer,
                             bool useExhaustiveAnimations,
                             AnimationClip emptyClip,
                             bool doNotFixSingleKeyframes)
 {
     _originalBindings            = originalBindings;
     _compilerConflictFxLayerMode = compilerConflictFxLayerMode;
     _ignoreCurveKeys             = compilerIgnoreParamList == null ? new HashSet <CurveKey>() : ExtractAllCurvesOf(compilerIgnoreParamList);
     _curveKeyToFallbackValue     = compilerFallbackParamList == null ? new Dictionary <CurveKey, float>() : ExtractFirstKeyframeValueOf(compilerFallbackParamList);
     _blinkBlendshapes            = blinkBlendshapes;
     _assetContainer          = assetContainer;
     _useExhaustiveAnimations = useExhaustiveAnimations;
     _emptyClip = emptyClip;
     _doNotFixSingleKeyframes = doNotFixSingleKeyframes;
 }
 public LayerForExpressionsView(FeatureToggles featuresToggles,
                                AnimatorGenerator animatorGenerator,
                                AvatarMask expressionsAvatarMask,
                                AnimationClip emptyClip,
                                string activityStageName,
                                ConflictPrevention conflictPrevention,
                                AssetContainer assetContainer,
                                ConflictFxLayerMode compilerConflictFxLayerMode,
                                AnimationClip compilerIgnoreParamList,
                                AnimationClip compilerFallbackParamList,
                                List <CurveKey> blinkBlendshapes,
                                AnimatorController animatorController,
                                List <GestureComboStageMapper> comboLayers,
                                bool useGestureWeightCorrection,
                                bool useSmoothing,
                                List <ManifestBinding> manifestBindings,
                                string animInfix)
 {
     _featuresToggles             = featuresToggles;
     _animatorGenerator           = animatorGenerator;
     _expressionsAvatarMask       = expressionsAvatarMask;
     _emptyClip                   = emptyClip;
     _activityStageName           = activityStageName;
     _conflictPrevention          = conflictPrevention;
     _assetContainer              = assetContainer;
     _compilerConflictFxLayerMode = compilerConflictFxLayerMode;
     _compilerIgnoreParamList     = compilerIgnoreParamList;
     _compilerFallbackParamList   = compilerFallbackParamList;
     _blinkBlendshapes            = blinkBlendshapes;
     _animatorController          = animatorController;
     _comboLayers                 = comboLayers;
     _useGestureWeightCorrection  = useGestureWeightCorrection;
     _useSmoothing                = useSmoothing;
     _manifestBindings            = manifestBindings;
     _animInfix                   = animInfix;
 }