using UnityEngine; using System.Collections; [ExecuteInEditMode] public class ShaderHeightControl : MonoBehaviour { //public GameObject camera; private float targetHeight = 0.0f, curHeight = 0.0f, verticalVel = 0.0f; void Start () { curHeight = transform.position.y; } void Update () { //Vector3 lookVec = (camera.transform.position - transform.position).normalized; targetHeight = transform.position.y; curHeight = Mathf.SmoothDamp(curHeight, targetHeight, ref verticalVel, .3f, 12f, Time.deltaTime); /* Shader.SetGlobalFloat("_PlayerY", curHeight-1f); Shader.SetGlobalFloat("_PlayerX", transform.position.x); Shader.SetGlobalFloat("_PlayerZ", transform.position.z);*/ Shader.SetGlobalVector("_Player", new Vector3(transform.position.x,curHeight-1f,transform.position.z)); /* Shader.SetGlobalFloat("_CamVecX", lookVec.x); Shader.SetGlobalFloat("_CamVecY", lookVec.y); Shader.SetGlobalFloat("_CamVecZ", lookVec.z);*/ //Shader.SetGlobalVector("_CamVec", new Vector3(lookVec.x,lookVec.y,lookVec.z)); } }