728x90

공부/Unreal Engine 8

[Unreal5] 에러 해결 InputMode:UIOnly - Attempting to focus Non-Focusable widget SObjectWidget!

플레이를 하니 잘 되지만 오류가 하나 떴다. 플레이 할 때 이동이 안되게 막기 위해 UIOnly Input Mode를 사용한 거 였는데, 여기서 오류가 났다. 여기서 만든 위젯을 UI Only로 켜준건데, 얘를 찾아가서 설정하면 된다. 해당되는 위젯이나 오브젝트에 접근해 포커스 가능 여부가 꺼져있었을텐데, 이를 true로 바꿔주면 해결된다.

[Unreal5] UI 텍스트 박스 최대 글자 수 제한하기 (text box)

내가 생성한 텍스트 박스에 글자가 무한히 적히는 것 ,,, 그것은 아주 보기 싫다!!! 이를 해결해본다!! 텍스트 박스의 변수 여부를 켜주고 쭉 내려서 이벤트에서 텍스트 변경 시 오른쪽 버튼을 눌러준다. 왼쪽 노드가 생겼을텐데 위의 사진과 같이 노드를 만들어 이어준다. 왼쪽 부터 to string -> Len -> greater than (5를 적으면 4글자 까지만 적힌다) -> Branch -> Set 이고 set은 본인의 text box를 가져와 타깃에 이어주고 set text로 텍스트를 아래 to text 함수와 연결시켜주면 된다. 성공!

[Unreal5] UI 버튼 만들기, mesh 생성 버튼 만들기

보기좋게 UI 폴더를 따로 만들어주고 유저 인터페이스 > 위젯 블루프린트 > 사용자 위젯으로 만들어 이름은 원하는대로 설정해주자. 나는 Widget이라고 그냥 했다! 캔버스 패널 검색해서 좌측 아래 [Widget] 위에다가 끌어다 두면 된다 대충 이런식으로 왼쪽 위에 검색창에 버튼 검색해서 끌어넣고, 버튼에는 기본으로 텍스트가 안 붙어있으니 텍스트도 검색해서 버튼에 끌어넣어주고 필요한거 있으면 더 커스텀하면 된다 왼쪽 세로에 버튼 쭈루룩 놓고 싶어서 세로 박스로 묶어서 만들었을 뿐 크게 다른 내용 없다! (세로 박스는 세로로만 아이템들을 쭈루룩 배치할 수 있다) PCG를 이용한 부분에 UI를 적용하고 싶어 저런식으로 만들었다. 각자 알아서 만든 UI를 시작하면 등장하게 하자 (Custom Seed에 입력..

[Unreal5] 언리얼에서 PCG를 활용한 아파트 단지 만들기 -2

앞부분 못 보신 분들은 보고 오기 저거에 이어서 진행 https://dani2344.tistory.com/93 [Unreal5] 언리얼에서 PCG를 활용한 아파트 단지 만들기 -1 https://www.youtube.com/watch?v=Rknnu16mrOw 1시간 21분짜리 유튜브,,, 두 번 다시는 풀로 안들을거 같아서 정리하는 용도 위에 강의를 끝까지 따라해서 아래와 같은 결과를 얻었다 / 한국식으로 수정 언리얼 dani2344.tistory.com 우리는 아파트 단지를 만드는 것이 목적이지 아파트 한 채가 목적인 그런 소소한 사람들이 아니다! 점들을 그리드 형태로 만들어 그 점마다 아파트를 생성하는 식으로 만들 것이다. Create Points Grid를 만들어 Grid Extents를 (1000..

[Unreal5] 언리얼에서 PCG를 활용한 아파트 단지 만들기 -1

https://www.youtube.com/watch?v=Rknnu16mrOw 1시간 21분짜리 유튜브,,, 두 번 다시는 풀로 안들을거 같아서 정리하는 용도 위에 강의를 끝까지 따라해서 아래와 같은 결과를 얻었다 / 한국식으로 수정 언리얼에서 기본 제공되는 400 * 300짜리 벽 두개를 꺼내주고 모델링 모드의 XForm > Merge로 합쳐주자 합쳐진 애를 Mesh > Union으로 한 번 더 합쳐준다. 콘텐츠 브라우저에 Contents > _GENERATED > 유저이름 > 저장되어 있는 Combined 어쩌구를 이름을 보기쉽게 바꿔주고 폴더정리도 하자~ 블루프린트 클래스 > 액터로 하나 생성 이름은 BP_Buildings 이 친구는 어마무시한 기능을 하게 될 것이다... 추가로 PCG Graph도..

[Unreal5] density를 z 좌표로 나타내는 PCG Custom 노드 만들기

콘텐츠 브라우저 > 추가 > 블루프린트 > PCGBlueprintElement 추가 변수로 MaxHeight를 만들어서 눈표시로 켜주고 클래스 디폴트 버튼 눌러서 클래스 세팅을 위에처럼 해주자 이름은 다 마음대로 해도 된다. 잊지말고 디폴트 입력 핀, 출력 핀 끄자! 왼쪽에 Execute With Context 함수를 오버라이드하고 아래처럼 설정해주자. 여기서 Point Loop In Context는 Execute with Context의 In Context와 연결하면 된다! (빼먹음!) 이렇게 생긴 애가 나올텐데 (연결은 무시좀 귀찮아서 안지움) 이제 얘를 연결해주자. InPoint 친구랑 Break PCG Point 노드를 연결하자. Break PCG Point는 PCG Point를 Transform..

[Unreal5] 언리얼의 PCG로 정신없는 책상 의자 만들기 (술판)

지난번에 만들어두었던 마을의 귀퉁이에 주점같은 곳을 만들거다. 여유가 된다면 앞부분 내용 나중에 추가하겠다.... 으아 spline을 이용해 대충 구역을 지정해 둔 뒤, 디테일 창에서 닫힌 루프 true처리 해주자. + 태그 달아두기 그다음 pcg graph로 이어온다. get spline data에서 태그로 spline을 찾고 Spline Sampler에서 이를 받아와 적당한 배열과 크기로 지정해주자. 뒤쪽에서 겹치는 부분은 제거할거라 bound를 크게 잡았다. 근데 나무랑 뭐시기들 때문에 하나도 안보이니 이전에 만들어둔 Tree spawner와 Grass Spawner에서 Difference의 Differences로 연결해 없애주자 그냥 static mesh spawner로 이어주면 왼쪽처럼 너무 오..

[Unreal5] 언리얼의 C++을 유니티 관점으로 이해해보자

Actor 클래스를 상속하는 C++ 클래스를 생성 MyActor (기본이름)에 대한 헤더파일, Cpp 파일이 생성된다. (C++ 해봤으면 헤더파일 cpp파일은 알고있겠지) 헤더파일에 생성자, BeginPlay, Tick이 존재한다. 생성자는 클래스 이름과 같은 이름으로 써있으며, 클래스에 객체가 생성될 때 한번 호출, 주로 생성된 액터의 프로퍼티인 변수의 기본값을 설정할 때 이용. 유니티에서는 Start나 Awake랑 비슷한 개념으로 생각됨. BeginPlay(): 액터가 배치된 월드에서 게임이 시작되거나 액터가 월드에 스폰될 때 호출됨. 게임 플레이 로직의 초기화 등에 사용. 유니티에서의 OnEnable 함수와 비슷하다고 생각. Tick(float DeltaTime): 매 프레임마다 한번씩 호출, 유니..

728x90