분류 전체보기 269

언리얼엔진4 C++ 강좌 16 [쥐를잡자 찍찍찍-09] 소리 넣고 최종 완성

소리를 넣고 이제 마무리 합니다. MC는 "한마리", "두마리", "세마리" ... "아홉마리" 까지 소리를 내고, 플레이어는 "잡았다", "놓쳤다", "만세" 라고 소리를 냅니다. 소리를 2가지 방법으로 내봅니다. 플레이어는 각 플레이어마다 소리를 다르게 내야 하기 때문에 5명의 플레이어가 각 플레이어마다 에디터에서 각 잡았다 놓쳤다 만세 마다 어떤 소리를 낼 지 설정할 수 있도록 했고, MC는 한 명 밖에 없기 때문에 그냥 프로젝트에서 소리를 찾아 바로 재생을 해 봅니다. https://youtu.be/ers0DW-IDgE

언리얼엔진4 C++ 강좌 15 [쥐를잡자 찍찍찍-08] 완성하기

플레이어를 5명으로 늘립니다. 각각의 플레이어들을 MC가 알도록 하기 위해 나머지 4명의 플레이어도 UPROPERTY를 이용해 에디터에서 선택할 수 잇도록 해줬습니다. 그리고 쥐를 전부 다 잡은 경우 만세하기 전에 약간의 시간을 둔 후에 만세를 하도록 수정했습니다. 이것으로 쥐를 잡자 찍찍찍의 전체 흐름 코딩은 완성했습니다. https://youtu.be/3D91Jl7Pl-k

언리얼엔진4 C++ 강좌 14 [쥐를잡자 찍찍찍-07] 잡았다 놓쳤다 선택하면 이벤트 발생시키기

플레이어가 자기 순서가 되어 잡았다 혹은 놓쳤다를 선택하면 그 결과를 MC에게 알려줘야 합니다. 이 방법으로 우리는 MC에게 직접 알려주지 않고 이벤트를 발생시킵니다. MC에게 직접 알려주려면 Player 액터가 MC를 알아야 하기 때문에 그런 설계상의 문제를 만들지 않기 위해 이벤트를 발생시킵니다. MC에서는 아래와 같이 player에서 발생하는 이벤트를 받게 됩니다. player0->OnDecided().AddUObject(this, &AMC::OnPlayerDecidedEvent); https://youtu.be/PFiPzeiz5qc

언리얼엔진4 C++ 강좌 11 [쥐를잡자 찍찍찍-04] 포즈없애고 포즈잡기

모든 포즈를 없애는 removeAllPose() 함수를 만듭니다. 그리고 nPose의 값이 0이면 잡았다, 1이면 놓쳤다. 2면 만세 포즈를 취하는 setPose() 함수를 만듭니다. setPose() 함수로 포즈를 잡은 후에는 약간의 시간이 지난 후에 포즈를 없애줘야 합니다. 이렇게 하기 위해 앞시간에 배운 timer를 이용합니다. https://youtu.be/p7ohn5EGa9w

언리얼엔진4 C++ 강좌 10 [쥐를잡자 찍찍찍-03] 타이머 사용법

이번 시간에는 언리얼엔진 4에서 C++를 이용해 타이머 사용하는 방법을 알아봅니다. 언리얼엔진 4에서 C++로 타이머를 사용하려면, 헤더파일에 FTimerHandle을 만들어줘야 합니다. 타이머가 여러 개 있을 때 각 타이머들을 구분하는데 사용됩니다. FTimerHandle m_TestHandle; 그리고 BeginPlay() 함수 내에서 GetWorldTimerManager().SetTimer(m_TestHandle, this, &AMyPlayer::OnTestTimer, 2.0f, true); 이렇게 GetWorldTimerManager에게 타이머를 실행해 달라고 시킵니다. &AMyPlayer::OnTestTimer 는 타이머 이벤트를 처리하는 함수입니다. 뒤에 2.0f는 2초마다 한번씩 실행하라는 ..

언리얼엔진4 C++ 강좌 9 [쥐를잡자 찍찍찍-02] material 입히는 2가지 방법

material을 입히는 2가지 방법입니다. 첫 번째는 에디터에서 material을 받는 방법입니다. 헤더파일에, UPROPERTY(EdtiAnywhere) UMaterial* BodyMaterial; 와 같이 설정해 주면 에디터에서 material을 설정해 줄 수 있습니다. 이렇게 에디터에서 material을 받을 수 있습니다. 이렇게 해 놓으면 각 인스턴스마다 각각 다른 material을 쉽게 설정해 줄 수 있지만, 인스턴스의 수 만큼 설정해 주는 작업을 해야 합니다. 그래서 그냥 저 M_Player라는 이름의 material을 소스코드에서 찾아서 할당해 주는 방법도 쓸 수 있어야 합니다. 두 번째 방법은 이렇게 소스코드에서 material을 정해주는 방법입니다. static ConstructorHe..

언리얼엔진4 C++ 강좌 8 [쥐를잡자 찍찍찍-01] cube와 sphere를 이용해 플레이어 만들기

쥐를 잡자 찍찍찍의 블루프린트 버전에 이어 C++ 버전을 시작합니다. 블루프린트 버전과 최대한 비슷하게 만들어 보려 합니다. C++ 액터 클래스에서 Cube 메시를 추가하는 방법 // cube를 이용해 몸통 만들기 UStaticMeshComponent* pBodyMeshComp = CreateDefaultSubobject(TEXT("Body")); UStaticMesh* pBodyMesh = ConstructorHelpers::FObjectFinder(TEXT("StaticMesh'/Engine/BasicShapes/Cube.Cube'")).Object; pBodyMeshComp->SetStaticMesh(pBodyMesh); C++ 액터 클래스에서 Sphere 메시를 추가하는 방법 // sphere를 ..

언리얼엔진 강좌 75 [쥐를잡자-11] 잡았다 놓쳤다 소리 넣고 마무리

이제 드디어 쥐를 잡자 찍찍찍 게임 개발의 1차 마무리입니다. 요즘 많이 서비스하고 있는 AI 성우를 이용해 잡았다! 놓쳤다! 만세! 한마리, 두마리, 등의 소리를 만들었습니다. 사용한 서비스는 vrew입니다. 무료 성우의 목소리는 상업적 사용이 가능하다고 하여 넣어보았습니다. https://www.youtube.com/watch?v=zPXK1ZvV-_0&list=PLtmQsn29mAv9wq6s0BiUhusYW3dVrN7YS&index=11