Пример #1
0
    void raycastCamera()
    {
        Vector3    ballPos    = Vector3.zero;
        BallScript ballScript = (BallScript)GameObject.FindObjectOfType(typeof(BallScript));

        if (ballScript)
        {
            ballPos = ballScript.transform.position;
        }
        Vector3 dir = GetComponent <Camera>().transform.position - ballPos;

        RaycastHit[] hits = Physics.RaycastAll(ballPos,
                                               dir.normalized,
                                               2000.0f);

        m_renderers2.Clear();
        for (var i = 0; i < hits.Length; i++)
        {
            RaycastHit hit      = hits[i];
            Renderer   renderer = hit.collider.GetComponent <Renderer>();
            string     nom      = renderer.gameObject.name;
            if (m_renderers.ContainsKey(nom) == false)
            {
                m_renderers[nom]          = new RendererEx();
                m_renderers[nom].renderer = renderer;
                m_renderers[nom].shader   = renderer.material.shader;

                m_renderers2[nom] = m_renderers[nom];

                renderer.material.shader = Shader.Find("Transparent/Diffuse");
                Color col = renderer.material.color;
                col.a = alphaColor;
                renderer.material.color = col;
            }
        }
        m_cleared = false;
    }
Пример #2
0
	void raycastCamera()
	{
		Vector3 ballPos = Vector3.zero;
		BallScript ballScript = (BallScript)GameObject.FindObjectOfType( typeof(BallScript));
		if(ballScript)
		{
			ballPos = ballScript.transform.position;
		}
		Vector3 dir =  GetComponent<Camera>().transform.position - ballPos;
		
		RaycastHit[] hits = Physics.RaycastAll (ballPos,
												dir.normalized,
												2000.0f);
		
		m_renderers2.Clear();
		for (var i = 0;i < hits.Length; i++) 
		{
			RaycastHit hit  = hits[i];
			Renderer renderer =  hit.collider.GetComponent<Renderer>();
			string nom = renderer.gameObject.name;
			if(m_renderers.ContainsKey(nom)==false){
				m_renderers[nom] = new RendererEx();
				m_renderers[nom].renderer = renderer;
				m_renderers[nom].shader = renderer.material.shader;
				
				m_renderers2[nom] = m_renderers[nom];
				
				renderer.material.shader = Shader.Find("Transparent/Diffuse");
				Color col = renderer.material.color;
				col.a = alphaColor;
				renderer.material.color = col;
				
			}

		}
		m_cleared=false;
	}