inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Unreal5/ UEditableTextBox 에서 현재 커서 위치 얻기.

130

themoon007

작성한 질문수 98

0

위젯에서 보통 사용하는 편집가능한 텍스트 박스를 클릭하면 이미 글자가 있을 경우 클릭한 위치에 커서(caret)이 깜빡깜빡 생기는데요.

 

이 커서의 위치값(혹은 관련 정보)을 얻을 수 있는 방법을 못 찾겠습니다.

 

분석한 바로는 UEditableTextBox 부터 시작하여 멤버로 타고 타다 보면 FSlateEditableTextLayout 라는 클래스에서 커서 포지션이 있는 걸로 확인은 되는데 여기까지 접근할 방법이 없습니다.

 

엔진코드를 바꾸지 않는 이상 없어보이는데 혹시 다른 방법이 있을 까요???

 

커서가 깜빡깜빡하는 곳의 위치 정보를 얻을 수 있으면 됩니다.

unreal5 widget textbox cursor

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

themoon007님, Unreal Engine 5에서 UEditableTextBox 컴포넌트를 사용할 때 커서의 위치 정보를 얻는 것은 엔진의 표준 API를 통해서는 바로 접근하기 어려울 수 있습니다. 일반적으로 UE4나 UE5에서는 공개적으로 문서화되지 않은 내부 구현에 대한 직접적인 접근을 제공하지 않기 때문에, FSlateEditableTextLayout 같은 내부 클래스에 접근하기 위해서는 엔진 코드를 수정하는 것 외에는 직접적인 방법이 제한될 수 있습니다.

하지만 몇 가지 가능한 대안적 방법을 시도해볼 수 있습니다.

  1. 커스텀 이벤트나 델리게이트 사용: UEditableTextBox에 입력이 발생할 때마다 발생하는 이벤트나 델리게이트를 사용하여 입력된 텍스트의 길이나 형태를 기반으로 현재 커서의 대략적인 위치를 추정하는 방법이 있습니다. 이 방법은 정확한 픽셀 단위의 위치는 제공하지 않지만, 사용자의 입력에 따른 커서의 변화를 어느 정도 추측할 수 있습니다.

  2. 엔진 소스 수정: Unreal Engine은 오픈소스 엔진이므로, 필요한 경우 소스 코드에 직접 접근하여 FSlateEditableTextLayout 클래스에 접근하는 방법을 구현할 수 있습니다. 이 방법은 엔진의 내부 구조에 대한 깊은 이해가 필요하며, 엔진 업데이트시 충돌이나 호환성 문제가 발생할 수 있습니다.

  3. 플러그인이나 외부 라이브러리 활용: 때때로 커뮤니티에서 제공하는 플러그인이나 외부 라이브러리를 통해 이와 같은 기능을 간접적으로 지원받을 수 있습니다. Unreal Engine의 마켓플레이스나 포럼, GitHub에서 관련 기능을 제공하는 플러그인을 찾아볼 수 있습니다.

혹시 구체적인 구현법이나 추가적인 질문이 있으실 경우, Unreal Engine의 공식 포럼이나 Stack Overflow 같은 개발자 커뮤니티에서 도움을 받으시는 것도 좋은 방법입니다. 해당 커뮤니티는 다양한 개발 관련 질문과 토론이 활발히 이루어지고 있어, 더 구체적인 해결책을 찾는 데 도움이 될 수 있습니다.

node.js 설치 관련 질문 드립니다

0

15

1

Cursor 설정

0

21

1

Node 관련 질문입니다

0

21

3

강의 내용속 커서 버젼하고 현재 커서 버젼이 다른가요?

0

24

2

구글 소셜 로그인 후 로그인 시 구글에러

0

25

2

실습중(개인 비용 관리 앱) 문의드려요

0

42

2

components 디렉토리 생성

0

25

1

라이브 녹화 문의

0

66

2

2-8강 Websocket server running on port가 안 뜹니다.

0

40

2

1-4 rule 파일 내려받기가 안돼요

0

42

1

figma cursor talk to figma plugin 없어요

0

95

2

화면이 안 나옵니다. 소리만 나와요

0

54

2

추가 강의 문의

0

48

1

프로젝트 소스 공유

0

83

2

배포된 실습용 서버 상태 확인 부탁드립니다

0

79

3

구글 개발자 계정 생성 관련 질문

0

64

1

open in brower 세팅

0

68

1

Claude Extension 을 사용해야 하나요?

0

119

1

live server 오류

0

101

2

서브에이전트의 결과를 다른 서브에이전트로 넘기는 방법(notion -> prd)

0

86

2

서브에이전트의 결과를 다른 서브에이전트로 넘기는 방법(notion -> prd)

0

70

2

나만의스타일 관련 문의

0

53

2

[git설치]

0

74

1

git 브렌치?

0

48

2