public void InitFields(Atom atom) { _initCompleted = false; var morphControlUI = (atom.GetStorableByID("geometry") as DAZCharacterSelector).morphsControlUI; // different morph for male and female foreach (var pupilMorphName in new List <string> { "Pupils Dialate", "Pupils Dilate" }) { _pupilMorph = morphControlUI.GetMorphByDisplayName(pupilMorphName); if (_pupilMorph != null) { break; } } _eyesClosedLeftMorph = morphControlUI.GetMorphByDisplayName("Eyes Closed Left"); _eyesClosedRightMorph = morphControlUI.GetMorphByDisplayName("Eyes Closed Right"); _autoBlinker = atom.GetComponentInChildren <DAZMeshEyelidControl>(); _pupilMorph.morphValue = 0; PupilNeutralValue = _pupilMorph.morphValue; }
public override void Init() { try { LoadFacial(); LoadSharedExpressions(); Dictionary <string, string> personalitiesMap = SuperController.singleton .GetFilesAtPath(Utils.AbsPath("./personalities"), "expression_*.json") .ToList() .Aggregate(new Dictionary <string, string>(), (dict, file) => { string name = FirstLetterToUpper(file.Substring(file.LastIndexOf("\\") + 1).Replace(".json", "").Replace("expression_", "")); dict[name] = file; return(dict); }); JSONStorableStringChooser personalityChooser = new JSONStorableStringChooser("personality", personalitiesMap.Keys.ToList(), personalitiesMap.Keys.ToArray()[0], "personality", (string personality) => { LoadExpressions(personalitiesMap[personality]); }); CreatePopup(personalityChooser).popupPanelHeight = 400; personalityChooser.storeType = JSONStorableParam.StoreType.Full; RegisterStringChooser(personalityChooser); LoadExpressions(personalitiesMap[personalitiesMap.Keys.ToArray()[0]]); nextPlayTime = Time.fixedTime + 1.0f; headAudioSource = containingAtom.GetStorableByID("HeadAudioSource") as AudioSourceControl; jawAdjust = containingAtom.GetStorableByID("JawControl") as AdjustJoints; jawAdjust.driveXRotationFromAudioSourceMultiplier = 115.0f; jawAdjust.driveXRotationFromAudioSourceAdditionalAngle = 0.0f; jawAdjust.driveXRotationFromAudioSourceMaxAngle = -5.0f; eyelidControl = containingAtom.GetStorableByID("EyelidControl") as DAZMeshEyelidControl; eyelidControl.SetBoolParamValue("blinkEnabled", false); } catch (Exception e) { SuperController.LogError("Exception caught: " + e); } }