using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DrawLineScript : MonoBehaviour {
LineRenderer li;
int num;
void Start () {
li=GetComponent <<span style="color: #4ec9b0;">LineRenderer>();
num=0;
li.positionCount=0;
li.startWidth=0.1f;
}
void Update () {
if (Input .GetMouseButton(0))
{//鼠标点击的是屏幕
num++;
li.positionCount=num;
li.SetPosition(num-1,ScToWo(Input.mousePosition
,transform));
Debug .Log ("应该是10把"+Camera.main.transform.position.z);
}
}
//一个将屏幕坐标转换成世界坐标
//用视口转世界的方法 传入三个参数即可
//1 屏幕点击的位置的x占屏幕的宽
//2 屏幕点击位置的y占屏幕的高
//3 摄像机到世界里的距离(需要一个物体做参考)
// 也就是要在物体与相机平行的那个平面操作
Vector3 ScToWo(Vector3 screenPos,Transform targetTra){
Vector3 dir=targetTra.position-Camera.main.transform .position;
Vector3 projectDir=
Vector3.Project(dir,Camera.main.transform.forward);
return Camera.main .ViewportToWorldPoint(
new Vector3 (screenPos .x/Screen.width,screenPos.y/Screen.height,
projectDir.magnitude )
);
}
}