Work and stuff

This commit is contained in:
ViktorLjung
2016-05-27 01:18:46 +02:00
parent c298401229
commit 7bf5df9b69
13 changed files with 3157 additions and 12 deletions
+46 -10
View File
@@ -8,11 +8,13 @@ public class Measurement : MonoBehaviour {
public Vector3 EndPosition;
private float HoleSize = 0.1f;
private Vector3 lineUp = new Vector3(0, 1, 0);
private float DefaultLineWith = 0.005f;
private Vector3 LocalStartPosition;
private Vector3 LocalEndPosition;
private float LineWidth;
// Use this for initialization
void Start () {
@@ -26,14 +28,20 @@ public class Measurement : MonoBehaviour {
Transform line1Transform = transform.FindChild("Line1");
LineRenderer line1Renderer = line1Transform.GetComponent<LineRenderer>();
Transform line2Transform = transform.FindChild("Line2");
LineRenderer line2Renderer = line2Transform.GetComponent<LineRenderer>();
Vector3 middlePosition = (LocalStartPosition + (LocalEndPosition - LocalStartPosition) / 2.0f);
float smallestScale = Mathf.Min(transform.lossyScale.x, Mathf.Min(transform.lossyScale.y, transform.lossyScale.z));
Vector3 startToEnd = LocalEndPosition - LocalStartPosition;
if (smallestScale < 0.4f)
{
HoleSize = 0.0f;
}
Vector3 startToEnd = LocalEndPosition - LocalStartPosition;
float magnitude = startToEnd.magnitude;
Vector3 direction = Vector3.Normalize(LocalEndPosition - LocalStartPosition);
@@ -45,7 +53,8 @@ public class Measurement : MonoBehaviour {
Transform textTransform = transform.FindChild("Text");
Transform textTransform = transform.FindChild("Text");
textTransform.position = middlePosition;
if (Camera.current != null)
@@ -57,16 +66,15 @@ public class Measurement : MonoBehaviour {
TextMesh textMesh = textTransform.GetComponent<TextMesh>();
Vector3 inverseScale = new Vector3(1.0f / transform.lossyScale.x, 1.0f / transform.lossyScale.y, 1.0f / transform.lossyScale.z);
float textMagnitude = Vector3.Scale(startToEnd, inverseScale).magnitude;
textMagnitude = transform.InverseTransformVector(startToEnd).magnitude;
float textMagnitude = transform.InverseTransformVector(startToEnd).magnitude;
textMesh.text = textMagnitude.ToString("0.00") + "m";
textMesh.characterSize = Mathf.Max(0.001f * Math.Min(1.0f , magnitude), 0.0005f);
textMesh.characterSize = Mathf.Max(0.001f * Math.Min(1.0f , textMagnitude), 0.002f);
HoleSize = Mathf.Max(0.1f * Math.Min(1.0f, magnitude), 0.05f);
@@ -76,11 +84,39 @@ public class Measurement : MonoBehaviour {
line1BaseRenderer.SetPosition(0, LocalStartPosition + lineUp * 0.01f);
line1BaseRenderer.SetPosition(1, LocalStartPosition - lineUp * 0.01f);
Transform line2BaseTransform = transform.FindChild("Line2Base");
LineRenderer line2BaseRenderer = line2BaseTransform.GetComponent<LineRenderer>();
line2BaseRenderer.SetPosition(0, LocalEndPosition + lineUp * 0.01f);
line2BaseRenderer.SetPosition(1, LocalEndPosition - lineUp * 0.01f);
}
LineWidth = Mathf.Min(DefaultLineWith*smallestScale, 0.003f);
line1Renderer.SetWidth(LineWidth, LineWidth);
line2Renderer.SetWidth(LineWidth, LineWidth);
line1BaseRenderer.SetWidth(LineWidth, LineWidth);
line2BaseRenderer.SetWidth(LineWidth, LineWidth);
if (smallestScale < 0.4f)
{
Transform lineMiddleTransform = transform.FindChild("LineMiddle");
LineRenderer lineMiddleRenderer = line1BaseTransform.GetComponent<LineRenderer>();
lineMiddleRenderer.SetWidth(LineWidth, LineWidth);
Vector3 upDistance = new Vector3(0, 2.0f, 0);
upDistance = upDistance*smallestScale;
textTransform.position = middlePosition + upDistance*1.1f;
textMesh.characterSize = 0.005f;
lineMiddleRenderer.SetPosition(0, middlePosition);
lineMiddleRenderer.SetPosition(1, middlePosition + upDistance);
} else {
Transform lineMiddleTransform = transform.FindChild("LineMiddle");
LineRenderer lineMiddleRenderer = line1BaseTransform.GetComponent<LineRenderer>();
lineMiddleRenderer.SetWidth(0, 0);
}
}
}