Перемещение камеры по типу как в GoogleEarth

Части и запчасти к проектам, дополнительное программное обеспечение.

Перемещение камеры по типу как в GoogleEarth

Сообщение fox 03 июл 2009, 18:45

Сам скрипт
Код: Выделить всё
using UnityEngine;
using System.Collections;

public class CamDelta : MonoBehaviour
{
    private static bool mDown = false;
    private static Vector3 point;

    void Update()
    {
        Rect screen = new Rect(0, 0, Screen.width, Screen.height);
        if (!screen.Contains(Input.mousePosition)) return;
        if (Input.GetMouseButtonDown(0))
        {
            mDown = true;
            Ray r = Camera.main.ScreenPointToRay(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0f));
            RaycastHit hit;
            if (!Physics.Raycast(r, out hit)) return;
            point = hit.point;
        }
        if (Input.GetMouseButtonUp(0))
        {
            mDown = false;
        }
        float spd = 50f;
        if (mDown)
        {
            Ray r = Camera.main.ScreenPointToRay(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0f));
            RaycastHit hit;
            if (!Physics.Raycast(r, out hit)) return;
            Vector3 delta = point - hit.point;
            delta.y = 0f;
            transform.position += delta * Time.deltaTime * spd;
        }
    }
}


и пакеж с дефолтной сценкой
У вас нет доступа для просмотра вложений в этом сообщении.
Добавить foxumkov в Skype
Мои проекты:
Turbodrive
Изображение

Изображение
Аватара пользователя
fox
UNITрон
 
Сообщения: 255
Зарегистрирован: 07 ноя 2008, 13:02
Откуда: Питер
  • ICQ

Вернуться в Компоненты (Копилка)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2