2016-08-14 8 views
0

Я делаю учебник из VR Dev School. Урок - это выбор объекта и родительское преобразование. Это код, который я скопировал точно из урока. У меня есть сценарий и скелетный коллайдер, прикрепленный к controlller (слева). Я попытался включить/выключить триггер. Столкновение не обнаружено в консоли. Я не получаю никаких ошибок или предупреждений.Невозможно выбрать сферу с контроллером Vive. Столкновение не обнаружено

Любая помощь приветствуется, и я отвечу на все вопросы

using UnityEngine; 
using System.Collections; 

[RequireComponent(typeof(SteamVR_TrackedObject))] 

public class PickupParent : MonoBehaviour { 

    SteamVR_TrackedObject trackedObj; 
    SteamVR_Controller.Device device; 


    void Awake() { 
     trackedObj = GetComponent<SteamVR_TrackedObject>(); 

    } 

    void FixedUpdate() { 
     device = SteamVR_Controller.Input((int)trackedObj.index); 
     if(device.GetTouch(SteamVR_Controller.ButtonMask.Trigger)) 
     { 
      Debug.Log("You are holding 'Touch' on the trigger"); 
     } 
     if (device.GetTouchDown(SteamVR_Controller.ButtonMask.Trigger)) 
     { 
      Debug.Log("You activated touchdown on the trigger"); 
     } 
     if (device.GetTouchUp(SteamVR_Controller.ButtonMask.Trigger)) 
     { 
      Debug.Log("You activated TouchUp on the trigger"); 
     } 
     if (device.GetPress(SteamVR_Controller.ButtonMask.Trigger)) 
     { 
      Debug.Log("You are holding 'Press' on the trigger"); 
     } 
     if (device.GetPressDown(SteamVR_Controller.ButtonMask.Trigger)) 
     { 
      Debug.Log("You activated press down on the trigger"); 
     } 
     if (device.GetPressUp(SteamVR_Controller.ButtonMask.Trigger)) 
     { 
      Debug.Log("You activated press Up on the trigger"); 
     } 
    } 
    void onTriggerStay(Collider col) 
    { 
     Debug.Log("You have collided with " + col.name + " and activated onTriggerStay"); 
     if (device.GetTouch(SteamVR_Controller.ButtonMask.Trigger)) 
     { 
      Debug.Log("You have collided with " + col.name + " while holding down Touch"); 
      col.attachedRigidbody.isKinematic = true; 
      col.gameObject.transform.SetParent(gameObject.transform); 
     } 
    } 
} 
+0

С 'Debug.Log (« Вы столкнулись с «+ col.name +» и активировали onTriggerStay »);' показывает ..... «Debug.Log (« Вы столкнулись с «+ col. name + "удерживая нажатой Touch"); 'также показывается журнал консоли? – Programmer

+0

Нет, поэтому он обнаруживает штрихи и нажатия на контроллер Vive на консоли. Нет обнаружения столкновения. –

+0

Вы должны обновить этот код с полным кодом – Programmer

ответ

1

Это простая ошибка. Он должен быть OnTriggerStay не onTriggerStay. Пожалуйста, заглавные буквы O и триггер/столкновение должны быть обнаружены.

+0

Вы правы сэр. Спасибо за помощь lol –

+0

Nice. Придется проверить это, чтобы понять это. Вы можете принять как ответ, если ваша проблема решена. – Programmer