Ізометрична камера як у стратегіях
using UnityEngine; using System.Collections;
public class ICam : MonoBehaviour
public float camSpeed; //швидкість переміщення камери в площині public float zoomSpeed ; //швидкість зуму колесом миші public float mouseSensitivity ; //чутливість миші при обертанні камери
private Transform _myTransform ; //тут кеширую властивість transform камери
// Use this for initialization void Start ( ) < _myTransform = transform; camSpeed = 150.0f; zoomSpeed = 5000.0f; mouseSensitivity = 150.0f; >
// Update має назву once per frame void Update ( ) < //перетворимо швидкість за кадрами у швидкість за часом float speedMod = camSpeed * Time. deltaTime; float zoomMod = zoomSpeed * Time. deltaTime; float sensMod = mouseSensitivity * Time. deltaTime;
//Рух камери вліво-вправо //при керуванні клавішами стрілками _myTransform. Translate ( Vector3. right * Input. GetAxis ( " Horizontal " ) * speedMod, Space. Self ) ; //при керуванні мишею (досягнення краю екрана) if ( Input. mousePosition . x 0 ) _myTransform. Translate (Vector3. right * - 1 * speedMod, Space. Self); if (Input. mousePosition. x & gt; = Screen. width) _myTransform. Translate (Vector3. right * 1 * speedMod, Space. Self);
//Рух вперед-назад _myTransform. Translate ( Vector3. Scale ( _myTransform. TransformDirection ( Vector3. forward ) , new Vector3 ( 1 , 0 , 1 ) ). normalized * Input. if (Input. mousePosition. y 0) _myTransform. Translate ( Vector3. Scale ( _myTransform. TransformDirection ( Vector3. forward ) , new Vector3 ( 1, 0, 1 ) ). if (Input.mousePosition . y >= Screen. height) _myTransform. Translate ( Vector3. Scale ( _myTransform. TransformDirection ( Vector3. forward ) , new Vector3 ( 1, 0, 1 ) ).
//Наближення-видалення _myTransform. Translate (Vector3. forward * Input. GetAxis ("Mouse ScrollWheel") * zoomMod, Space. Self);
//Поворот камери if (Input. GetMouseButton (1)) < _myTransform. Rotate (- Input. GetAxis ("Mouse Y") * sensMod, 0, 0, Space. Self); _myTransform. Rotate (0, Input. GetAxis ("Mouse X") * sensMod, 0, Space. World); > > >