我的场景中有一个3D对象,我想在3D对象和一个具有渲染模式“屏幕空间-相机”的Canvas之间绘制一条线(LineRenderer)。
Destination = GameObject.Find("MyCanvas").GetComponent<Canvas>().transform;
lineRenderer = gameObject.AddComponent<LineRenderer>();
lineRenderer.material = new Material(Shader.Find("Particles/Additive"));
lineRenderer.SetColors(laserColor,laserColor);
lineRenderer.SetWidth(initW,finalW);
lineRenderer.SetVertexCount(2);
Origin= GameObject.Find("MyObj");
lineRenderer.SetPosition(0, Origin.position);
lineRenderer.SetPosition(1, Destination.position);
如果对象是两个3D对象,则此代码效果很好。就我而言,3D对象和“画布”之间的线是错误的。这条线的3D对象坐标错误。 这显然是一个坐标问题。我怎样才能从我的画布上获得正确的坐标?我必须进行某种转换吗? 谢谢您的帮助。