MoonBug

고정 헤더 영역

글 제목

메뉴 레이어

MoonBug

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기
    • Portfolio
      • Toy Project
      • 쥐돌이볼링
    • Trip
    • Cooking
    • Game
    • Diary
      • 잡생각
    • C++
      • Baekjoon
      • Programmers
      • 개념공부
      • STL
    • Study
      • Linux
      • Graphics
      • UNREAL
      • Computer Network
      • 강화학습
      • Algorithm
      • OS

검색 레이어

MoonBug

검색 영역

컨텐츠 검색

Study/UNREAL

  • 언리얼 형변환(과 CPP 형변환 , Cast)

    2024.02.07 by J2on

  • 언리얼 프로퍼티 (리플렉션)

    2024.02.07 by J2on

  • [Unreal Engine 5 : C++] 캐릭터를 따라 회전하는 물체 만들기

    2024.02.06 by J2on

  • Unreal 소스 빌드 중 SetUp.bat에서 문제가 생긴다면

    2024.01.04 by J2on

  • [ProjectDoll : 미정] 개발일지 23/08/22 - Interactable Object의 상호작용

    2023.08.23 by J2on

  • [ProjectDoll : 미정] 개발일지 23/08/21 -PlayerBPM을 UI로 표출 & Interactionable Class

    2023.08.22 by J2on

  • [ProjectDoll : 미정] 개발일지 23/08/20 -Body Heaving(숨 헐떡거림) + PlayerState 개선

    2023.08.21 by J2on

  • [ProjectDoll : 미정] 개발일지 23/08/19 - 플레이어 심박수 및 Enum을 통한 Player State 설정

    2023.08.21 by J2on

언리얼 형변환(과 CPP 형변환 , Cast)

가끔 머리를 비우고 코드를 짜다가, 라이브코딩을 마친 후에 테스트를 하자마자 오류가 뜨고 터지는 경우가 있다. 이런 경우 클래스 간 형변환이 문제되는 적이 많았다. 먼저 C++의 형변환을 알아보자 int a = 3; float b = (float)a; // C에서 사용하던 형변환 float b = static_casta; // c++ 에서 사용하는 형변환 위처럼 변환할 자료형을 명시적으로 작성해주는 것이 명시적 형변환이다. 이렇게 자료형을 변환해주는 것을 형변환이라 한다. 이런 형변환을 언리얼에서도 꽤나 쓴다. // 현업에서는 모르지만 나는 자주 쓴다. 어떠한 액터를 부모클래스 형식으로 받아오고, 함수 구현에서 특정 자식클래스로 변환하는 경우가 대부분이다. AMyCharacter* MyCharacter ..

Study/UNREAL 2024. 2. 7. 18:34

언리얼 프로퍼티 (리플렉션)

리플렉션 - 프로그램이 실행시간동안 자기 자신을 조사하는 기능 클래스, 함수, 멤버 변수, Enum타입을 확인하고 정보 수집 / 질의를 통해 조사한다. (데이터 직렬화나 가비지 컬렉션에서도 사용되는 기술) C++는 리플렉션 기술을 지원하지 않으나, 언리얼이 자체적으로 지원한다. 이것이 언리얼 프로퍼티 시스템이다. #include "~~~~~.generated.h" 를 통해 리플렉션이 이 파일을 포함해야 한다고 선언 UFUNCTION UPROPERTY UCLASS UENUM USTRICT 이런 매크로를 추가하여 언리얼 프로퍼티 시스템이 해당 (변수 함수 Enum 등)을 인식하게 한다. UPROPERTY(EditDefaultsOnly, Category=Pawn) 블루프린트에서 어떻게 접근할 수 있는지, Ca..

Study/UNREAL 2024. 2. 7. 01:44

[Unreal Engine 5 : C++] 캐릭터를 따라 회전하는 물체 만들기

