Четверг, 28 Марта 2024, 21:56

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Ограничение выхода камеры за указанные границы
Ограничение выхода камеры за указанные границы
GrinnДата: Среда, 18 Июля 2018, 13:01 | Сообщение # 1
был не раз
Сейчас нет на сайте
Может кто-то подсказать как, собственно, ограничить выход камеры за указанные границы?
Пробовал следующий скрипт:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Camera : MonoBehaviour {

public Transform target;
public int smoothTime = 5;

// max Y
[Space]
[Space]
public bool YMaxEnabled = false;
public float YMaxValue = 0;

// min Y
[Space]
[Space]
public bool YMinEnabled = false;
public float YMinValue = 0;

private void FixedUpdate()
{
Vector3 targetPos = target.position;
if (target != null)
{
transform.position = Vector3.Lerp(transform.position, new Vector3(transform.position.x, target.position.y, transform.position.z), Time.deltaTime * smoothTime);
}


//vertical (y)

else if (YMinEnabled && YMaxEnabled)
{
targetPos.y = Mathf.Clamp(target.position.y, YMinValue, YMaxValue);
}
else if (YMinEnabled)
targetPos.y = Mathf.Clamp(target.position.y, YMinValue, target.position.y);
else if (YMaxEnabled)
targetPos.y = Mathf.Clamp(target.position.y, target.position.y, YMaxValue);


}
}

но, к сожалению он не работает, камера все-равно продолжает выходить за указанные границы (Нужно ограничить только вертикаль)

Добавлено (22 Июля 2018, 18:35)
---------------------------------------------
Нашел решение. Кому интересно:

var p = transform.position;
p.y = Mathf.Clamp(p.y, minY, maxY);
transform.position = p;

Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Ограничение выхода камеры за указанные границы
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг