public void FitToScene(SceneSizer sceneSizer) { Vector3 targetExtents = new Vector3(0.001f, 0.001f, 0.001f); Vector3 targetPosition = sceneSizer.gameObject.transform.position; Quaternion targetRotation = sceneSizer.gameObject.transform.rotation; if (TargetFillCollider != null) { targetExtents = TargetFillCollider.bounds.extents; targetPosition = TargetFillCollider.transform.position; targetRotation = transform.rotation; } gameObject.transform.position = targetPosition; gameObject.transform.rotation = targetRotation; gameObject.transform.localScale = gameObject.transform.localScale * Mathf.Max(TargetFillCollider.bounds.extents.x, TargetFillCollider.bounds.extents.y, TargetFillCollider.bounds.extents.z) / Mathf.Max(targetExtents.x, targetExtents.y, targetExtents.z); }
private void Awake() { sizer = GetComponent<SceneSizer>(); }