예제 #1
0
파일: CameraManager.cs 프로젝트: otinh/kube
    private void SetCubeTransparency()
    {
        var spawnedCubes = CubeSpawner.GetSpawnedCubes();
        var ray          = new Ray(Player.GetComponent <Rigidbody>().transform.position, this.transform.position);
        var hit          = Physics.RaycastAll(ray, 10);

        foreach (var cube in spawnedCubes)
        {
            var cubeRenderer = cube.transform.GetComponent <Renderer>();
            cubeRenderer.material.shader = Shader.Find("Standard");
            var opac = cubeRenderer.material.color;
            opac.a = 1f;
            cubeRenderer.material.color = opac;

            foreach (var h in hit)
            {
                var rend = h.transform.GetComponent <Renderer>();
                if (cubeRenderer != rend)
                {
                    continue;
                }

                cubeRenderer.material.shader = Shader.Find("Transparent/Diffuse");
                var tempColor = cubeRenderer.material.color;
                tempColor.a = 0.3F;
                cubeRenderer.material.color = tempColor;
                break;
            }
        }
    }