프로그래밍 공부

2024/01 107

카테고리 설명
  • 만들었던 캐릭터에 무기를 장착시켜 보자. BP의 스켈레톤에 무기를 장착시키기 위해서는 객체의 무기를 장착할 위치에 소켓을 생성해야 한다. 스켈레톤 본 소켓 생성하기 스켈레톤의 본을 생성하기 위해서는 먼저, ABP_Player에 들어가서 해당 객체의 스켈레톤을 눌러서 확인해야 한다. 위와같이 에니메이션 블루프린트에서 스켈레톤에 접속할 수 있다. 위와 같은 창이 나타나면 된다. 이제, 본의 위치값을 사용해서 무기가 붙어있을 소켓을 생성한다. 먼저 소켓의 위치를 참조하기 위해. 원하는 위치의 본을 선택하고 마우스 오른쪽 클릭을 해보자. 오른쪽 손에 소켓을 추가하려면 오른손이라고 지정되어있는 Hand_R위치에서 마우스 오른쪽클릭을 통해 소켓을 추가할 수 있다. 소켓은 위치값에 상대적으로 접근함으로, 연결된 Bo..

  • 4.5.3 코드 재사용 전략 라이브러리, 프레임워크, 동료가 작성한 코드, 본인이 작성한 코드, 어느 경우든 코드를 재사용 할 때는 따라야 할 몇가지 원칙이 있다. 4.5.3.1 기능과 한계의 이해 사용할 코드가 어떤 기능을 제공하고 제약 사항은 무엇인지 시간을 들여서 잘 파악하는 것이 중요하다. 이때 가장 먼저 할 일은 관련 문서를 읽어보고 공개된 인터페이스와 API를 살펴보는 것이다. 이상적으로는 이것만으로 코드의 사용법을 이해하는 데 충분해야 하지만 그렇지 않으면 직접 소스코드를 뒤져보어야 한다. 만약 주변에 해당 코드를 이용해본 적이 있거나 관련 된 내부 동작 방식을 설명해줄 수 있는 사람이 있다면 도움을 구하는 것도 좋은 방법이다. 코드의 사용법을 익힐 떄는 가장 기본적인 것부터 이해하는 것이 ..

  • Big-O 표기법 프로그래머들은 알고리즘이나 코드가 어떤 성능을 가지는지 설명할 때 Big-O 표기법 을 이용한다. 이번에는 가능한 수학을 사용하지 않으면서 알고리즘 복잡도 분석과 Big-O 표기법에 대해 설명한다. Big-O표기법은 절대적인 성능이 아니라 상대적인 성능을 나타낸다. 예를들어 이 함수는 300밀리초 안에 작업을 완료한다고 하지 않고, 작업 대상 데이터 크기가 커질 때 소요시간에 따라서 커지는 비율이 어떻게 달라지는지 이야깋 ㅏㄴ다. 작업대상 데이터란 정렬할 숫자의 개수, 해시 맵에서 항목을 찾을 때 해시에 이미 들어있는 데이터의 개수, 파일으 ㄹ복사할 때 파일의 개수 따위를 말한다. Big-O 표기법은 입력 데이터가 존재하고 그 크기가 가변적인 알고리즘을 대상으로 한다. 입력 데이터가 없..

  • 4.5.2 코드 재사용의 판단 코드 재사용 원칙은 개념적으로 보았을 때 매우 쉽다. 하지만 구체적으로 들어가면 모호할 때가 있다. 코드 재사용이 합당한지 어떻게 알 수 있을까? 재사용한다면 어느 코드를 이용할 것 인가? 어느 경우든 장점과 한꼐 단점이 따라오기 때문에 판단은 각 상황에 맞춰서 해야한다. 하지만 코드를 재사용할 경우 일반적으로 적용되는 장단점이 있다. 4.5.2.1 코드 재사용의 장점 코드 재사용은 개발자와 프로젝트 모두에 크나큰 이득을 준다. 목적하는 코드를 어떻게 작성해야 할지 또는 작성하는 데 시간이 얼마나 걸릴지 알 수 없는 경우가 있다. 예를들어 입출력 문자를 포메팅 하는 코드를 직접 짜야 할까? 당연히 아니다. 그런 경우를 위해 C++표준 I/O스트림이 존재한다. 재사용할 코드는..

  • 4.5 코드의 재사용 경험있는 C++프로그래머라면 절대 바닥에서부터 프로젝트를 시작하지 않는다. 대신 표준템플릿 라이브러리, 오픈소스, 직장에서 내부적으로 구할 수 있는 코드 자산, 또는 자신이 작성했던 코드 등을 광범위하게 수집하여 재활용한다. 거기에 더하여 유능한 C++프로그래머라면 여러가지 일반적인 디자인 문제에 적용되는 접근 방법이나 전략을 재활용한다. 이러한 전략은 과거 프로젝트에서 배운 것 일수도 있고 전형적인 디자인 패턴 일 수도 있다. 이러한 방법을 최대한 활용하려면 재사용하려는 코드들의 유형과 코드 재사용에 따른 장단점을 이해할 필요가 있다. 오해하지 말아야 할 점은 코드를 재사용한다는 것이 소스코드 편집기에서 복사하여 붙여넣기 하는 것이 아니라는 점이다! 코드 재사용은 중복되는 코드가 ..

  • 언리얼에서 AnimNotify를 따로 생성해서, ABP의 스테이트머신을 통해 호출하고, 애니메이션을 바꾸어보자. 언리얼의 AnimNotify는 Animation의 실행중 클립을 호출해주는 기능이다. 생성은 다음과 같이 정의한다. AnimNotify로 블루프린트를 생성한다. AnimNotify AnimNotify에서는 위와같은 항목들을 확인할 수 있는데, 각각 GetNotify Name과 Receved_Notify이다. GetNotifyName은 에니메이션 그래프에서 설정할 Notify의 이름을 정의하는것 이고, Received Notify는 정의된 Notify를 실행하였을 때 작동할 동작사항을 이야기 한다. 우리는 AnimNotify를 실행해서 객체의 애니메이션을 실행시킬것 이다. Name에서 위와같이 ..