コード例 #1
0
        private void Update()
        {
            if (_currentCamera == null)
            {
                Fallback();
            }

            var attitude = _currentCamera.Update(Time.unscaledDeltaTime);

            _target.transform.position = attitude.Position;
            _target.transform.LookAt(attitude.LookAt);
        }
コード例 #2
0
        public CameraAttitude Update()
        {
            var time = Time.unscaledTime - _lastChangedTime;

            if (time > _interval)
            {
                _lastChangedTime = Time.unscaledTime;
                if (!_creatures.Any())
                {
                    return(_lastCameraAttitude);
                }

                _currentIndex++;
                if (_currentIndex >= _creatures.Count)
                {
                    _currentIndex = 0;
                }

                var creature = _creatures[_currentIndex];

                var transform = creature.transform.GetChild(0).transform;
                _camera = new FocusCamera(transform,
                                          transitionTime: TransitionTime, initialDistance: InitialDistance, farAwayDistance: FarAwayDistance);
                _camera.Initialize(_lastCameraAttitude);
            }

            _lastCameraAttitude = _camera.Update(Time.unscaledDeltaTime);
            return(_lastCameraAttitude);
        }