2014-07-18 1 views
0

나는 게임 공간 시뮬레이터를 만들고있다. 나의 공간은 3D로 지구를 날아 다녀야한다. 나는 또한 내가 다른 클래스 (터치 스크린)에서 나는 카메라를 넣었습니다3D 주변을 비행하다 obj

public void MoveObj(GameObject LobjToMove, float AxsHoriz, float AxsVert){ 

    AxsHoriz = AxsHoriz * speed; 
    AxsVert = AxsVert * speed; 
    AxsHoriz *= Time.deltaTime; 
    AxsVert *= Time.deltaTime; 

    LobjToMove.transform.Translate(AxsHoriz, AxsVert, 0); 
    //spase has to look at the earth 
    LobjToMove.transform.LookAt (zeroPoint.transform.position); 

    ZeroPointMagnitude (LobjToMove); 
} 

//fixing the distance between earth and spacesheep 
void ZeroPointMagnitude(GameObject LobjToMove) 
{ 
    Vector3 direction = zeroPoint.transform.position - LobjToMove.transform.position; 
    float distance = direction.magnitude; 
    if (distance > farFromZero||distance < farFromZero) { 
     LobjToMove.transform.position += direction.normalized * (distance - farFromZero); 
    } 

} 

을 제어 싶어해서 분리 된 클래스를 만든

public GameObject objToMove=GameObject.Find("Player"); 
public GameObject zeroPoint=GameObject.Find("Earth"); 
public float farFromZero=10; 

void Update(){ 

    Vector2 Ldirection; 
    Ldirection.x = Input.GetAxis ("Horizontal"); 
    Ldirection.y = Input.GetAxis ("Vertical"); 


    MoveObj (objToMove, Ldirection.x, Ldirection.y); 

} 

: 나는 spacesheep에 대한 간단한 컨트롤러를했습니다 spacesheep.
지구의 주위를 비 춥니 다. 그러나 그것이 요골 주위를 날아 다니는 것처럼 보입니다. 반경이 좁아지면 반경이 더 작아집니다. 위로 또는 아래로 누르면 주위를 돌아볼 수 없습니다. 바닥과 위층에서 멈 춥니 다.

나는 3 개월 동안 잘 비행하려고 노력했다. Raycast 나 Quaternions를 사용했는데, 원하는대로 작동하지 않았다.

는 더 몇 개월 걸릴 것 같은데 내가 (또는 카메라 반전) 그래서 여기에

+0

이동 puluses에 멈추지 않고 개체 주위에 플레이어 비행을 도와하도록 요청 그것은 enternity를 가지고 갔다 그러나 fihally 나는 "목표의 주위에 자전"원본을 만드는 방법 파악했다. – user2698308

답변

0

우리가

Vector3 rotDir=new Vector3(AxsVert,AxsHoriz,0); 
    float gypotenuse=Mathf.Sqrt(AxsHoriz*AxsHoriz+AxsVert*AxsVert); 
    gypotenuse=(gypotenuse>1)?1:gypotenuse; 

     objToMove.transform.RotateAround (zeroPoint.transform.position, 
              objToMove.transform.TransformDirection(rotDir), 
              gypotenuse 
             ); 
관련 문제