프로그래밍/UE4, 512 [UE5] cpp에서 디버깅 하기 (UE_LOG) cpp에서 UE_LOG를 이용해 로그를 남겨 디버깅이 가능하다. 예를 들어 이런 코드를 비긴플레이 함수에 작성하고 빌드해주고 하단에 로그창을 눌러 확인해주면 이렇게 나온다! 아래처럼 작성하면 변수 값을 출력할 수도 있다. C문법이넹ㅋㅋㅋ 문자열을 출력할때에는 앞에 포인터를 붙여야한다. 정확한 이유는 모르지만 아무래도 문자열을 출력하려면 받는 포맷이 배열의 주소값을 받아 출력되는 형식으로 되어있는듯? 그러니 포인터 형으로 받는게 아닐까 싶다. 암튼 이런 문자열 출력을 이용해 동적으로 액터의 이름을 출력한다거나 액터의 어떠한 정보를 출력하는 용으로 디버깅이 가능하다. (사소한 팁) Visual Studio에서 스크립트를 작성한 후 Alt+B+B를 누르면 바로 빌드되면서 엔진에도 내용이 적용된다! 2023. 5. 12. [UE5] 방만들기 이번엔 Geometry Brush를 이용해 방을 만들어 보자! 빈 레벨에 지오매트리 브러쉬 액터 박스를 끌어다 놓고 디테일창에서 필요한 크기로 지정한다. 우측 아웃라인에서 F2를 통해 이름을 원하는대로 변경 후 복붙한 뒤, 사이즈를 수정해준다. 나는 처음 넣었던 박스의 크기를 200씩 늘려주고, 더 작은 사이즈의 브러쉬를 클릭해 디테일창에서 브러쉬 타입을 Subtractive로 수정하면 아래처럼 방이 만들어진다. 브러쉬 타입을 Subtractive 으로 수정하면, 그만큼의 공간을 비워주기때문이다. 같은 방법으로 창문까지 뚫어줄 수 있고, 이 방의 크기가 적절한지를 알고싶다면 아무 구조물을 배치해서 사이즈를 비교해보면된다. 창문까지 뚫어줬으면 각 벽면에 머티리얼을 적용해주면 된다. 굿~ 2023. 5. 10. [UE5] 발사체 생성하기 발사체를 생성하려면 우선 특정 이벤트마다 액터를 생성하는 방법을 알아야한다. 레벨 블루프린트에서 액터를 스폰할 수 있는 함수를 이용해 객체를 생성해보자. 스페이스바 입력이 있을 때 마다 정한 클래스로 액터를 스폰해주게 설정했다. 참고로 스폰액터 함수는 원래 아래 이렇게 생겼는데 트랜스폼 핀에 우클릭해 분리할 수 있다. (위에는 분리된 모습임) 아무튼 위에처럼 설정하고 실행시킨 후 스페이스바를 실컷 눌러보면 아래처럼 된다. 통통 튀는것처럼 되는 이유는 X, Y, Z 축이 모두 고정되어있는데, 그 위치에 뭐가 이미 있어서 밀어내느라 위로 튀어오르는 것이다. 암튼 이 기능을 이용해서, 스페이스바 입력이 있을 때 마다 튀어 오르는 발사체(객체)를 생성하려면 이전 게시글에서 설정했던 Add Impulse 기능을 .. 2023. 5. 9. [UE5] 클래스 생성하기 언리얼 엔진에서는 배치한 액터 하나를 하나의 객체로 보고, 이들을 정의하는 큰 틀(?)인 클래스를 만들어서 사용할 수 있다. 구 모양의 매시를 가지는 클래스를 만들어보자. 일단 이렇게 스피어 쉐입을 뷰포트에 한개 추가해준다. 추가한 객체를 클릭한 뒤 이 버튼을 눌러준다. 그럼 이런 창이 뜨는데, 이름쓰는곳!에 원하는 이름을 쓰고, 그 아래 저장할 경로를 지정하면 된다. 참고로 한글이나 웬만한 특수문자는 안되는 것 같다. 보통 블루프린트를 생성할때 네이밍 규칙이 있는데, BP_ 를 접두사로 붙인다고 한다. 원하는 경로에 생성해주면 아래와 같이 지정한 매쉬대로 썸네일(?)이 나오며 확인이 가능해진다. 이 블루프린트를 더블클릭해 들어간 뒤 컴포넌트에서 매쉬를 클릭해 물리학 적용이 가능하며, 머티리얼을 설정할 .. 2023. 5. 9. [UE5] 물리학 적용하기 기본 프로젝트 생성 후 물리학 적용에 대해 공부 원하는 액터를 선택한 후 디테일 창에서 Physics(물리학) 탭에 있는 Simulate Physics를 체크하면 물리학 적용이 된다. Mass는 무게를 지정해줄 수 있으며, 무게가 높을수록 그에 맞게 튕기거나 움직인다. Enable Gravity는 말 그대로 중력을 적용할 것인지를 체크하는 것인데, 의자의 중력적용을 해제한 상태이다. 아래는 큐브, 의자, 램프, 테이블에 물리적용을 한 후 실행한 결과이다. 다음은 레벨 블루프린트에 기능을 추가한 내용이다. 스페이스 바를 누르면 점프하는 것 처럼 작동되게 노드를 추가했다. Add Impulse 함수는 순간적으로 어떤 힘이 작용하는 기능을 하는 함수라고 한다. 이를 통해 z축을 조절해주면 점프하는 효과를 낼 .. 2023. 5. 9. [UE5] C++ 사용하기 비주얼 스튜디오2022에서 언리얼 엔진 매크로 제너레이터를 사용할 수 있게 하는 프로그램이다. UPROPERTY(EditAnywhere) int a = 10; 기본값 세팅 (개별로 수정 가능) UPROPERTY(EditDefaultsOnly) int b = 20; 기본값 세팅 (모든 객체에 값이 공통으로 들어가야할 때) ㄴ 배치된 상태에서는 수정이 불가능하다. UPROPERTY(EditInstanceOnly) int c = 30; 기본값 필요 없고 개별로 값 설정이 필요할때 UPROPERTY(VisibleAnywhere) int Test = 20; 값을 확인할 수 있으나 수정은 불가 이런식으로 다르게 노출된다. UPROPERTY(BlueprintReadOnly, VisibleAnywhere) int Te.. 2023. 4. 25. 이전 1 2 다음