Как спрятать и показать 3d-объект в дополненной реальности с единством? - PullRequest
0 голосов
/ 28 августа 2018

Я создал дополненную реальность с помощью пользовательской цели (пример ядра Vuforia).
Дополненная реальность работает нормально, но я не могу скрыть и показать 3d-объект в единстве. Я использовал код setActive (false) для объекта, но не работает в приложении для Android. Я хочу реализовать это в Android.

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using System.Net;
using System.IO;
using System.Text;
using System.Xml.Linq;
using UnityEngine.SceneManagement;


public class first : MonoBehaviour {

    public UnityEngine.UI.Text responseText;
    public GameObject silo1;
    public GameObject silo2;
    public GameObject silo3;
    public GameObject silo4;
    public GameObject silo5;
    public Color colorStart = Color.red;
    public Color colorEnd = Color.green;
    public float duration = 1.0F;
    private float xS = 0;
    private float yS = 0;
    private float zS = 0;
    private float xO = 0;
    private float yO = 0;
    private float zO = 0;

    public void Request()
    {
        try
        {
            silo1.SetActive(true);
            silo2.SetActive(false);
            silo3.SetActive(false);
            silo4.SetActive(false);
            silo5.SetActive(false);
            /////////////////////////////////////////////////////////////////////////////////
            string url = "http://dev-lafargeholcim.online.indeff.com/Thingworx/Things/UnityApplicationThing/Services/displayThingWorxData";

            var request = UnityWebRequest.Post(url, "");
            request.SetRequestHeader("Content-Type", "application/json");
            request.SetRequestHeader("Accept", "text/csv");
            request.SetRequestHeader("appKey", "d0b8e896-8690-416c-95d5-965165986234");
            StartCoroutine(onResponse(request));
            //////////////////////////////////////////////////////////////Post request//////////////////////////
            //Naming to the game object
            //silo.name = "silo";

            // Debug.Log("Mesh Length:"+ silo.GetComponent<Renderer>().material.mainTexture.width);
            // Destroy(silo);
            float lerp = Mathf.PingPong(Time.time, duration) / duration;
            silo1.GetComponent<Renderer>().material.color = Color.Lerp(colorStart, colorEnd, lerp);
            if (yS >= 3) { return; }
            else
            {
                duration = duration + 1;
                xS = silo1.transform.localScale.x;
                yS = silo1.transform.localScale.y;
                zS = silo1.transform.localScale.z;
                xO = silo1.transform.position.x;
                yO = silo1.transform.position.y;
                zO = silo1.transform.position.z;
                transform.position = silo1.transform.position - Vector3.down * -10f;
                yS = yS + Convert.ToSingle(0.3);
                xS = xS;
                zS = zS;
                yO = yO;
                xO = xO;
                zO = zO + Convert.ToSingle(0.03);
                silo1.transform.localScale = new Vector3(xS, yS, zS);
                silo1.transform.position = new Vector3(xO, yO, zO);
                Debug.Log("Silo Transformation\t" + silo1.transform.localScale + "\nTrasform Position\t" + silo1.transform.position);
            }
        }
        catch (Exception e) { Debug.Log("ERROR : " + e.Message); }
    }
    private IEnumerator onResponse(UnityWebRequest req)
    {
        Debug.Log("Response function get called");
        yield return req.SendWebRequest();
        if (req.isNetworkError)
            Debug.Log("Network error has occured: " + req.GetResponseHeader(""));
        else
            Debug.Log("Success " + req.downloadHandler.text);
        responseText.text = req.downloadHandler.text;
        byte[] results = req.downloadHandler.data;
        Debug.Log("Second Success\t" + responseText.text);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...