도파민조아 MYPI

도파민조아
접속 : 4421   Lv. 51

Category

Profile

Counter

  • 오늘 : 90 명
  • 전체 : 143374 명
  • Mypi Ver. 0.3.1 β
[Unity Engine] [게임개발/Unity3D] 선을 그려보자 - (1) (1) 2015/12/02 PM 02:09
글쓴거 다날아 갔네 ㅠㅠ

source code : https://github.com/geniikw/drawLine

선도 못그리는 개발자가 되기 싫어서 선을 그려보려고 합니다.
일단 제일 기본적인 형태입니다. Unity3D에서 두 선을 그리는 가장
LowLevel의 형태입니다.



해당하는 함수를 OnRenderObject() 에서 호출하게 되면 선이 그려집니다.

사실 GL클래스도 유니티 엔진에서 제공하는 래퍼 클래스이기 때문에
더 직접적인 방법도 있습니다만... 링크만 걸겠습니다.
http://docs.unity3d.com/Manual/NativePluginInterface.html

언제 이런거 쓰고 앉아 있습니까. GL클래스 조차도 추천하지 않는데...
이런거까지 하면서 개발할 이유가 없다고 봅니다. 물론 학습용으로
Unity3D Editor상에서 3D객체를 볼 수 있다는 점은 훌륭하다고 봅니다.

유니티에서 추천하는 두번째 방법은 mesh를 생성하고 그리는 겁니다.
이렇게 하면 몇가지 장점이 생기는데

- Play버튼을 누르지 않아도 보입니다.
- 최적화가 되어있답니다. (먼산)

아무튼 요점은 제일 정상적인 방법이라는 겁니다.
아무튼 선을 그려봅시다. ㅇㅅㅇ;




*mesh에서 leak이 일어나는 코드입니다. github에선 수정됨.

여기서 문제가 되었던 부분은 Points 배열이 변경될때마다 VertexUpdate가 호출되어야 한다는 겁니다.
제일 스마트한건 ObservableList같이 값이 변경될때마다 호출되는 이벤트를 추가하고 여기에 VertexUpdate()를
넣는 방법입니다만... 여러가지 문제가 있어서 여기서는 그냥 노가다(?)로 해결했습니다.



완성된 모습입니다! 만약에 다음편을 한다면 Shader쪽이나 Mesh Line을 하겠습니다.

신고

 

개락    친구신청

글 잘보고 갑니다^^
X