コード例 #1
0
    // Update is called once per frame
    void Update()
    {
        if (regenerateDisplayWall)
        {
            foreach (GameObject g in displayObjects)
            {
                Destroy(g);
            }
            Destroy(screenMask);
            displayObjects.Clear();
            CAVE2ScreenMaskVerticies.Clear();
            CAVE2ScreenMaskUV.Clear();
            CAVE2ScreenMaskTriangles.Clear();

            GenerateCAVE2();
            UpdateScreenMask();
            regenerateDisplayWall = false;
        }

        if (last_floorRenderMode != floorRenderMode)
        {
            UpdateScreenMask();
            last_floorRenderMode = floorRenderMode;
        }

        if (last_simulateDisplaysState != simulateDisplays)
        {
            foreach (GameObject g in displayObjects)
            {
                g.GetComponent <CAVE2Display>().enabled = simulateDisplays;
                if (!simulateDisplays)
                {
                    g.GetComponent <CAVE2Display>().RemoveDisplayTexture();
                }
                else
                {
                    g.GetComponent <CAVE2Display>().CreateDisplayTexture();
                }
            }

            last_simulateDisplaysState = simulateDisplays;
        }
    }
コード例 #2
0
    void Start()
    {
        displayObjects           = new ArrayList();
        CAVE2ScreenMaskVerticies = new List <Vector3>();
        CAVE2ScreenMaskUV        = new List <Vector2>();
        CAVE2ScreenMaskTriangles = new List <int>();

        if (outputConfig != ConfigOutput.None)
        {
            initPosition       = transform.position;
            initRotation       = transform.rotation;
            transform.position = Vector3.zero;
            transform.rotation = Quaternion.identity;
        }
        GenerateCAVE2();
        if (outputConfig != ConfigOutput.None)
        {
            transform.position = initPosition;
            transform.rotation = initRotation;
        }

        last_floorRenderMode       = floorRenderMode;
        last_simulateDisplaysState = simulateDisplays;
    }