Камера для изометрии (2,5D)

Скрипты C# (Unity 3D) для управления камерой в стратегии или изометрическом РПГ. Так же может пригодиться в других случаях, когда надо перемешать камеру вдоль плоской поверхность с помощью мыши.

Скрипт MoveCamera — управляет самой камерой:

private Vector3 _lastPosition;
public Camera MainCamera;  //Здесь подключается камера

public Vector3 LastPosition{
	set{_lastPosition = value;}
	get{return _lastPosition;}
}

void Start () {
	_lastPosition = MainCamera.transform.position;
}

void Update () {
	if (_lastPosition != MainCamera.transform.position){
		MainCamera.transform.position = _lastPosition;
	}
}

Скрипт MouseControl — отслеживает мышь и при необходимости двигает камеру:

private Vector2 _pos;
private bool buttonDown = false;

//Коэффициент смещения камеры, относительно движения мыши.
//Для каждого конкретного случая определяется методом подбора
private float konvert = .05f; 

void Update () {
	Vector2 mouse = Input.mousePosition;

	if (buttonDown){
		Vector2 move = _pos - mouse;
		Vector3 move3 = new Vector3(move.x*konvert, 0, move.y*konvert);
		gameObject.GetComponent<MoveCamera>().LastPosition+= move3;
		_pos = mouse;
	}

	if    (Input.GetMouseButtonDown(0))
	{
		buttonDown = true;
		_pos = mouse;
	}

	if    (Input.GetMouseButtonUp(0)){
		buttonDown = false;
	}
}

Оба скрипта, естественно, должны быть прикреплены к одному из объектов на сцене.

Если для игры не нужна перспектива, то её можно отключить изменив в камере параметр Projection на Orthographic.

Скачать пример (909)

About

125 thoughts on “Камера для изометрии (2,5D)

  1. Read reviews and was a little hesitant since I had already inputted my order. alternatively but thank god, I had no issues. choose the received item in a timely matter, they are in new condition. blue jays so happy I made the purchase. Will be definitely be purchasing again.
    cheap jordans https://www.realjordansshoes.com/

  2. Перевозка лежачих больных в Москве от 2000р, круглосуточно — частная служба МедЛайнер Круглосуточная Перевозка лежачих больных в Москве и Московской области. Частная служба МедЛайнер. Срочный вызов, оборудованный транспорт.

Добавить комментарий

Ваш e-mail не будет опубликован.