2015-05-22 8 views
7

मेरे पास एक 2 डी दृश्य है जो उपलब्ध कार्डबोर्ड दृश्यों (जैसे थंबनेल) की एक सूची दिखाने वाला है। उपयोगकर्ता थंबनेल टैप करने के बाद, मैं उसे चयनित कार्डबोर्ड दृश्य में भेजने की कोशिश कर रहा हूं। हालांकि, मैं पहली (सूची) दृश्य में स्पर्श घटनाओं को पकड़ने में असमर्थ हूं। एक टैप के बाद, कुछ भी नहीं होता है, बस डाल दिया। (संपादित करें: मैं जोड़ना होगा कि मैं इस केवल Android पर परीक्षण)यूनिटी 5 में कार्डबोर्ड एसडीके का उपयोग करना - कोई स्पर्श घटना नहीं?

यह है कि मैं क्या परीक्षण करने के लिए किया था:

  1. मैं एक नई परियोजना (एकता 5.0.2f) बना सकते हैं - 2 डी
  2. मैंने दृश्य को यूआई बटन और टेक्स्टफील्ड रखा
  3. मैं बटन पर क्लिक करने के बाद ट्रिगर किए गए एक स्क्रिप्ट को जोड़ता हूं - यह सिर्फ टेक्स्टफील्ड के टेक्स्ट को "क्लिक किया गया" --- >>> सभी काम ठीक करता है, टैपिंग टच स्क्रीन पर बटन अपेक्षित काम करता है, पाठ बदल गया < < < ---
  4. मैं Google के कारबोर्ड एसडीके आयात करता हूं --- >>> कोई स्पर्श घटना काम नहीं करता है! हैंडलर क्लिक करें कभी नहीं शुरू हो रहा < < < ---
  5. मैं हटाना गूगल के कार्डबोर्ड एसडीके --- >>> टीएपीएस फिर से काम < < < ---

क्लिक की स्क्रिप्ट शुरू हो रहा है सरल है:

using UnityEngine; 
using System.Collections; 
using UnityEngine.UI; 

public class TestScript : MonoBehaviour { 

    public Text text; 

    // Use this for initialization 
    void Start() { 

    } 

    // Update is called once per frame 
    void Update() { 

    } 

    public void ButtonClicked() { 
     text.text = "Clicked!"; 
//  Application.LoadLevel ("DemoScene"); 
    } 
} 

तो मूल रूप से एकता 5 में कार्डबोर्ड एसडीके पूरा टूटता स्पर्श ईवेंट आयात करते हैं मैं इसे एकता में सीधे परीक्षण, माउस घटनाओं ठीक काम करो। जब कार्डबोर्ड एसडीके आयात किया जाता है तब भी पाठ बदल जाता है। किसी के पास कुछ विचार है? क्या मैं कुछ गलत कर रहा हूं या यह एकता बग है?

उत्तर

0

कार्डबोर्ड में "टैप इज ट्रिगर" बंद करें। डीडीके सेटिंग्स। ध्यान दें, नई v0.5 रिलीज में अब यह समस्या नहीं है।

0

मेरे मामले में, यह 2-उंगलियों-बहु स्पर्श-पता समस्या केवल तब होती है जब आप कार्डबोर्ड दृश्य से गैर-कार्डबोर्ड दृश्य में स्विच करते हैं।

मेरे समाधान है: आप, गैर कार्डबोर्ड दृश्य करने के लिए कार्डबोर्ड दृश्य से दृश्य लोड करने के लिए इससे पहले कि आप LoadLevel() पर अमल चाहते हैं, तो, अक्षम Cardboard.cs तहत वी.आर. मोड CarboardMain खेल वस्तु में सक्षम स्क्रिप्ट, फिर आप LoadLevel() निष्पादित करते हैं।

ps: जब आप वी.आर. मोड loadLevel() से पहले सक्षम बंद कर देते हैं, तो आप एक दूसरे (दिखाई देता है लेकिन तुरंत) में गैर वी.आर. के लिए वी.आर. मोड से कार्डबोर्ड कैमरों परिवर्तन का अनुभव होगा इससे पहले कि आप पूरी तरह से (LoadLevel के लिए कूद) नया दृश्य। यह बदसूरत है।

और मेरी समाधान है,

आप इस से कैमरा पहले अक्षम करें, उसके बाद ही आप वी.आर. मोड CardboardMain खेल वस्तु में सक्षम बंद कर देते हैं, तो दृश्यों-स्विचिंग प्रवाह चिकनी दिखाई दिया हो जाएगा दूर कर सकते हैं ।

1

एक और तरीका है यह करने के लिए, यह सोचते हैं आप TapIsTrigger/रखने के लिए वी.आर. मोड में इस 2 डी दृश्य करना चाहते हैं चाहते का उपयोग करने के है:

if(Cardboard.SDK.CardboardTriggered){ 
    //what you want to happen when the user touches the screen 
} 

फिर से, आप TapIsTrigger को इस बात के लिए टिक की आवश्यकता है काम।

0

इन चरणों का पालन का प्रयास करें:

  1. हटाएँ MainCamera
  2. के तहत मुख्य कैमरा
  3. मुख्य कैमरा घटक को भौतिकी Raycaster जोड़े
  4. जोड़ें दृश्य
  5. में
  6. खींचें CarboardMain Prefabs/यूआई जगह CardboardReticle से इवेंट सिस्टम गेमऑब्जेक्ट
  7. इवेंट सिस्टम
  8. पर GazeInputModule स्क्रिप्ट जोड़ें
  9. इवेंट सिस्टम
पर टच इनपुट मॉड्यूल जोड़ें
संबंधित मुद्दे