AuthenticNose.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. [ExecuteInEditMode]
  5. public class AuthenticNose : MonoBehaviour
  6. {
  7. public GameObject leftEyeNoseModel;
  8. public GameObject rightEyeNoseModel;
  9. GameObject leftCameraObject;
  10. GameObject rightCameraObject;
  11. [Range(-2f,2f)]
  12. public float spacing = 0;
  13. [Range(0,1)]
  14. public float yPosition = .5f;
  15. [Range(-1,1)]
  16. public float zPosition = 0f;
  17. [Range(0f,1f)]
  18. public float noseWidth = 1;
  19. [Range(0f, 1f)]
  20. public float noseFlatness = 1;
  21. public Color noseColor;
  22. void Start()
  23. {
  24. }
  25. // Update is called once per frame
  26. void Update()
  27. {
  28. if(leftEyeNoseModel.activeSelf && rightEyeNoseModel.activeSelf){
  29. leftEyeNoseModel.transform.localPosition = new Vector3(spacing,
  30. leftEyeNoseModel.transform.localPosition.y,
  31. leftEyeNoseModel.transform.localPosition.z);
  32. rightEyeNoseModel.transform.localPosition = new Vector3(-spacing,
  33. leftEyeNoseModel.transform.localPosition.y,
  34. leftEyeNoseModel.transform.localPosition.z);
  35. float zPos = Mathf.Lerp(0.4f, 0.8f, zPosition);
  36. float yPos = Mathf.Lerp(-0.5f, 0.5f, yPosition);
  37. float xScale = Mathf.Lerp(0.05f,.15f, noseWidth);
  38. float yScale = Mathf.Lerp(0.05f, .25f, noseFlatness);
  39. float zScale = Mathf.Lerp(.03f, .15f, .5f);
  40. leftEyeNoseModel.transform.localScale = new Vector3(xScale,yScale,zScale);
  41. leftEyeNoseModel.transform.localPosition = new Vector3(leftEyeNoseModel.transform.localPosition.x,
  42. yPos,
  43. zPos);
  44. leftEyeNoseModel.gameObject.GetComponent<Renderer>().sharedMaterial.color = noseColor;
  45. rightEyeNoseModel.transform.localScale = new Vector3(xScale,yScale,zScale);
  46. rightEyeNoseModel.transform.localPosition = new Vector3(rightEyeNoseModel.transform.localPosition.x,
  47. yPos,
  48. zPos);
  49. rightEyeNoseModel.gameObject.GetComponent<Renderer>().sharedMaterial.color = noseColor;
  50. }
  51. }
  52. }