Unreal24 [Unreal] Bone, Socket 언리얼 엔진에서 **Bone(본)**과 **Socket(소켓)**은 둘 다 캐릭터나 오브젝트의 애니메이션 및 트랜스폼 관리에 사용되지만, 그들의 용도와 목적은 약간 다릅니다. 각각을 자세히 설명하겠습니다. 1. Bone (본)본은 주로 스켈레탈 메시(Skeletal Mesh)와 관련된 개념입니다. 본은 애니메이션에서 메쉬를 움직이게 하는 뼈대의 구조를 형성하는 요소입니다. 캐릭터의 스켈레탈 메시에는 여러 개의 본이 있으며, 각 본은 메쉬의 특정 부분을 움직이거나 회전시킵니다.역할: 캐릭터나 스켈레탈 메쉬의 움직임을 제어합니다. 본은 계층적(hierarchical) 구조로 되어 있으며, 부모 본이 움직이면 자식 본도 함께 움직입니다. 예를 들어, 팔의 상위 본이 움직이면 팔 전체가 움직이는 방식입니다.애니.. 2024. 10. 15. FRunnable Class FRunnable 클래스란?언리얼 엔진에서 FRunnable 클래스는 멀티스레딩을 구현할 때 사용되는 중요한 클래스쉽게 말해, 프로그램이 여러 작업을 동시에 처리하도록 도와주는 도구 중 하나멀티스레딩이란?멀티스레딩은 여러 작업을 동시에 실행할 수 있게 하는 기술예를 들어, 게임에서 캐릭터가 움직이는 동안 다른 작업(예: 배경 로딩, AI 계산 등)을 동시에 처리해야 할 때 멀티스레딩을 사용FRunnable 클래스의 역할FRunnable 클래스는 멀티스레딩에서 각각의 스레드가 해야 할 작업을 정의하는 데 사용됨즉, 이 클래스는 스레드가 어떤 일을 해야 하는지, 언제 일을 시작하고 끝내는지를 결정하는 구조를 제공합니다.주요 함수Init(): 스레드가 시작되기 전에 호출되는 함수. 리소스를 준비하거나 초기화를.. 2024. 10. 2. Event Dispatcher은 꼭 써야 할 때 쓰자(Delegate) 상황CMS 할 때 WidgetBP의 버튼을 클릭하면 Call 하는 event dispatcher를쓰고 , player controller의 begin play에서 버튼 바인딩을 한번 한다음에 custom event를 만들어서 기능을 바인딩을 해주었다 이렇게 하면 뭐가 문제가 되냐면, 동그라미 친 Call On Finish Button Clicked라는 이벤트디스페처를 더블클릭했을 때, 함수 안으로 들어가지도 않고 안눌러져서 디버깅이 어렵고, Find Reference를 눌러야만 알 수 있다는 것. 또 이벤트 디스패처는 여러곳에서 Binding 할 수 있기 때문에 디버깅이 특히 어렵다. Bind 되는 게 다 잡히니까! 그럼 어떻게 하는게 정석이냐 하면 (캐스팅해서) 함수를 불러주자. 함수든 이.. 2024. 8. 20. [Unreal] Multiplayer Game Study Introduction멀티플레이어 환경에서 GameMode는 서버에 한개! 우선 멀티플레이 세팅으로 바꿔보자 이제 클라이언트가 서버에 접속하면 HUD가 만들어지는 기능을 구현하고 싶다.우선 새로운 PlayerController 클래스를 만들어서 그 곳에 기능을 넣어주자. 게임모드 클래스에 가서 새로 만들어준 player controller class를 넣어주고 ThirdPersonGameMode의 블루프린트 창에 들어가 Event OnPostLogin을 구현해준다. 이제 플레이어가 JumpBoost를 먹는 것을 구현해보자BP_JumpBoost로 들어가서 Replicates에 체크 이때 다음과 같은 에러가 나타나는데 원인은 일반 액터에서 게임모드를 바로 호출해서 부르려고 하기 때문임하지만 게.. 2024. 7. 4. [Unreal] 부모 객체의 스케일 변경이 자식 객체의 위치에 영향을 준다 이슈: 부모 객체의 스케일 변경이 자식 객체의 위치에 영향을 줄 수 있음해결 방법: 상위 부모를 따로 만들고 관련된 자식들을 따로 빼거나, 아예 자식에서 빼서 작업하거나 알아서 생각해서 하기 - 트랜스폼 계층 구조자식 객체는 부모 객체의 로컬 좌표계를 기준으로 자신의 트랜스폼을 계산하도록 함 - 로컬 좌표계와 월드 좌표계로컬 좌표계: 자식 객체는 부모 객체의 좌표계를 기준으로 자신의 위치, 회전, 스케일을 정의월드 좌표계: 최종적으로 렌더링되는 위치는 로컬 좌표계를 통해 월드 좌표계로 변환됨부모 객체의 스케일이 변경되면, 자식 객체의 로컬 좌표도 그에 따라 변환됨 - 스케일 변환의 영향부모 객체의 스케일이 변경되면, 자식 객체의 위치는 부모 객체의 스케일을 곱한 값으로 변환됨 ex.원래 부모 객체의 .. 2024. 6. 7. [Unreal] Custom Event vs Create Event Custom Event정적 이벤트: Custom Event는 블루프린트 내에서 고정된(정적) 이벤트입니다. 특정 상황에서 트리거되도록 설정할 수 있으며, 블루프린트 안에서 다른 노드들과 연결되어 있을 때 주로 사용됩니다.직접 호출: 특정 작업을 수행하기 위해 직접 호출할 수 있습니다.간단한 사용: 기본적인 이벤트 바인딩 및 실행에 사용됩니다.Create Event동적 이벤트: Create Event는 런타임 중에 동적으로 이벤트를 생성하여 바인딩할 때 사용됩니다. 이 방법은 이벤트를 더욱 유연하게 관리할 수 있게 합니다.컨텍스트 바인딩: 특정 객체나 컨텍스트에 따라 이벤트를 바인딩할 수 있습니다.멀티캐스트 지원: 다수의 이벤트 핸들러를 동적으로 바인딩하고 관리할 수 있습니다. 기능 차이고정된 이벤트 vs.. 2024. 6. 5. 이전 1 2 3 4 다음