/// <summary> /// </summary> /// <param name="cameraModel">Модель камеры</param> /// <param name="player">Позиция игрока</param> /// <param name="camera">Ссылка на MainCamera</param> /// <param name="inputController">ссылка на контроллер ввода</param> public CameraController(CameraModel cameraModel, Transform player, UnityCamera camera, InputController inputController) { _aimPosition = GameObject.FindGameObjectWithTag("AimPosition").transform; //Получаем модель для камеры. _cameraModel = cameraModel; _player = player; this.Camera = camera; //Получаем ссылку на контроллер ввода _inputController = inputController; //Вычисляем стартовое положение камеры var transform = player.transform; var position = transform.position; var startCameraDistance = position + -Vector3.forward * (cameraModel.CameraMinDistance + cameraModel.CameraMaxDistance / 2); //Задаем начальное расстояние между камерой и игроком _offset = position - startCameraDistance; //Устанавливаем камеру в начальное положение camera.transform.position = position - transform.rotation * _offset; }
protected override void ZOStart() { base.ZOStart(); UnityCamera = GetComponent <Camera>(); UnityCamera.SetReplacementShader(_replacementShader, "RenderType"); Shader.EnableKeyword("RED_COL"); ZOImageSegmentationObjectClass[] classTags = GameObject.FindObjectsOfType <ZOImageSegmentationObjectClass>(); foreach (ZOImageSegmentationObjectClass go in classTags) { Renderer renderer = go.GetComponent <Renderer>(); renderer.material.SetOverrideTag("RenderType", "MyClass"); } }