목록전체 글 (194)
초보 코린이의 성장 일지
1. Component 충돌을 위해 생성해준다. 1. 필요한 .h 추가후 생성해준다. 2. 충돌되었는지 확인을 위해 만들어 놓은 Log를 사용한다. 1. 블루프린트 클래스를 추가해준다. 1. 충돌, 충돌 후 둘다 정상적으로 Log가 출력되는걸 확인 할 수 있다. 1. Hit된 상태도 확인해보기 위해 생성해준다. 1. C02_ComponentOverlap와 동일하다 로그로 확인해 볼것이기 때문에 복사해서 가져오면 된다. 2. Hit가 계속 일어나는지 확인하기 위해 OnComponentHit를 추가해준다. 1. 생성 후 맵에 올려준다. 1. Box에 Simulation Generates를 충돌하게 만들어 주기위해 켜줘야하며, 객체 끼리 충돌할때 켜줘야하는 쪽은 충돌을 받는 쪽이 켜주는게 옳은 방법이다. Qu..
https://www.youtube.com/watch?v=h9rC2-CbpPY 진행 중인 작업 - Bow 스킬 추가 - Enemy Hit Data 전부 알맞게 넣어주기 - 작업 끝난 스킬들 Trail 작업 - AI Enemy 구조 잡기 진행 예정 작업 - 스킬 추가 - AI 추가 - 구조 다듬기 진행 완료 작업 - Arrow Pokpung_Ui_Si 스킬 구현 (누르는 중에만 발동 키때면 동작 멈춤)
이제 자주 사용하거나 편리하게 사용하도록 매크로를 많이 생성하게 된다. 우선 Null 체크 관련해서도 매크로 생성을 하도록 하겠다. 1. 체크 후 끝내기, 하나 더 받아서 값 돌려주는 return 매크로 생성 1. 만들어 놓은 매크로로 Null 체크를 해준다. 2. 그리고 Speed 세팅 1. BP_CPlayer에 비어있는 Class를 이제 넣어 줄 것이다. 2. 레퍼런스 주소 넣어주고 컴파일 후 다시 확인하면 잘 들어가있는걸 볼 수 있다. 1. 애니메이션 들어간 상태니 이제 알맞은 동작을 수행하게 함수를 만들어준다. 2. 스피드를 설정해준다. 이제 키를 누르면 뛰어다닐수 있게 된다. 1. 이제 플레이어에 움직임이 끝이났고, 충돌에 관련한 이벤트 처리를 시작해보기 위해 맵을 나눠서 오른쪽 파란색 진형에서..
1. 플레이어를 생성해주고, 이제 플레이어를 움직이게 만들어 볼 것이다. 2. 기본적인 Helpers에 템플릿을 생성해준다. 3. 사용 이유는Player에게 SpringArm, Camera를 붙이기 위해. 1. 생성에 필요한 Component들을 추가해준다. 2. Attach해줘야 할 객체에 알맞게 설정. 3. Mesh 위치와 SpringArm 위치 조절 해준다. 1. BP_CPlayer 블루프린트 클래스 생성을 해준다. 2. 생성 후 들어와보면, 입력한 세팅값 그대로 들어와 있는걸 볼 수 있다. 1. 이제 생성한 Player를 맵에 등장시켜줘야 할때 사용한 방법이 GameMode였다. 2. 프로젝트를 만들었을때 생성되었던 기본 BaseMode를 알기 쉽도록 이름을 변경해준다. 3. 무엇인가 변경되었으니..
BluePrint에서 무기를 들고, 걸어 다닐때 부들 거리는 증상이 있었다. 이걸 한번 잡아보겠다. 앞으로 C++를 다룰때에도 필요하고 중요한 부분이 되기 때문이다. 1. 이 부분을 알고 가야 한다. 카메라가 만약 90도로 설정되어있다고 가정하고, 위에서 캐릭터를 바라봤을때, 수직이 이뤄진다. 여기서 90도 보다 아래에 숫자면 문제가 없지만, 0.1이라도 높다면 카메라 반전이 일어나면서, 축을 잃어버리는 "짐벌락"이 일어난다. 그래서 90도가 기준이 된다면, 89에 + @로 지수를 더 해주는게 좋은 방법이다. 위에 설명을 토대로 본격적으로 변화를 시킬 것이다. 원인은 무엇이였냐면, 시야 각차 때문이다. 시야 각차가 일어나는 원인은, 플레이어는 정면이지만, 카메라 중심은 캐릭터 옆에서 바라보기 때문에 캐릭..
https://www.youtube.com/watch?v=vzGcAgIA7nc 진행 중인 작업 - Bow 마지막 스킬 추가 - Enemy Hit Data 전부 알맞게 넣어주기 - 작업 끝난 스킬들 Trail 작업 - AI Enemy 구조 잡기 진행 예정 작업 - 스킬 추가 - AI 추가 진행 완료 작업 - Target Arrow 유도 스킬 구현 - 범위 스킬 ArrowRain 스킬 구현 - 구조 다듬기
가상 메모리 - 가상메모리는 메모리 관리 기법의 하나로, 실제로 이용 가능한 기억 자원을 이상적으로 추상화하여, 사용자들에게 더 큰 메모리로 보이게 만드는 것을 의미한다. - 프로세스에 필요한 데이터를 전부 메모리에 등장시키면, 실행시 걸리는 시간도 오래 걸리고, 불필요한 메모리 낭비도 발생하게 된다. 만일 크기가 작은 메모리를 할당 받고 있다고해도, 다른 프로세스에 오류를 발생시킬 수 있다. 선할당에 부담을 느끼게 될때 가상 메모리 공간을 사용한다. - 만일 8GB가 필요한데, 실제 가지고 있는 용량이 4GB라면, 메모리상에서 실행시킬 수 없다. 이 문제를 해결하고자 나온 개념이 가상 메모리이다. [장점] - 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식이다. - 실제 메모리보다 더 큰 필요..
https://www.youtube.com/watch?v=6b_EhMPbR4A - Multi 스킬 랜덤으로 생성되서 나가도록 구현 - 범위 스킬 구현
로그를 기본적으로 다룰 줄 알아야 프로그램을 구축할때 많은 도움이 되므로 조금 더 다뤄보도록 하겠다. 1. 한번에 출력하기 위해 함수를 하나 만들어줬다. 2. 필요한 부분만 잘라서 출력해주기 위해 index로 접근해서 걸러내준다. 1. 위에서 작성한 로그를 사용하려한다. 2. 현재 작성하고 있는 줄을 확인하려고 사용하게 되는데, 이걸 매번 필요할때마다 작성하는거 보다는 매크로로 빼서 사용하는게 더 효율적이다. 3. 3가지 로그를 한번에 엮어서 LogLine()로 사용할 수 있다. 4. 실행하면 현재 콜해준 줄이 출력로그에 나오는걸 볼 수 있다. (이 줄이 실행되고 있는지 판단할때 사용) 1. 이제 로그가 아닌 화면에서 보여줄 수 있는 Log를 만들어서 사용할 것이다. 2. 사용하려면 Engine을 사용해..
1. Mesh를 가지고 Sphere 클래스를 생성해준다. 1. h, cpp 정의한 내용으로, Mesh 생성 코드를 그대로 가져와서 알맞은 도형 레퍼런스 주소 복사해서 넣어준다. 1. Cone도 동일하게 생성해준다. 그리고 컴파일해주면 위와 같이 2개의 도형이 생성되어있는걸 볼 수 있다. 1. 만들어준 Sphere, Cone를 이제 블루프린트로 변화시켜준다. 2. 위와 같이 생성된걸 볼 수 있다. 이제 맵에 직접적으로 보여주기 위해 Spawn시킬 클래스를 하나 생성해 볼 것이다. 1. 생성을 우선 완료해주었다. 1. 공통으로 사용하기 위해 Anywhere로 만들어 준다. 2. UClass로 만들어준다. 1. 지정한 범위를 벗어나서 만드는걸 방지하기 위해 클래스에 제한을 걸어주기 위해 TSubclassOf로..