건전한 건전지
반응형
article thumbnail
[UE5] 언리얼엔진 하위 위젯에서 부모 위젯 참조하는 방법 /C++
Unreal 2024. 3. 11. 02:54

구조는 이렇게 돼있다. ParentWidget ㄴ CanvasPanel ㄴButtonPanel ㄴChildWidget ChildWidget에서 ParentWidget를 참조하고 싶었음. 방법은 auto Widget = Cast(GetOuter()->GetOuter()); GetOuter를 2번 불러주면 된다 참고자료 : https://forums.unrealengine.com/t/get-parent-userwidget-of-widget/476221

article thumbnail
[UE5/언리얼엔진5] 벡터의 뺄셈과 덧셈 / 액터의 바닥 위치 구하기
Unreal/Debug 2024. 2. 29. 16:44

아............................................. 하얀 원의 중심은 Cube의 중심과 일치한다. 원래 하고 싶었던 것은 큐브의 바닥 위치를 알아내는 것이다. 해당 위치를 구하려면 큐브의 중심위치에서 큐브 크기의 반 만큼 아래로 이동해주면 된다. = 하얀 원의 중심 - 큐브 크기 / 2 그렇다면 큐브의 위치와 크기는 어떻게 구하는가? Cube 컴포넌트의 Bounds값을 가져오면 된다. Origin : 큐브 컴포넌트의 World Location Box Extent : 큐브 컴포넌트의 크기 Vector 그렇다면 Origin - (Box Extent.Z / 2)을 해주면 되겠지? 블루프린트는 위에 말한 논리의 흐름대로 짰다. 사진에서 볼 수 있다시피 X,Y,Z 전체에서 50을 ..

article thumbnail
[UE5/언리얼엔진5] Chaos Destruction Exporting geometry with too many verticies 경고
Unreal 2024. 2. 22. 17:39

기본 스태틱 메시를 레벨에 배치하였을때는 경고가 뜨지 않는데 스태틱 메시로 만든 Geometry Collection (Chaos Destruction)을 레벨에 배치하면 버텍스가 너무 많다고 경고가 떴다. 정확한 해결 방법인지는 모르겠으나 일단 방법을 찾았다. 보면 버텍스가 50만개로 상당히 많은 것을 볼 수 있다. 우선 디테일 패널에서 Reduction setting에 들어가 트라이앵글을 낮춰준다. 10으로 낮춰주고 변경내용 적용을 누르면 버텍스와 트라이앵글이 1/10으로 줄어든 것을 볼 수 있다. 이대로 바로 지오메트리 컬렉션을 만드는 것이 아니라 버텍스를 줄인 스태틱 메시를 익스포트 후 바로 임포트 해주면 버텍스가 그대로고 위에서 낮췄던 퍼센트 트라이앵글도 100인 것을 알 수 있다. 이제 해당 스..

article thumbnail
[UE5/언리얼엔진5] Chaos Destruction 튜토리얼 / Chaos Destruction 물체 자동으로 그냥 깨짐 / 카오스 디스트럭션
Unreal 2024. 2. 15. 15:46

Chaos Destruction에 대한 간단한 튜토리얼을 작성하고 제가 겪은 버그에 대해 공유하려고 합니다. 틀린 점이 있다면 댓글로 가르침을 전수해주세요 디스트럭션 퀵스타트 언리얼 엔진 디스트럭션 시스템 퀵스타트 가이드 docs.unrealengine.com 한글로 된 튜토리얼도 있어서 먼저 보고 오면 더 수월할 것 같습니다. 사용법 1. 부서짐 효과를 주고 싶은 메시를 레벨에 불러온다. 2. 프랙쳐모드로 들어간다. (Shift + 6) 3. 생성탭의 신규를 눌러 Geometry Collection을 생성해주자 생성을 하면 아래 사진처럼 바뀌는데 이제 물체를 원하는 모양 or 랜덤으로 조각낼 수 있는 준비가 된 것이다. 이제 프랙쳐 탭에서 원하는 것을 선택하면 되는데 일반적으로 사용하는 균등(Unifo..

[UE5/언리얼엔진5] TSubClassOf, TSoftClassPtr 캐스팅 방법
Unreal 2024. 1. 24. 20:10

ItemSpawner.hUPROPERTY(EditDefaultsOnly)TSubClassOf Item; 과 같이 선언해주고 블루프린트에서 AItemClass를 매핑시켜준 다음 해당 클래스의 멤버 변수를 사용하고 싶었다. 내 생각에는 AItemClass를 담고 있으니까 매핑 후 Item에 그냥 접근해서 사용하면 될 줄 알았는데 문제가 발생했다.만약 AItemClass에 있는 public 변수인 ItemName을 받아오고 싶다면 ItemSpawner.cppBeginPlay(){ FString = Item->ItemName; -> 아예 접근이 안됨} 처럼은 접근이 아예 안됐다. 그래서 AItemClass로 캐스팅을 해서 사용을 해보려고 했는데 ItemSpawner.cppBeginPlay(){ FString =..

[Programmers/Level2] 프로그래머스 - 리코쳇 로봇 [C++ 풀이]
Algorithm 2024. 1. 20. 17:44

https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 리코쳇 로봇이라는 보드게임이 있습니다. 이 보드게임은 격자모양 게임판 위에서 말을 움직이는 게임으로, 시작 위치에서 목표 위치까지 최소 몇 번만에 도달할 수 있는지 말하는 게임입니다. 이 게임에서 말의 움직임은 상, 하, 좌, 우 4방향 중 하나를 선택해서 게임판 위의 장애물이나 맨 끝에 부딪힐 때까지 미끄러져 이동하는 것을 한 번의 이동으로 칩니다. 다음은 보드게임판을 나타낸 예시입니다. ....

[BOJ/CPP] 아카라카 - 23304번 / C++ 풀이
Algorithm 2023. 12. 8. 15:26

https://www.acmicpc.net/problem/23304 23304번: 아카라카 주어진 문자열 $S$가 아카라카 팰린드롬이라면, AKARAKA를 출력한다. 만약 그렇지 않다면, IPSELENTI를 출력한다. www.acmicpc.net 팰린드롬 판정 문제이다. 재귀를 사용하여 문자열을 계속 반으로 나누고 길이가 1이 될 때까지 혹은 팰린드롬이 아닐 때까지 판정하면 된다. 일반적인 팰린드롬이랑은 다르게 반으로 나눈 문자열도 팰린드롬인지 확인해야한다. 짝수일 경우 aaabbaaa -> 처음 aaab baaa -> 나누어짐 aa ab ba aa -> 또 나누어짐 a a a b b a a a -> 또 나누어짐 홀수일 경우 acabaca -> 처음 aca aca -> b는 빼고 나누어짐 a a a a-..