UE4로 화이트보드 만들기 -개-
3636 단어 위 4UnrealEngine4화이트보드
소개
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
Reference
이 문제에 관하여(UE4로 화이트보드 만들기 -개-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Naotsun/items/1a308a041836c5f88f0e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
마지막 방법에서는 아래 이미지와 같이 무수한 원을 늘어서 선에 표시했습니다.
이번 방법에서는, 직전의 프레임에서의 위치로부터 현 프레임의 위치까지의 선을 늘려 선을 그려 있는 것처럼 보이도록 합니다.
개선하다
마커 머티리얼
우선 마커 역할을 하는 머티리얼을 만듭니다. 이름은 "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
Reference
이 문제에 관하여(UE4로 화이트보드 만들기 -개-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Naotsun/items/1a308a041836c5f88f0e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
어제의 기사의 코멘트에서 abey1192 보다 조언을 받았습니다. 고마워요!
직선으로의 보간, 스플라인으로의 보간, Catmull-Rom에서의 보간 등이 있다고 합니다만, 이번은 직선으로의 보간을 실시했습니다.
또, FMath 클래스에 Catmull-Rom의 함수가 있었습니다(BP에는 공개되어 있지 않다) 때문에 신경이 쓰이는 분은 시험해 보는 것은 어떻습니까.
샘플 프로젝트
이번에 만든 프로젝트는 여기에서 다운로드할 수 있습니다.
htps : // 기주 b. 코 m / 나오 텐 19B / 우우 테보아 rd
Reference
이 문제에 관하여(UE4로 화이트보드 만들기 -개-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Naotsun/items/1a308a041836c5f88f0e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(UE4로 화이트보드 만들기 -개-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Naotsun/items/1a308a041836c5f88f0e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)