使用LineRenderer制作简易的写字板

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;

扫描二维码关注公众号,回复: 4275891 查看本文章

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 )

);

}

}

使用LineRenderer制作简易的写字板

猜你喜欢

转载自blog.csdn.net/Hu_jinbo/article/details/81391307