Показать сообщение отдельно
Старый 15.02.2013, 02:02   #1
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Сообщение Камера как в Dead space

Привет,
Вопрос о камере в игре
Сделал я камеру, вид такой как на моем скриншоте,
Но сейчас камера не поворачиваеться, а поворачиваеться только когда я игрока поварачиваю клавишами,
А хотелось бы сделать обзор игрока с камеры,
Как можна создать точку рядом с игроком(как создавать я знаю) что бы получался обзор вокруг этой точки
тот кто играл Dead Space поймет как это =)
я немного о своем вопросе сделал рисунки
Мне просто интересно как можна сделать прывязку камеры к точке?
Сам скрипт текущей камеры
using UnityEngine;
using System.Collections;
[
AddComponentMenu("Camera-Control/Mouse Look")]
public class 
MouseLook : MonoBehaviour {

    public 
enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
    public 
RotationAxes axes = RotationAxes.MouseXAndY;
    public 
float sensitivityX = 15F;
    public 
float sensitivityY = 15F;

    public 
float minimumX = -360F;
    public 
float maximumX = 360F;

    public 
float minimumY = -60F;
    public 
float maximumY = 60F;

    
float rotationY = 0F;

    
void Update ()
    {
        if (
axes == RotationAxes.MouseXAndY)
        {
            
float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
            
            
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
            
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
            
            
transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
        }
        else if (
axes == RotationAxes.MouseX)
        {
            
transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX, 0);
        }
        else
        {
            
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
            
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
            
            
transform.localEulerAngles = new Vector3(-rotationY, transform.localEulerAngles.y, 0);
        }
    }
    
    
void Start ()
    {
        if (
rigidbody)
            
rigidbody.freezeRotation = true;
    }
} 
возможно этот скрипт и не очень и нужен будет, ну я незнаю)
Подскажите мне что сделать надо так как я россказал?
Миниатюры
Нажмите на изображение для увеличения
Название: 14.02.png
Просмотров: 1619
Размер:	728.7 Кб
ID:	18782  Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 1508
Размер:	31.5 Кб
ID:	18783  Нажмите на изображение для увеличения
Название: Безымянный2.png
Просмотров: 1458
Размер:	16.8 Кб
ID:	18784  
(Offline)
 
Ответить с цитированием