-1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DrawLinesWithMouse : MonoBehaviour
{
private List<Vector3> pointsList;
// Use this for initialization
void Start()
{
pointsList = new List<Vector3>();
}
// Update is called once per frame
void Update()
{
RaycastHit hit;
Ray ray = GetComponent<Camera>().ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit, 1000))
{
Vector3 hitpoint = hit.point;
pointsList.Add(hitpoint);
DrawLine(pointsList[0], pointsList[pointsList.Count -1], Color.red, 0.2f);
}
}
void DrawLine(Vector3 start, Vector3 end, Color color, float duration = 0.2f)
{
GameObject myLine = new GameObject();
myLine.transform.position = start;
myLine.AddComponent<LineRenderer>();
LineRenderer lr = myLine.GetComponent<LineRenderer>();
lr.material = new Material(Shader.Find("Particles/Alpha Blended Premultiply"));
lr.startColor = color;
lr.startWidth = 3f;
lr.endWidth = 3f;
lr.SetPosition(0, start);
lr.SetPosition(1, end);
//GameObject.Destroy(myLine, duration);
}
}
여기에서의 문제는 휴대용 접는 팬과 같은 라인 그리기 점입니다 :마우스를 움직일 때 어떻게 지형에 선을 그릴 수 있습니까?
그러나 내가이 예를 들어 곡선 경우를 포함하여 마우스의 이동 위치에 따라 라인을 단지 하나의 선을 그어야 할을 나는 직선뿐만 아니라 원으로 마우스를 움직입니다.
[Trail Renderer] (https://docs.unity3d.com/Manual/class-TrailRenderer.html)을 확인하십시오. 마우스 위치에 빈 gameObject를 추가 할 수 있습니다. 마우스 위치에는 trailRenderer가 있습니다. – Thalthanas
pt0에서 현재 점으로 그리는 대신에, u는 currentPt -1에서 currentPt로 그릴 수 있습니다. – Everts