void readFile(string fileName) { //List config files string[] lines = System.IO.File.ReadAllLines(@"Assets\" + fileName);// dirty because Assets is inside Assets....<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ReadFaceFile readFace = GetComponent <ReadFaceFile>(); SkinnedFaceTracing skinnedFace = GetComponent <SkinnedFaceTracing>(); FaceMorpher faceMorpher = GetComponent <FaceMorpher>(); print(" <<<Load Anim File>>> "); faceMorpher.resetFaceStates(); for (int i = 1; i < lines.Length; i++) { string[] spl = lines[i].Split('_'); string faceName = spl[0]; int frame = int.Parse(spl[1]); string cleanName = cleanInput(faceName, 7); readFace.loadFace(cleanName); Vector3[] faceV = skinnedFace.returnCurrentFace(); faceMorpher.addFaceState(frame, faceV, faceName); //print("WE GET FACE V LENGTH " + faceV.Length); } }
public void saveFaceFile(string fileName) { print(" save Face File "); List <string> lines = new List <string>(); SkinnedFaceTracing faceTracing = GetComponent <SkinnedFaceTracing>(); indexLinks = faceTracing.returnIndexLinks(); SkinnedMeshRenderer smr = fbxGuy.GetComponent <SkinnedMeshRenderer>(); Vector3[] vertices = smr.sharedMesh.vertices; for (int i = 0; i < vertices.Length; i++) { if (indexIsInFace(i)) { Vector3 v = vertices[i]; string line = i + "_" + v.x + "_" + v.y + "_" + v.z; lines.Add(line); } } System.IO.File.WriteAllLines("Assets/FaceFiles/" + fileName + ".txt", lines.ToArray()); }
void Start() { filesNames = new List <string>(); // previewTrackingPoints = new List<GameObject>(); faceTracing = GetComponent <SkinnedFaceTracing>(); faceModeller = GetComponent <SkinnedFaceModeller>(); listFiles(); }
public void initMorphing() { faces = new List <FaceState>(); skinnedGUI = GetComponent <SkinnedGUIOptions>(); faceTracing = GetComponent <SkinnedFaceTracing>(); Vector3[] currentFace = faceTracing.returnCurrentFace(); //faces.Add(new FaceState(0, currentFace)); distances = new Vector3[currentFace.Length]; }
// Use this for initialization void Start() { smr = fbxGuy.transform.GetComponent <SkinnedMeshRenderer>(); sft = GetComponent <SkinnedFaceTracing>(); m = smr.sharedMesh; vertices = m.vertices; DecorateMesh(); //StartCoroutine(DecorateMesh()); }
// Use this for initialization void Start() { vertexIndexes = new List <int>(); meshVertices = new List <Vector3>(); faceTracing = GetComponent <SkinnedFaceTracing>(); smr = fbxGuy.GetComponent <SkinnedMeshRenderer>(); m = smr.sharedMesh; for (int i = 0; i < m.vertices.Length; i++) { meshVertices.Add(m.vertices[i]); } guiOptions = GetComponent <SkinnedGUIOptions>(); bakedAnimationController = GetComponent <BakedAnimationController>(); }
// Use this for initialization void Start() { float rdiv = 2; rw = Screen.width / rdiv; rh = Screen.height / rdiv; rx = (Screen.width - rw) / 2; ry = (Screen.height - rh) / 2; if (hairObject) { hairGenerator = hairObject.GetComponent <HairGenerator>(); } faceTracing = GetComponent <SkinnedFaceTracing>(); modes = new List <string>(); modes.Add("Object"); modes.Add("Edit"); modes.Add("Interpolate"); modes.Add("Bake"); modes.Add("Skin"); modes.Add("Hair"); skin = fbxGuy.GetComponent <SkinnedMeshRenderer>(); gridScript2 = GetComponent <HumanGrid2>(); modificatorModes = new List <string>(); inputField.SetActive(false); faceNameField.SetActive(false); mr = colorTest.GetComponent <MeshRenderer>(); modificatorModes.Add("Y/Z translate"); modificatorModes.Add("Y Saw"); modificatorModes.Add("Y Curve"); modificatorModes.Add("Expand"); //enableDisableSliders(editable); setHairSliderStatus(false); }
void OnGUI() { //float sX = Screen.width / 20; //float sW = Screen.width; //float sY = Screen.height - Screen.height / 8; //float sH = Screen.height / 8; //GUI.Button(new Rect(0, sY, sW, sH), ""); Rect renderRect = new Rect(rx, ry, rw, rh); if (!fullScreen) { GUI.DrawTexture(renderRect, renderCam); } float modeW = 100; float modeY = 140; for (int i = 0; i < modes.Count; i++) { GUI.color = Color.white; if (i == modeValue) { GUI.color = Color.yellow; } if (GUI.Button(new Rect(0 + modeW * i, modeY, modeW, 30), modes[i])) { modeValue = i; selectionMode(); } } GUI.color = Color.white; switch (modeValue) { case 0: //SELECTION MODE //CHANGE HUMAN SKIN OPACITY if (GUI.Button(new Rect(20, 20, 100, 30), "Change Skin")) { skinId++; if (skinId % 2 == 1) { skin.material = translucentSkin; } else { skin.material = basicSkin; } } if (GUI.Button(new Rect(20, 60, 100, 30), "Switch Opacity")) { opacityArg++; SkinnedFaceTracing faceTracing = GetComponent <SkinnedFaceTracing>(); Material opacityMaterial; opacityMaterial = opaque; if (opacityArg % 2 == 1) { opacityMaterial = transparent; } faceTracing.switchOpacity(opacityMaterial, opacityArg); } if (GUI.Button(new Rect(20, 150, 100, 30), "Save Group")) { saveGroup = true; fieldActive = !fieldActive; inputField.SetActive(fieldActive); faceNameField.SetActive(false); } GUI.Button(new Rect(20, 250, 150, 30), "Strength:" + power); if (saveGroup) { if (Input.GetKeyDown(KeyCode.Return)) { fieldActive = false; InputField field = inputField.GetComponent <InputField>(); string fieldText = field.text; if (fieldText.Length > 0) { saveGroupFile(faceTracing.returnVertexIndexes(), faceTracing.returnTrackingStrengths(), fieldText); } saveGroup = false; inputField.SetActive(false); } } if (GUI.Button(new Rect(20, 280, 100, 30), "Save Face")) { saveFace = true; saveFaceActive = !saveFaceActive; faceNameField.SetActive(saveFaceActive); inputField.SetActive(false); } if (saveFace) { if (Input.GetKeyDown(KeyCode.Return)) { print("try to"); saveFaceActive = false; InputField field = faceNameField.GetComponent <InputField>(); string fieldText = field.text; if (fieldText.Length > 0) { saveFaceFile(fieldText); } saveFace = false; faceNameField.SetActive(false); } } break; case 1: //EDIT MODE if (GUI.Button(new Rect(20, 100, 100, 30), "Show Grid")) { gridScript2.SwitchVisibleStatus(); gridScript2.SwitchVisibleTracking(); } float hM = 30; float wM = 120; float yM = Screen.height - modificatorModes.Count * hM; for (int i = 0; i < modificatorModes.Count; i++) { GUI.color = Color.white; if (i == modificatorModeValue) { GUI.color = Color.green; } if (GUI.Button(new Rect(0, yM, wM, hM), modificatorModes[i])) { modificatorModeValue = i; } yM += hM; } break; } if (Input.GetKey(KeyCode.X)) { if (power > 0) { power--; } } if (Input.GetKey(KeyCode.C)) { if (power < 100) { power++; } } }