// Use this for initialization
 void Start()
 {
     CylinderGenerator.Create(gameObject, true, 64);
     meshRenderer = gameObject.AddComponent <MeshRenderer>();
     meshRenderer.material.shader = cylinderShader;
     meshRenderer.material.EnableKeyword("FROM_SPHERICAL");
     meshRenderer.material.SetFloat("_Fade", 1f);
     meshRenderer.material.SetFloat("_ShiftU", shiftU);
     meshRenderer.material.SetFloat("_ScaleV", scaleCylinderV);
 }
Exemplo n.º 2
0
    void Start()
    {
        if (isCylinder)
        {
            CylinderGenerator.Create(gameObject, true, 64);
        }
        else
        {
            IcoSphereGenerator.Create(gameObject, true, 5);
        }

        meshRenderer = gameObject.AddComponent <MeshRenderer>();
        if (isCylinder)
        {
            meshRenderer.material.shader = cylinderShader;
            meshRenderer.material.EnableKeyword("FROM_SPHERICAL");
            meshRenderer.material.SetFloat("_Fade", 1f);
            meshRenderer.material.SetFloat("_ShiftU", shiftU);
            meshRenderer.material.SetFloat("_ScaleV", scaleCylinderV);
        }
        else
        {
            meshRenderer.material.shader = sphereShader;
            meshRenderer.material.SetFloat("_Fade", 1f);
            meshRenderer.material.SetFloat("_ShiftU", shiftU);
        }

        infoBlock = new GameObject(name + " Info");
        infoBlock.transform.SetParent(transform);
        infoBlock.transform.localPosition = new Vector3(0f, -0.5f, 0.5f);
        infoBlock.transform.localRotation = Quaternion.Euler(45f, 0f, 0f);

        var infoText = infoBlock.AddComponent <TextMesh>();

        infoText.text          = "Record: Not yet loaded\nImage: N/A";
        infoText.anchor        = TextAnchor.MiddleCenter;
        infoText.fontSize      = 40;
        infoText.characterSize = 0.005f;

        OnValidate();

        if (Application.sandboxType != ApplicationSandboxType.NotSandboxed)
        {
            archive.jsonPath = Application.streamingAssetsPath;
        }
        archive.Load();
        ChangeRecord(-1);
    }
    void SetupCylinder()
    {
        cylinder = new GameObject("Virtual Panorama Cylinder");
//		cylinder.transform.SetParent(transform);
        cylinder.transform.position = new Vector3(0f, aboveFloor + screenHeight * 0.5f, 0f) - viewerPosition;
        float sr = diameter / 2f;
        float sh = screenHeight / 2f;

        cylinder.transform.localScale = new Vector3(sr, sh, sr);
        cylinder.layer = PanoramaCameraRig.PANORAMA_LAYER;
        CylinderGenerator.Create(cylinder, true, 180);
        cylinderRenderer = cylinder.AddComponent <MeshRenderer>();
        if (undistortSlices)
        {
            cylinderRenderer.material = new Material(Shader.Find("EMPlus/PanoramaSliceWarpShader"));
            cylinderRenderer.material.SetVector("_SliceLayout", new Vector4(cameraRig.numSlices, cameraRig.sliceAngle * Mathf.Deg2Rad, 0f, 0f));
        }
        else
        {
            cylinderRenderer.material = new Material(Shader.Find("Unlit/Texture"));
        }
        cylinderRenderer.material.SetTexture("_MainTex", cameraRig.renderTexture);
        cylinderRenderer.material.SetTextureScale("_MainTex", new Vector2(360f / cameraRig.RenderedAngle(), 1f));

        cylinderBlack = new GameObject("Virtual Cylinder Outside Black");
        CylinderGenerator.Create(cylinderBlack, true, 90);
        cylinderBlack.AddComponent <MeshRenderer>();
        cylinderBlack.layer = PanoramaCameraRig.PANORAMA_LAYER;
        cylinderBlack.transform.SetParent(cylinder.transform);
        Material matBlack = cylinderBlack.GetComponent <MeshRenderer>().material;

        matBlack.shader = Shader.Find("Unlit/Color");
        matBlack.SetColor("_Color", new Color(0, 0, 0, 1f));

        floor       = GameObject.CreatePrimitive(PrimitiveType.Quad);
        floor.name  = "Virtual Panorama Screen Floor Quad";
        floor.layer = PanoramaCameraRig.PANORAMA_LAYER;
        floor.transform.SetParent(cylinder.transform);
        floor.transform.rotation = Quaternion.Euler(90f, 0f, 0f);
        Material matFloor = floor.GetComponent <MeshRenderer>().material;

        matFloor.shader = Shader.Find("Standard");
        matFloor.SetColor("_Color", new Color(0.1f, 0.1f, 0.1f, 1f));

        OnValidate();
    }
Exemplo n.º 4
0
    // Use this for initialization
    void Start()
    {
        if (segments < 6)
        {
            segments = 6;
        }
        if (segments > 360)
        {
            segments = 360;
        }
        CylinderGenerator.Create(gameObject, insideOut, segments);
        var cylinderRenderer = gameObject.AddComponent <MeshRenderer>();

        if (material != null)
        {
            cylinderRenderer.sharedMaterial = material;
        }
        else
        {
            cylinderRenderer.material.shader = Shader.Find("EMPlus/GridShader");
            cylinderRenderer.material.SetColor("_Color", color);
            cylinderRenderer.material.SetFloat("_LineWidth", lineWidth);
        }
    }
Exemplo n.º 5
0
 // Use this for initialization
 void Start()
 {
     CylinderGenerator.Create(gameObject, true, 64);
 }