Камера и джойстик

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Камера и джойстик

Сообщение infernno 22 июн 2013, 14:00

У меня есть проблема с использованием скрипта для камеры и джойстика из стандартных ассетов.
Что используется:
- Стандартный Joystick.js из Standard Assets (Mobile)
- Переделанный MouseOrbit под тач (см. спойлер)
Синтаксис:
Используется javascript
var target : Transform;
var distance = 10.0;
 
private var xSpeed = 950.0;
private var  ySpeed = 950.0;
 
private var x = 0.0;
private var y = 0.0;
 
private var currentX = 0.0;
private var currentY = 0.0;
public var zoom:boolean = true;
function Start () {
    var angles = transform.eulerAngles;
    x = angles.y;
    y = angles.x;
}
 
function LateUpdate () {
    if (target) {
 
                //Pinch Gesture        
        if (Input.touchCount >= 2){
        if (zoom == true) {
                var touch0 = Input.GetTouch(0);
                        var touch1 = Input.GetTouch(1);
               
                var curDist = touch0.position - touch1.position;
                var prevDist = (touch0.position - touch0.deltaPosition) - (touch1.position - touch1.deltaPosition);
               
                var delta = (curDist.magnitude - prevDist.magnitude)/150;
                distance -= delta;
               
                if(distance>10.0)
                        distance=10.0;
                if(distance<2)
                        distance=2;
                       
               
                }
                }
                 //Pan Gesture
                else if (Input.touchCount == 1){
 
                        //Touch Moved
                        if (Input.GetTouch(0).phase==TouchPhase.Moved){
                                var xDelta = (Input.touches[0].deltaPosition.x * xSpeed * Time.deltaTime)/100;
                                var yDelta = (Input.touches[0].deltaPosition.y * ySpeed * Time.deltaTime)/100;
 
                                x += xDelta;
                                y -= yDelta;
                        }
                }
 
                //Update View
                var rotation = Quaternion.Euler(y, x, 0);
        var position = rotation * Vector3(0.0, 0.0, -distance) + target.position;
       
        transform.rotation = rotation;
        transform.position = position;
       
    }
}


В чем проблема:
1) При использовании джойстика камера вращается вместе с ним,хотя по сути не должна. Как исправить?
2) При Input.touchCount = 2, мне нужно чтобы камера вращалась от "второго пальца",а не от первого.
infernno
UNец
 
Сообщения: 14
Зарегистрирован: 27 ноя 2012, 09:30

Re: Камера и джойстик

Сообщение 2rusbekov 23 июн 2013, 16:25

Может у тебя камера чайлд персонажа? Или скрипт на камеру навешен?
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: Камера и джойстик

Сообщение infernno 24 июн 2013, 15:13

Прямо на камеру.
Суть в том что например когда джойстик вращается вместе с камерой, скрипт при тапе на джойстик считает это тоже за "тап" и вращает по нему. Хотя по сути не должен.
infernno
UNец
 
Сообщения: 14
Зарегистрирован: 27 ноя 2012, 09:30


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 25