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>();
 }