15 [SerializeField]
private float deadZoneRadius = 0.5f;
16 [SerializeField]
private bool lookAtCentre =
true;
19 public void SetDeadZoneRadius(
float deadZoneRadius) { this.deadZoneRadius = deadZoneRadius; }
23 public void SetLookAtCentre(
bool lookAtCentre) { this.lookAtCentre = lookAtCentre; }
28 private void Update() {
32 Vector3 targetPosition =
new Vector3(
target.position.x, 0.0f,
target.position.z);
34 Vector3 cavernToTarget = targetPosition - cavernPosition;
35 if (cavernToTarget.magnitude < deadZoneRadius)
return;
40 transform.position = cavernPosition +
41 new Vector3(0.0f,
target.position.y, 0.0f) +
42 cavernToTarget.normalized * (2.0f * screenRadius - cavernToTarget.magnitude);
45 Vector3 thisPosition =
new Vector3(transform.position.x, 0.0f, transform.position.z);
46 transform.position = cavernPosition +
47 new Vector3(0.0f,
target.position.y, 0.0f) +
48 cavernToTarget.normalized * (thisPosition - cavernPosition).magnitude;
51 transform.position = cavernPosition +
52 new Vector3(0.0f,
target.position.y, 0.0f) +
53 cavernToTarget.normalized * (screenRadius + cavernToTarget.magnitude);
CavernRenderer cavernRenderer
void SetLookAtCentre(bool lookAtCentre)
float GetDeadZoneRadius()
void SetOrbitMode(OrbitMode orbitMode)
void SetDeadZoneRadius(float deadZoneRadius)