void SetupSphere()
    {
        sphereTransform       = new GameObject("Sphere Transform");
        sphereTransform.layer = DomeCameraRig.DOME_LAYER;
        sphereTransform.transform.SetParent(transform);
        sphereTransform.transform.position = gameObject.transform.position;
        sphereTransform.transform.rotation = gameObject.transform.rotation;

        sphere       = new GameObject("Dome Sphere");
        sphere.layer = DomeCameraRig.DOME_LAYER;
        IcoSphereGenerator.Create(sphere, true, 4);
        var sphereRenderer = sphere.AddComponent <MeshRenderer>();

        sphere.transform.SetParent(sphereTransform.transform);
        sphere.transform.position = sphereTransform.transform.position;
        sphere.transform.rotation = sphereTransform.transform.rotation;
        sphere.transform.Rotate(new Vector3(0, -135, 0));

        sphereRenderer.material.shader = Shader.Find("Unlit/Dome2ProjectorShader");
        sphereRenderer.material.SetTexture("_LeftTex", cameraRig.renderTextures[0]);
        sphereRenderer.material.SetTexture("_RightTex", cameraRig.renderTextures[1]);
        sphereRenderer.material.SetTexture("_TopTex", cameraRig.renderTextures[2]);
        sphereRenderer.material.SetTexture("_BottomTex", cameraRig.renderTextures[3]);

        sphereRenderer.shadowCastingMode    = UnityEngine.Rendering.ShadowCastingMode.Off;
        sphereRenderer.receiveShadows       = false;
        sphereRenderer.lightProbeUsage      = UnityEngine.Rendering.LightProbeUsage.Off;
        sphereRenderer.reflectionProbeUsage = UnityEngine.Rendering.ReflectionProbeUsage.Off;

        sphere.hideFlags = HideFlags.HideAndDontSave;

        sphereTransform.transform.Translate(0f, 0f, 1f);
        sphereTransform.transform.Rotate(-90f, 0f, 0f);
    }
    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);
    }
Example #3
0
    // Use this for initialization
    void Start()
    {
        if (subdivisions < 1)
        {
            subdivisions = 1;
        }
        if (subdivisions > 6)
        {
            subdivisions = 6;
        }
        IcoSphereGenerator.Create(gameObject, insideOut, subdivisions);
        var sphereRenderer = gameObject.AddComponent <MeshRenderer>();

        if (material != null)
        {
            sphereRenderer.sharedMaterial = material;
        }
        else
        {
            sphereRenderer.material.shader = Shader.Find("EMPlus/LongLatShader");
            sphereRenderer.material.SetColor("_Color", color);
            sphereRenderer.material.SetFloat("_LineWidth", lineWidth);
        }
    }