언리얼에서 캐릭터나 액터의 움직임을 따라 회전하는 물체를 만들어봅시다. 저는 주인공을 따라 움직이는, 캐릭터만 바라보는 눈알을 만들어 보겠습니다. 기본적으로 Rotation은 벡터를 기반으로 만들어집니다. 플레이어를 바라보는 벡터가 필요한데, 이것은 (플레이어 위치 - 눈알의 위치) 를 통해 구할 수 있습니다. 위의 그림처럼 생각해보면 되겠죠? 위에서 본다면 이런 느낌으로 벡터가 생깁니다. 이렇게 생성한 vector를 FRotator로 변환한 후에, 회전하고 싶은 component에 rotation으로 적용시켜 주시면 됩니다. 코드로 표현하면 아래와 같습니다. void ASuspiciousPicture::RotateEye() { //플레이어 위치를 받아오기 FVector PlayerLocation = P..

Study/UNREAL 2024. 2. 6. 23:57

Unreal 소스 빌드 중 SetUp.bat에서 문제가 생긴다면

언리얼 소스 빌드 중 SetUp.bat을 실행할 때 오류가 발생하는 경우가 있다. Checking dependencies... Updating dependencies: 0% (0/97340)... Failed to download 'http://cdn.unrealengine.com/dependencies/UnrealEngine-11447123-52802068b7db445d94de6cd13d574a02/00ba053f58ab8d00cf41519fd27d8059d397a4fb': InvalidDataException: The archive entry was compressed using an unsupported compression method. at System.IO.Compression.Inflater..

Study/UNREAL 2024. 1. 4. 01:38

[ProjectDoll : 미정] 개발일지 23/08/22 - Interactable Object의 상호작용

오늘의 개발 Interactable Object를 플레리어의 Socket(StaticMeshComponent)으로 이동. ‘X’ 버튼이 눌린지 2초가 넘게 지난 경우에 Player의 소켓으로 Object를 이동. 그런데 Object가 Socket으로 왔을 때 Collision이 생기는 것 같았다. 그래서 PlayerDoll에 Socket과 Interactable object의 Collision을 NoCollision으로 설정 그리고 GPT가 잘못알려줬었는데… InGame에서는 Tick함수를 끄는 것이 불가능하다. 때문에 Tick함수 내부 동작은 Player에게 종속되었는지에 따라 판단되므로 bool형의 IsPlayerOwned 변수를 설정하여 Player가 획득했을때 Tick내부 함수가 동작하지 않도록 ..

Study/UNREAL 2023. 8. 23. 02:35

[ProjectDoll : 미정] 개발일지 23/08/21 -PlayerBPM을 UI로 표출 & Interactionable Class

오늘의 개발 플레이어의 BPM을 UI로 표출시키기 구조 또 다른 오늘의 개발 Interactable한 object 만들기. 사실 Object와 Player간의 interaction을 어떻게 구현할지 고민을 했다. 이 3가지 경우에 대해 고민했고, 일단은 1번으로 결정했다. 1번 구현 방식은 Player Controller에서 ViewPort의 크기를 받아오고, Actor의 WorldSpace 좌표를 ScreenSpace 좌표로 변환. 이 Screen Space 좌표가 0 < X좌표 < 뷰포트 X축 크기 0 < Y좌표 < 뷰포트 Y축 크기 에 속하는지 확인해주면 된다. 우려점. 이렇게 개발을 한다면 각 object마다 Tick()함수를 사용해야 할 것인데,,,, 오브젝트가 여러 개로 늘어난다면 Overhe..

Study/UNREAL 2023. 8. 22. 01:19

[ProjectDoll : 미정] 개발일지 23/08/20 -Body Heaving(숨 헐떡거림) + PlayerState 개선

오늘의 개발 Player의 BPM에 따라 숨이 찬 것처럼 몸이 헐떡거리는 Body Heaving을 구현. + Player State 알고리즘 변경 겪었던 문제 이동 시에 Scene에서 보여지는 차이가 없다. 이동 중에는 MoveForward 함수나 MoveRight 함수에서 SpringArm의 Location을 조절하기 때문에 적용이 안되는 것으로 생각하여 위 두 함수에도 BodyHeaving() 함수를 포함시켜 보았다. → 이 경우 SpringArm의 Z값은 잘 변화하지만 플레이 화면에서 차이를 느끼기 힘들었다. 추측하건데 아마 위 그림처럼 Pawn이 이동하면서 서서히 올라가서 플레이 화면에서 차이를 느끼기 어려울 수 있다는 생각이 들었다. 그리고 이 생각이 맞았다! 플레이어의 이동속도를 늦추니 Spr..

Study/UNREAL 2023. 8. 21. 01:53

[ProjectDoll : 미정] 개발일지 23/08/19 - 플레이어 심박수 및 Enum을 통한 Player State 설정

플레이어 심박수 멈춰있을 때 70~80 사이 BPM ( 그 이상인 경우 5~7 정도 떨어짐 ) 적은 플레이어의 심박수가 80 BPM 이상인 경우에만 플레이어 추격이 가능 걸을 때 80~100 사이 BPM ( 그 이상인 경우 2~4 정도 떨어짐 ) 뛸 때 100~180 BPM 적은 플레이어 심박수가 120 BPM 이상일 때 뛰어서 추격함. 숨 참을때 80BPM 이상일 때 10씩 감소하도록. 위 내용은 모두 1초 마다 이루어짐. 코드 구조 결과 영상 https://quilt-knight-fc6.notion.site/23-08-19-Enum-Player-State-86db3c83bcf643ec8b973d5efa3d1e69?pvs=4 23/08/19 - 플레이어 심박수 및 Enum을 통한 Player State..

Study/UNREAL 2023. 8. 21. 01:50

추가 정보

인기글

최신글

페이징

이전
1 2 3
다음
TISTORY
MoonBug © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바