2013-10-21 3 views
0

ImageTarget이 있고 대상이 감지되면 3DText가 표시됩니다. 이 텍스트를 ImageTarget에서 시작하여 카메라쪽으로 옮기고 싶습니다.3DText - 카메라 방향으로 이동 - Unity

내가 카메라를 50 유닛 떨어져 있고 타겟이 0 유닛이라고 가정 해 보겠습니다. 이미지가 감지되면 텍스트가 0에서 시작하여 5 단위 간격으로 카메라쪽으로 이동하고 카메라 (45 단위 또는 50 단위)에 도달하면 텍스트가 움직이지 않아야합니다.

누군가가 도와 줄 수 있습니까? 나는이 코드를 사용하는 경우

public float distance; 
public int translateInterval = 5; 


void Start() { 

    GameObject mainCamera = GameObject.FindGameObjectWithTag("MainCamera"); 
    distance = Vector3.Distance(transform.position, mainCamera.transform.position); 
} 


void Update() { 

    while(distance > 0) 
    { 
     transform.Translate(-Vector3.forward * translateInterval * Time.deltaTime); 
     distance -= 5; 
    } 

} 

, 그냥 표시됩니다 텍스트하지만 .. 여기

내가 지금 뭐하는 거지 무엇을 사전에

감사합니다 ... .. 유니티 꽤 새로운 오전 움직이지 않는 것 같습니다.

+0

'distance - = 5'를'distance - = translateInterval * Time.deltaTime'으로 변경하고'while'을' if'. while 루프는 완료 될 때까지 실행되므로 번역이 작동하면 /는 즉시 실행됩니다. – Jerdak

답변

0

3D 공간에서 두 지점 사이의 오브젝트를 애니메이션화하려면 Vector3.Lerp은 당신의 친구입니다! 텍스트가 이동해야하는 위치를 계산하려면 다음을 참조하십시오. Vector3.MoveTowards

멋진 유틸리티 메소드가 포함되어 있기 때문에 Vector3 클래스를 통해 읽을 것을 권장합니다. 적어도 벡터 수학에서 실패하는 경향이 있으므로 적어도 나를 도와주세요 :)