Unity 는 LineRender 를 사용 하여 회화 기능 을 실현 합 니 다.

본 논문 의 사례 는 유 니 티 라인 렌 더 가 회화 기능 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
낡은 규칙,직접 코드 올 리 기:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DrawLine_ZH : MonoBehaviour
{
 private GameObject _Clone;
 private LineRenderer _Line;
 int _Number;

 //  LineRender  
 [Header("LineRender   ")]
 public GameObject _Target;

 void Update()
 {
  if (Input.GetMouseButtonDown(0))
  {
   //     
   _Clone = Instantiate(_Target, _Target.transform.position, Quaternion.identity);

   //       LineRender  
   _Line = _Clone.GetComponent<LineRenderer>();

   //          
   //_Line.SetColors(Color.red, Color.blue);
   _Line.startColor = Color.red;
   _Line.endColor = Color.blue;

   //          
   // _Line.SetWidth(0.2f, 0.1f);
   _Line.startWidth = 0.2f; ;
   _Line.endWidth = 0.1f;

   //  
   _Number = 0;
  }
  if (Input.GetMouseButton(0))
  {
   //     ,         ,    
   _Number++;

   //     
   //_Line.SetVertexCount(_Number);
   _Line.positionCount = _Number;

   //      (     ,                 )
   _Line.SetPosition(_Number - 1, Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 15)));


  }

  //    

  if (Input.GetMouseButtonDown(1))
  {
   GameObject[] _Draw = GameObject.FindGameObjectsWithTag("DarwLine");
   for (int i = 0; i < _Draw.Length; i++)
   {
    Destroy(_Draw[i]);
   }
  }

 }
}
프 리 캐 스 트 와 재질 공 을 추가 하 는 것 에 주의 하 세 요:
스 크 립 트 탑재:

예제 체(사용자 정의 가능):

프 리 캐 스 트 재질(사용자 정의 가능):

최종 효과:

일단 이렇게 하 자.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기