Exemplo n.º 1
0
        private void UpdateSalsaSuite(int lodLevel)
        {
            if (salsa)
            {
                // flip Salsa smrs to new lod.
                foreach (var viseme in salsa.visemes)
                {
                    foreach (var controllerVar in viseme.expData.controllerVars)
                    {
                        if (controllerVar.smr.name.ToLower().Contains("h_dds_"))
                        {
                            controllerVar.smr = keySmrs[lodLevel][0];                             // body smr
                        }
                        else
                        {
                            controllerVar.smr = keySmrs[lodLevel][1];                             // teeth smr
                        }
                    }
                }

                salsa.UpdateExpressionControllers();
            }

            if (emoter)
            {
                // flip Emoter smrs to new lod
                foreach (var emote in emoter.emotes)
                {
                    foreach (var controllerVar in emote.expData.controllerVars)
                    {
                        controllerVar.smr = keySmrs[lodLevel][0];                         // body smr
                    }
                }

                emoter.UpdateExpressionControllers();
            }

            if (eyes)
            {
                // flip Eyes (blink) smrs to new lod
                foreach (var eyelid in eyes.eyelids)
                {
                    foreach (var controllerVar in eyelid.expData.controllerVars)
                    {
                        controllerVar.smr = keySmrs[lodLevel][0];                         // body smr
                    }
                }

                eyes.UpdateRuntimeExpressionControllers(ref eyes.eyelids);
            }
        }