Search Unity

How to fix it problem

Discussion in 'Editor & General Support' started by UncleRus, Jan 14, 2021.

  1. UncleRus

    UncleRus

    Joined:
    Jan 12, 2021
    Posts:
    19
    Assets/Standard Assets/Water (Basic)/Sources/Scripts/WaterSimple.cs(11,8): error CS0619: `UnityEngine.Component.renderer' is obsolete: `Property renderer has been deprecated. Use GetComponent<Renderer>() instead. (UnityUpgradable)'
    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. // Sets up transformation matrices to scale&scroll water waves
    4. // for the case where graphics card does not support vertex programs.
    5.  
    6. [ExecuteInEditMode]
    7. public class WaterSimple : MonoBehaviour
    8. {
    9.     void Update()
    10.     {
    11.         if( !renderer )
    12.             return;
    13.         Material mat = renderer.sharedMaterial;
    14.         if( !mat )
    15.             return;
    16.          
    17.         Vector4 waveSpeed = mat.GetVector( "WaveSpeed" );
    18.         float waveScale = mat.GetFloat( "_WaveScale" );
    19.         float t = Time.time / 20.0f;
    20.      
    21.         Vector4 offset4 = waveSpeed * (t * waveScale);
    22.         Vector4 offsetClamped = new Vector4(Mathf.Repeat(offset4.x,1.0f), Mathf.Repeat(offset4.y,1.0f), Mathf.Repeat(offset4.z,1.0f), Mathf.Repeat(offset4.w,1.0f));
    23.         mat.SetVector( "_WaveOffset", offsetClamped );
    24.      
    25.         Vector3 scale = new Vector3( 1.0f/waveScale, 1.0f/waveScale, 1 );
    26.         Matrix4x4 scrollMatrix = Matrix4x4.TRS( new Vector3(offsetClamped.x,offsetClamped.y,0), Quaternion.identity, scale );
    27.         mat.SetMatrix( "_WaveMatrix", scrollMatrix );
    28.              
    29.         scrollMatrix = Matrix4x4.TRS( new Vector3(offsetClamped.z,offsetClamped.w,0), Quaternion.identity, scale * 0.45f );
    30.         mat.SetMatrix( "_WaveMatrix2", scrollMatrix );
    31.     }
    32. }
    33.  
     
  2. PraetorBlue

    PraetorBlue

    Joined:
    Dec 13, 2012
    Posts:
    7,909
    Have you tried the suggestion from the error message?
     
    UncleRus likes this.
  3. UncleRus

    UncleRus

    Joined:
    Jan 12, 2021
    Posts:
    19
    I just don't remember what to insert where and I haven't tried this suggested message, can you please tell me what to insert where
     
  4. PraetorBlue

    PraetorBlue

    Joined:
    Dec 13, 2012
    Posts:
    7,909
    It's very straightforward in the message you're seeing:
    renderer has been deprecated. Use GetComponent<Renderer>() instead
     
    UncleRus likes this.
  5. UncleRus

    UncleRus

    Joined:
    Jan 12, 2021
    Posts:
    19
    can you or show how to change it
     
    Last edited: Jan 15, 2021
  6. Valjuin

    Valjuin

    Joined:
    May 22, 2019
    Posts:
    481
    I don’t have the script named WaterSimple.cs in my Standard Assets, but I do have one named WaterBasic.cs which looks similar. Maybe this will help you.
    Code (CSharp):
    1. using System;
    2. using UnityEngine;
    3.  
    4. namespace UnityStandardAssets.Water
    5. {
    6.     [ExecuteInEditMode]
    7.     public class WaterBasic : MonoBehaviour
    8.     {
    9.         void Update()
    10.         {
    11.             Renderer r = GetComponent<Renderer>();
    12.             if (!r)
    13.             {
    14.                 return;
    15.             }
    16.             Material mat = r.sharedMaterial;
    17.             if (!mat)
    18.             {
    19.                 return;
    20.             }
    21.  
    22.             Vector4 waveSpeed = mat.GetVector("WaveSpeed");
    23.             float waveScale = mat.GetFloat("_WaveScale");
    24.             float t = Time.time / 20.0f;
    25.  
    26.             Vector4 offset4 = waveSpeed * (t * waveScale);
    27.             Vector4 offsetClamped = new Vector4(Mathf.Repeat(offset4.x, 1.0f), Mathf.Repeat(offset4.y, 1.0f),
    28.                 Mathf.Repeat(offset4.z, 1.0f), Mathf.Repeat(offset4.w, 1.0f));
    29.             mat.SetVector("_WaveOffset", offsetClamped);
    30.         }
    31.     }
    32. }
     
  7. UncleRus

    UncleRus

    Joined:
    Jan 12, 2021
    Posts:
    19
    о i try this
     
  8. UncleRus

    UncleRus

    Joined:
    Jan 12, 2021
    Posts:
    19
    I put this code but i gain 191 errors
     
  9. UncleRus

    UncleRus

    Joined:
    Jan 12, 2021
    Posts:
    19
    Maybe if i do in unity 5 version
     
  10. UncleRus

    UncleRus

    Joined:
    Jan 12, 2021
    Posts:
    19
    Thanks i fixed this problem
     
    Valjuin likes this.