2016-10-27 1 views
-3

저는 게임을위한 음식 시스템을 만들고 있습니다.레이캐스팅 관련 문제

Raycast을 사용하여 가져올 수 있기를 바래지만 제대로 작동하지 않습니다. 태그가있는 객체를 클릭하면 작동하지 않습니다.

public Text FoodUI; 
public int FoodAmount; 
public float Distance; 
public GameObject Hands; 

void Start() 
{ 
    FoodUI.text = "Food: " + FoodAmount; 
} 

void FixedUpdate() 
{ 
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 
    RaycastHit hit; 
    if (Input.GetKeyDown(KeyCode.E)) 
    { 
     if (Physics.Raycast(ray, out hit)) 
     { 
      if (hit.collider.tag.Equals("Food")) 
      { 
       FoodAmount += 40; 
      } 
     } 
    } 
} 
+0

'Physics.Raycast' if 문에 여는 중괄호가 없습니다. – Enfyve

+0

생각하지 않는다. 내가 시도 할 사람은 –

+0

당신의 레이 캐스팅이 작동하는지 확인하기 위해'Debug.Logs'를 추가한다. 하나는 레이 캐스트 이후 (그리고 태그 확인 전) 및 태그 확인 중 하나입니다. –

답변

0

난 당신이 뭘 하려는지 달성하기 위해 LayerMasks를 사용하는 것이 좋습니다 : 물론 원하지 않는 항목을 레이 캐스트하지 않도록하면서 당신이 공연을 절약 할 수 있습니다 이런 식으로. Debug.DrawRay()을 사용하여 레이 캐스트를 장면보기에 표시 할 수 있습니다.

+0

아니, 이미 물건 고마워! –