본문 바로가기
반응형

개발/Unreal22

언리얼 5 BP - 현재 시간 형식에 맞춰서 출력하기 (Get Current Time and Date with String Format) Unreal 5 전체 링크 블루프린트를 이용해서 현재 시간을 출력해보자. 현재 시간 가져오기 빈 액터를 만들고 Input 이벤트를 입력받도록 아래와 같이 설정한다. 여기서는 T 키를 누를 때 현재 시간이 출력되도록 해보자. 현재 시간은 now로 얻을 수 있다. 그리고 Break Data Time 노드를 연결하면 Year ~ Millisecond까지 출력할 수 있다. Hour:Minute:Second 형식으로 출력하기 위해 덧붙이기(스트링)을 추가하자. 아래와 같이 A ~ E 핀을 만들어서 연결하면 된다. 게임을 실행하고 T 키를 누르면 현재 시간이 출력된다. 출력 형식 변경하기 시간은 보통 00:00:00으로 표시하는 것이 보기에 좋다. 위 예제에서는 2초인 경우 02가 아니라 2로 표시되고 있다. To.. 2023. 7. 8.
언리얼 5 BP - C++로 스태틱 함수를 만들어서 블루프린트에 사용하기 (Create C++ Static Function and Access From Blueprint) Unreal 5 전체 링크 아래와 같이 정수를 더하는 함수가 있다고 가정하자. int MyAdd(int a, int b) { return a + b; } 블루프린트로 나타내면 아래와 같을 것이다. 만약 개발을 하다가 아래와 같은 복잡한 계산이 필요하다고 가정하자. int MyCalculate(int a, int b) { return a * b + b * 2 + a / b - 3 * a; } 함수로 표현하면 간단하지만, 노드로 표현하면 보기도 힘들고, 검증하기도 힘들다. 이런 경우는 스태틱 함수를 만들어서 블루프린트 내에 언제 어디서든 사용하게 만드는 것이 좋다. C++에서 정적 함수를 만들면 인스턴스를 생성하지 않고 클래스 이름으로만 접근이 가능하다. 수학이나 계산과 관련된 함수는 static으로 만들어.. 2023. 6. 19.
언리얼 5 - 엔진 내부 소스 확인 방법 (Fine Unreal Engine Source Code) Unreal 5 전체 링크 UGameplayStatics는 게임 플레이와 관련된 정적(static) 함수를 관리한다. https://docs.unrealengine.com/5.2/en-US/API/Runtime/Engine/Kismet/UGameplayStatics/ UGameplayStatics Static class with useful gameplay utility functions that can be called from both Blueprint and C++ docs.unrealengine.com 하지만 위의 경우는 UGameplayStatics에 대한 설명서이고, 실제 코드를 보고 싶을 때가 있다. 아래 경로를 따라 엔진이 설치된 곳으로 이동해보자. C:\Program Files\Epic .. 2023. 6. 19.
언리얼 5 BP - 타임라인을 이용해 변수를 부드럽게 전환하기 (Change Value with Timeline) Unreal 5 전체 링크 참고 - 키보드를 누르는 동안 이벤트 유지하기 기본 예제에 달리기 효과를 추가해보자. 링크를 참고하여 Shift 키 이벤트를 추가하자. 액션 매핑 아래에 달리기를 추가하였다. 캐릭터 무브먼트의 걷기 탭을 보면 최대 걷기 속도가 있다. 이 값을 Shift를 누르고 있는 동안 크게 바꾸면 달리는 효과가 생긴다. 블루프린트 이벤트그래프에 캐릭터 무브먼트 노드를 만들어 Set Max Walk Speed를 추가한다. Pressed를 누르면 1500이 되도록 하고, Released가 되면 원래 속도인 600이 되도록 아래와 같이 노드를 연결한다. 속도가 빨라지긴 했지만, 600 → 1500으로 속도가 바로 적용되기 때문에 부자연스럽다. 타임라인 적용하기 값을 서서히 바꿀 때는 타임라인을 .. 2023. 6. 14.
언리얼 5 BP - 키보드를 누르는 동안 이벤트 유지하기 (Input Axis Mapping) Unreal 5 전체 링크 키보드를 누르면 큐브가 움직이는 블루프린트를 만들어보자. 먼저 큐브를 레벨에 생성한다. 만들어진 큐브를 선택하고 추가 버튼 옆의 블루프린트 생성을 누른다. 에디터에서 스태틱 메시 컴포넌트를 선택한 후, 무버블로 변경한다. 키보드 Input을 받기 위해 아래와 같이 Enable Input 노드를 생성하고 Get Player Controller 노드를 연결한다. 그리고 Speed (float), Direction (Vector) 변수를 추가한다. 컴파일을 하면 기본값을 설정할 수 있다. (Speed = 10, Direction = 1, 0, 0) Speed 노드에서 * 을 검색해 곱하기 함수를 추가한다. 그리고 핀 변환으로 Direction을 연결하도록 한다. 이제 Add Acto.. 2023. 6. 12.
언리얼 5 BP - 현재 누르고 있는 키 출력하기 (Print Pressed Key in Blueprint) Unreal 5 전체 링크 디버깅을 위해 현재 누르고 있는 키를 출력하도록 블루프린트를 만들어보자. 이 글에서는 BP_ThirdPersonCharacter의 블루프린트를 수정하였다. BP_ThirdPersonCharacter의 이벤트그래프에는 언리얼이 제공하는 BP가 있다. 빈 공간에 Print String과 아무 키(Any Key) 이벤트를 추가하자. 그리고 아무 키의 Key 노드에서 Get Key Display Name → Print String의 In String에 연결한다. 다른 이벤트와 구분하기 위해 주석도 추가하였다. 이제 캐릭터를 움직이거나 마우스를 클릭해보자. 뷰포트 아래에 로그가 나타나는 것을 알 수 있다. 2023. 6. 10.
언리얼 5 BP - 뷰포트 출력 로그 폰트 크기 변경하기 (Change Print String Font Size) Unreal 5 전체 링크 아무 블루 프린트에 아래와 같이 노드를 만들어 아무 키나 눌렀을 때 Hello가 출력되도록 하자. 아래와 같이 어떤 키를 누르더라도 Hello가 출력된다. 이 출력 로그의 폰트 사이즈를 크게 만들어보자. 먼저 아래 링크에서 폰트를 다운로드 받는다. https://fonts.google.com/specimen/Roboto 원하는 폰트가 있다면 해당 ttf 파일을 사용하면 된다. 여기서는 아래의 ttf를 사용하였다. 다운로드 받은 폰트를 프로젝트 폴더에 드래그해서 옮긴 후, 임포트하면 된다. [편집] → [프로젝트 세팅...] 으로 이동하자. [엔진] → [일반 세팅] → [폰트] 에서 작은 폰트의 없음을 클릭해서 다운로드 받은 폰트를 적용시키자. 이제 적용된 폰트의 썸네일을 더블.. 2023. 6. 10.
언리얼 5 BP - 컨스트럭션 스크립트로 블루프린트 클래스 인스턴스 초기화하기 (Initialize Instance with Construction Script) Unreal 5 전체 링크 참고 - 트리거로 스포트 라이트 제어하기 with 클래스 블루프린트 클래스 블루프린트를 이용하면 같은 동작을 하는 여러 개의 액터를 쉽게 다룰 수 있다. 여기에서 컨스트럭션 스크립트(Construction Script)를 이용하면 각각 인스턴스의 초기화가 가능하다. 위의 스포트 라이트의 색상을 모두 바꿔보자. 컨스트럭션 스크립트 블루프린트 에디터에서 Construction Script 탭을 클릭한다. 스포트 라이트의 색상을 바꾸기 위해 스포트 라이트를 드래그하고 Set Light Color 노드를 생성한다. New Light Color 노드를 드래그해서 변수로 승격한다. 승격된 변수는 내 블루프린트에서 확인할 수 있다. 이름을 MyLightColor로 변경하고 눈 모양 표시를 .. 2023. 6. 9.
언리얼 5 BP - 트리거로 스포트 라이트 제어하기 with 클래스 블루프린트 (Control Spot Light with Class Blueprint) Unreal 5 전체 링크 참고 - 트리거로 스포트 라이트 제어하기 with 레벨 블루프린트 레벨 블루프린트는 해당 레벨에서만 사용된다. 위의 링크에서 만든 스포트 라이트가 해당 레벨에서만 사용된다면, 레벨 블루프린트로 충분하지만, 만약 다른 레벨에서도 쓰이거나, 또는 해당 레벨에서 다른 스포트 라이트가 여러 개 사용된다면, 매번 아래의 노드를 라이트마다 만들어야 한다. 블루프린트 클래스 생성 블루프린트를 저장할 폴더를 만든다. 그리고 추가 버튼을 눌러 블루프린트 클래스를 선택하자. 부모 클래스로 액터를 선택한다. 이름은 원하는대로 변경하고 더블 클릭해서 블루프린트를 편집하자. 컴포넌트 탭 아래의 추가 버튼에서 스포트 라이트와 Sphere Collision을 추가한다. + 스포트 라이트 컴포넌트 + Sh.. 2023. 6. 7.
반응형