UE4로 화이트보드 만들기 -개-

소개



UE4로 화이트보드 만들기

어제 렌더 타겟 등을 사용하여 화이트 보드를 만든다는 기사를 썼습니다만, 그쪽에서 소개한 방법으로는 신속하게 선을 그릴 때 아래의 이미지와 같이 되어 버렸습니다.

이 기사에서는 이것을 개선하겠습니다. 작업은 전회의 「 UE4로 화이트보드 만들기 」의 후에부터 시작하므로, 먼저 이쪽에 눈을 통해 받는 것을 추천합니다.

어떻게 개선할까



마지막 방법에서는 아래 이미지와 같이 무수한 원을 늘어서 선에 표시했습니다.

이번 방법에서는, 직전의 프레임에서의 위치로부터 현 프레임의 위치까지의 선을 늘려 선을 그려 있는 것처럼 보이도록 합니다.

개선하다



마커 머티리얼



우선 마커 역할을 하는 머티리얼을 만듭니다. 이름은 "M_WhiteBoardMaker_EX"로 둡니다.



이런 식으로 노드를 구성합니다. 이것으로 2개의 좌표로부터 선을 그리는 머티리얼이 완성입니다.
파라미터는 다음과 같습니다.
- FromLocation ・・・선의 시작점
- ToLocation···선의 종점
- Width···선의 두께
- EdgeFade···선의 강도

화이트보드 액터




이런 식으로 노드를 구성합니다. DrawOnWhiteBoardEX 이벤트의 인수는 모두 Vector2D 유형입니다. 그 밖의 부분은 전회와 같습니다.

쓰기 손의 액터




이전에 작성한 처리의 캐스트 이후를 이렇게 합니다. "BeforeLocation"은 이전 프레임의 위치를 ​​유지하는 Vector2D 유형의 변수입니다.

마찬가지로 지난번 작성한 이쪽의 처리의 버튼을 놓았을 때에 EndDrawing 이벤트를 호출하도록 해 줍니다.

아무래도 번거로울 것 같은 일을 하고 있습니다만, 이것은 쓰기 시작의 프레임은 BeforeLocation 변수에 위치를 기록해 다음에 프레임으로부터 처리를 하는 것을 하고 있습니다. 이렇게 하지 않으면 쓰기 시작으로 BeforeLocation 변수의 초기값에서 선이 그려져 버리는 등 의도하지 않은 선이 들어 버립니다.

기세 좋게 선 그리기




이렇게 깔끔하게 보간되었습니다. 마커의 머티리얼의 「Width」와 「EdgeFade」를 조절하면 좋은 느낌의 선이 됩니다.

결론



어제의 기사의 코멘트에서 abey1192 보다 조언을 받았습니다. 고마워요!
직선으로의 보간, 스플라인으로의 보간, Catmull-Rom에서의 보간 등이 있다고 합니다만, 이번은 직선으로의 보간을 실시했습니다.
또, FMath 클래스에 Catmull-Rom의 함수가 있었습니다(BP에는 공개되어 있지 않다) 때문에 신경이 쓰이는 분은 시험해 보는 것은 어떻습니까.

샘플 프로젝트



이번에 만든 프로젝트는 여기에서 다운로드할 수 있습니다.
htps : // 기주 b. 코 m / 나오 텐 19B / 우우 테보아 rd

좋은 웹페이지 즐겨찾기