Exemplo n.º 1
0
    /// <summary>
    /// Object is displayed through computing frustun corners in order to find where the camera
    /// is and not display the effect on any other part except of the 4 corners of the camera.
    /// It is set to show as a circle right.
    /// This OnRenderImage requires us to create our own Graph.Blits in order for it to work
    /// </summary>


    #region ImageEffectFx
    private void OnRenderImage(RenderTexture source, RenderTexture destination)
    {
        if (_material == null)
        {
            shader              = Shader.Find("Kwaku/NightVisionWGlitch");
            _material           = new Material(shader);
            _material.hideFlags = HideFlags.DontSave;
        }
        if (_mode == GlitchMode.GlitchOn)
        {
            _material.SetFloat("_GlitchInterval", _GlitchInterval);
            _material.SetFloat("_DispIntensity", _DispIntensity);
            _material.SetFloat("_DispProbability", _DispProbability);
            _material.SetFloat("_ColorIntensity", _ColorIntensity);
            _material.SetFloat("_ColorProbability", _GlitchInterval);
        }
        else
        {
            _material.SetColor("_MidColor", midColor);
            _material.SetColor("_TrailColor", trailColor);
            _material.SetFloat("_MidIntensity", _MidColorIntensity);
            _material.SetFloat("_TrailIntensity", _TrailColorIntensity);
        }

        _material.SetColor("_TrailColor", trailColor);
        _material.SetFloat("_MidIntensity", _MidColorIntensity);
        _material.SetFloat("_TrailIntensity", _TrailColorIntensity);


        _material.SetVector("_WorldSpaceScannerPos", playerPos.position);
        if (_scanDistance < _ScanningDistanceMax)
        {
            _material.SetFloat("_ScanDistance", _scanDistance);
        }
        else
        {
            _scanDistance = 0;
        }
        _material.SetFloat("_ScanWidth", _ScanWidth);
        RaycastGraphBlits.RaycastCornerBlit(source, destination, _material);
    }
Exemplo n.º 2
0
    void OnRenderImage(RenderTexture source, RenderTexture destination)
    {
        if (_material == null)
        {
            shader              = Shader.Find("Kwaku/SimulationFX");
            _material           = new Material(shader);
            _material.hideFlags = HideFlags.DontSave;
        }

        _material.SetColor("_MidColor", midColor);

        //Where to start the scan in the world
        _material.SetVector("_WorldSpaceScannerPos", _ScannerOrigin.position);

        _material.SetFloat("_ScanDistance", _scanDistance);

        _material.SetFloat("_Distance", _scanDistance);
        _material.SetFloat("_ScanWidth", _ScanWidth);
        _material.SetFloat("_Intensity", _intensity);


        RaycastGraphBlits.RaycastCornerBlit(source, destination, _material);
    }