Esempio n. 1
0
    private void Start()
    {
        manager = FindObjectOfType <CameraMixingManager>();
        Collider collider = GetComponent <Collider>();

        if (collider != null)
        {
            collider.isTrigger = true;
        }
        else
        {
            Debug.LogError(name + " needs a collider to function!", this);
        }

        blendCameras = new BlendCamera[zones.Length];

        for (int i = 0; i < blendCameras.Length; i++)
        {
            BlendCamera blendCamera = blendCameras[i];
            if (zones[i].camera == null)
            {
                Debug.LogError("Zone " + i + " needs a virtual camera to function correctly!", this);
            }
            else
            {
                blendCamera.camera = zones[i].camera;
            }

            blendCamera.weight         = zones[i].weight;
            blendCamera.originalParent = blendCamera.camera.transform.parent;

            blendCameras[i] = blendCamera;
        }
    }
Esempio n. 2
0
    public void Add(BlendCamera blendCamera)
    {
        blendCamera.camera.transform.SetParent(transform);
        var x = mixingCamera.ChildCameras;

        mixingCamera.SetWeight(blendCamera.camera, blendCamera.weight);
        blendCamera.camera.gameObject.SetActive(true);
    }
Esempio n. 3
0
    public void Remove(BlendCamera[] blendCameras)
    {
        for (int i = 0; i < blendCameras.Length; i++)
        {
            BlendCamera blendCamera = blendCameras[i];

            blendCamera.camera.transform.SetParent(blendCamera.originalParent);
            blendCamera.camera.gameObject.SetActive(false);
        }
    }
Esempio n. 4
0
    private void OnTriggerExit(Collider other)
    {
        float highestWeight = 0f;

        for (int i = 0; i < blendCameras.Length; i++)
        {
            if (blendCameras[i].weight > highestWeight)
            {
                exitBlendCamera = blendCameras[i];
                highestWeight   = blendCameras[i].weight;
            }
        }
        Target = null;
    }
Esempio n. 5
0
 public void UpdateWeight(BlendCamera blendCamera)
 {
     mixingCamera.SetWeight(blendCamera.camera, blendCamera.weight);
 }
Esempio n. 6
0
 public void Remove(BlendCamera blendCamera)
 {
     blendCamera.camera.transform.SetParent(blendCamera.originalParent);
     blendCamera.camera.gameObject.SetActive(false);
 }