1. 程式人生 > >使用LineRenderer製作簡易的寫字板

使用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;

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製作簡易的寫字板