[UnrealEngine]FPS 게임 만들기(8)
·
기타/UnrealEngine
[UnrealEngine]FPS 게임 만들기(8)이번에는 타겟의 파티클 효과를 넣어본다. Particle 폴더 생성 후 파티클 시스템을 추가한다. 이름은 HitTracePart로 했다. 파티클을 활성화하려면 먼저 머티리얼을 만들어야한다. Meterials 폴더 하위에 새로운 머티리얼을 생성한다. 그리고 편집기를 열어 다음과 같이 색상을 지정해준다. 이미터 탭 하위의 Required를 누르면 디테일 하위에서 머티리얼 지정할 수 있다. 이 머티리얼을 우리가 생성한 것으로 지정한다. 뷰포트가 다음과 같이 변경된 것을 확인할 수 있다. 이렇게 지정한 후 여러 설정을 변경하여 실감나게 만들어주어야한다. 이미터 하위의 Initial Size를 클릭하면 디테일 하위에 Size 탭이 나온다. 여기서 Distributi..
[C/C++] 소켓 프로그래밍
·
Language/C C++
[C/C++] 소켓 프로그래밍 오류윤성우의 열혈 TCP/IP 소켓 프로그래밍 책을 보고 소켓 통신을 실습할 때 코드를 그대로 쓰면 실행이 잘 안된다. 실행하며 나온 오류를 잡아봤다.환경 : Window10, visual studio 2015LNK2019 에러소스코드를 그대로 복붙하고 빌드하면 LNK2019에러가 나온다.#pragma comment(lib, "ws2_32.lib") 를 추가하면 빌드가 잘 되고 실행된다.클라이언트 연결도 안했는데 Accept 처리C++로 혼합개발할 경우 발생했던 문제이다. 원인은 #include을 포함하고 using namespace std를 썼을 때 생긴다. std::bind와 WinSock2의 bind의 이름 충돌로 발생한다. using namespace std 사용의 ..
[C/C++] const keyword
·
Language/C C++
[C/C++] const keywordconst 키워드를 적절히 사용할 수 있으면 유용하다. 코드 작성 중 발생할 수 있는 실수를 컴파일 단계에서 확인가능하기 때문에 활용하면 좋다. const의 개념은 간단하다. 이 키워드를 통해 선언되면 프로그램 실행 중 변경할 수 없음을 지정한다. 이를 통해 할 수 있는 기능 중 하나는 상수 지정이다. 상수를 지정하는 다른 방법은 #define을 이용하는 것이다. const는 #define보다 이점을 가지고 있다. 먼저 #define을 사용할 경우는 단순 대체만 수행하기 때문에 타입 확인을 할 수 없는 반면 const를 사용하면 컴파일러에서 확인이나 검사가 가능하다. 또한 const변수를 이용하면 디버거에서 변수를 이용할 수 있어 디버깅에 유용하다.포인터와 const..
[UnrealEngine]FPS 게임 만들기(7)
·
기타/UnrealEngine
[UnrealEngine]FPS 게임 만들기(7) 1. 머티리얼 만들기머티리얼은 여러 쉐이더가 통합된 편집 가능한 재질 정보 에셋이다. 언리얼 엔진으로 그리는 장면 대부분에서 사용되고, 3D 모델의 렌더링뿐만 아니라 사용자 인터페이스에도 이용된다. Material 폴더 생성 Matirials 폴더에 머티리얼 생성 편집기에서 열면 다음과 같이 보인다. 이렇게 생성한 머티리얼을 뷰포트에 드래그해도 아무런 일이 일어나지 않는다. 적용할 타겟에서 직접 설정해주어야 한다.뷰포트에서 적용할 타겟을 더블 클릭하여 선택한 후 우측의 디테일하위에 Matrials에서 바꿀 수 있다. 이렇게하면 하나씩 적용된다. 모든 타겟에 적용하려면 블루프린트 편집에서 뷰포트탭에서 Matirials를 수정하면 된다. 2. 머티리얼 설정생..
[UnrealEngine]FPS 게임 만들기(6)
·
기타/UnrealEngine
[UnrealEngine]FPS 게임 만들기(6)이전에 타겟을 맞추면 없어지고 점수가 추가되는 작업을 했다. 이제 타겟마다 값을 주어 보너스 점수나 감점을 할 수 있도록 변경한다. TargetBP에서 인티저타입의 TargetValue, HealthValue 변수를 추가한다. 먼저 Get TargetValue노드를 HandleUpdateScore노드에 연결한다. 그리고 기본값으로 50을 준다. 이렇게하면 타겟을 적중했을 때 값이 50씩 오르는 것을 확인할 수 있다. 변수 이름 우측의 버튼을 누르면 외부에서 수정이 가능해진다. 뷰포트에서 타겟을 클릭하고 디테일을 보면 Default에 우리가 만들었던 TargetValue와 HealthValue를 확인할 수 있다. 이 값들을 외부에서 접근 및 수정이 가능해졌다..
[UnrealEngine]FPS 게임 만들기(5)
·
기타/UnrealEngine
[UnrealEngine]FPS 게임 만들기(5)클릭으로 쏘고 맞출 수 있는 타겟을 만들었으니 이제 점수 시스템을 추가하려 한다. 1. 블루프린트생성 Blutprint의 UI 폴더에 위젯 블루프린트를 추가한다. 이름은 HUD로 지정한다. 블루프린트 편집을 열고 좌측의 팔레트에서 텍스트 블록을 선택해 추가한다. 앵커를 좌측 하단으로 옮긴다. 텍스트 블록을 선택하고 우측 디테일에서 X 위치와 Y 위치 오른쪽에 있는 노란색 화살표를 클릭하면 텍스트 블록이 앵커의 위치로 이동한다. 하지만 화면 밖에 배치된다. 텍스트 블록의 Alignment - Y 값을 1.0으로 설정하면 된다. 점수를 표시할 텍스트 블록을 추가한다. 추가한 텍스트 블록의 디테일에서 이름을 지정하고 변수인지를 체크한다. 이를 통해 추후 값을 변..
[UnrealEngine]FPS 게임 만들기(4)
·
기타/UnrealEngine
[UnrealEngine]FPS 게임 만들기(4)지난 시간에 라인 트레이스를 통한 이벤트 작성을 하였으니 이번엔 타겟을 만들어 적중시키는 것을 추가한다. 1. 타겟 생성Content 하위에 Target 폴더 생성 액터 클래스를 생성하여 Target-BP로 이름을 설정한다. Target 블루 프린트 편집에서 좌측의 컴포넌트 추가에 Scene을 추가한다. 그러면 DefaultSceneRoot 하위에 생성되는데 이것의 이름을 Root로 변경하고 위처럼 DefaultSceneRoot에 드래그 드랍하면 Root로 변경된다. 컴포넌트 추가를 클릭하여 큐브를 선택한다. 그러면 Target BP가 정육면체로 펴현된다. 이렇게 만든 Target-BP를 화면에 추가해준다. 2. 인터페이스 추가타겟이 총에 맞는 처리를 인터..
[UnrealEngine]FPS 게임 만들기(3)
·
기타/UnrealEngine
[UnrealEngine]FPS 게임 만들기(3) 1. 클릭 이벤트 추가프로젝트 세팅 - 입력에서 Action Mappings에 왼쪽 마우스 버튼 이벤트를 추가한다. 2. 블루프린트 인터페이스 추가 Character 폴더에 블루프린트 인터페이스를 추가한다. 이름은 FPS-Character-BPI로 지었다. 우측 함수 이름을 HandleActionButton1으로 바꿔준다.이렇게 만든 인터페이스의 함수를 캐릭터에서 사용할 것이다. FPS-Character에 만들었던 FPS-Characet_BPI 인터페이스를 추가한다. FPS-Controller에 다음과 같이 노드를 생성한다. FPS-Character에 다음과 같이 노드를 생성한다. Handle Action Button1을 처리하면 화면에 Hello를 출력..