unity中UI、shader显示在3D物体前

需要将物体转化成视口坐标而不是屏幕坐标

                Vector3 viewPoint=EScreenCamera.WorldToViewportPoint(CurENeedShowPosition);

                x = viewPoint.x * Screen.width;

                y = viewPoint.y * Screen.height;

            mESignMaterial.SetVector("_LP1", new Vector4(x, y, mESignMaterialVector4.z, mESignMaterialVector4.w));

你可能感兴趣的:(unity,3d,游戏引擎)