2015-12-02 3 views
0

Я искал весь интернет, но не нашел ничего полезного. Я хочу «сделать» сенсорный ввод в положение, когда луч попадает на объект, и только если он что-то наносит. Надеюсь, вы понимаете, что я имею в виду, и я знаю, что это не так часто бывает с raycast, но мне это нужно для htc vive. Заранее спасибо. или проще сказать, как я могу коснуться экрана из моего сценария, значит, без особого касания экрана?Не прикасайтесь к точке, где луч достигает единства

ответ

1

Вы можете использовать camera.ScreenToWorldPoint (новый вектор3 (позиция, которую вы хотите проверить щелчком)) в вашем коде.

 //you can change the start position in your code. 
     var startPos = 
      camera.ScreenToWorldPoint(new Vector3(2,2, 10)); 

затем вы можете использовать эту функцию для обнаружения щелчка без реального нажатия.

public void CalculateEndPositions(Vector3 start) 
{ 
    //forward 
    var rayForward = new Ray(start, Vector3.up); 
    Debug.DrawRay(start,Vector3.up, Color.green); 
    RaycastHit rayForwardInfo; 

    if (Physics.Raycast(rayForward, out rayForwardInfo)) 
    { 
     Debug.Log("Collider Name = " + rayForwardInfo.collider.name); 
    } 

} 

Надеюсь, этот код полезен для вас.

 Смежные вопросы

  • Нет связанных вопросов^_^