Migrate

  • 예제로 준 ArtResource 프로젝트에서 Resources 폴더 안에 모든 것을 가져올 것이다

  • Resources 폴더를 우클릭 후 Migrate를 사용하면 선택한 에셋 또는 폴더가 참조하는 모든 종속 파일을 함께 원하는 곳으로 복사해 준다

새 레벨 생성 및 기본 레벨 지정

  • 새 레벨 생성

     
    • 에디터에서 Control + N을 누르면 새로운 레벨을 생성할 수 있다
    • 여기서 Basic을 선택해 만들어 사용할 것이다
    • 그 후 File->Save Current Level로 저장하고 이름을 MainLevel로 지정해 Content/Maps 폴더에 저장해 준다
  • 기본 레벨 지정

    • 우리 프로젝트를 실행할 때마다 이전 Leve이 시작이 될 것이다
    • 이를 현재 우리가 사용할 Level로 지정할 것이다
    • Edit->Project->Map&Mode에 Editor Startup Map, Game Default Map을 우리가 만든 Level로 설정해 주면 프로젝트가 실행될 때 우리가 만든 Level로 켜질 것이다

Actor vs Object

  • UObject 
    • 언리얼 엔진상 모든 클래스의 최상위 부모 객체
    • 월드에 배치될 수 없고 주로 데이터나 로직을 담당
      • EX) 플레이어 능력치, AI 정보, 게임 설정 값, 임시 계산 로직
    • 화면에 보이지 않는 추상적인 부분을 처리하는 역할
  • AActor
    • UObject를 상속한 클래스로, AActor부터 월드에 배치(Spawn)할 수 있음
    • 위치(Transform), 회전(Rotation), 크기(Sacle)등 공간적 정보를 가지고 있고, 여러 컴포넌트(Mesh, Particle, Sound 등)를 추가로 붙일 수 있음
    • 실제 게임 세계에서 보이고 상호작용하는 캐릭터, 적 몬스터, 무기, 조명, 파티클 효과등 주로 AActor를 기반으로 제작

AActor 클래스 생성

  • 에디터 상단에 Tools->New C++ Class를 선택해 보자
  • 위와 같은 팝업창에서 Actor를 누른 뒤 Next를 눌러보자
  • 그럼 C++ Class를 publuc, private으로 만들지, 이름은 뭘로 할지, 저장 위치를 지정하는 창과 함께 CreateClass를 누르면 AAcot를 상속받는 우리의 AAcotr Class가 만들어진다
  • 자동 빌드가 진행되고, 빌드가 완료가 되면 Visual Studio에서 프로젝트가 변경되었다는 메시기자 뜨는데 Reload All을 통해 변경 사항을 적용시켜 준다
  • Class Type
    • Class  Type을 public으로 설정하면. h와. cpp가 각각 public, private 폴더에 생성되고, private으로 만들면 두 파일 다 private 폴더에 생성이 된다
    • 이때 public으로 생성된. h는 다른 클래스에서 그. h 클래스를 접근이 가능하지만 private으로 만들어진. h는 다른 클래스에서 접근이 불가능해진다
    • 이는 언제든 변경 가능하다
  • 언리얼 에디터에 C++ Classes->StartProject안에 C++ Class가 잘 생성되었다면 성공적으로 만들어진 것이다


Actor Class 삭제

  • 언리얼 에디터를 종료한 후 Visual Studio에서 삭제할 클래스를 삭제 후 저장해보자
  • 이땐 솔루션에서만 삭제된 것이지 파일이 삭제된 것이 아니므로 Source/SpartaProject아래 public, private으로 이동해 방금 지웠던 .h, .cpp를 직접 삭제한 후 Visual Studio에서 빌드를 해야 완전 삭제된 것이다
  • 이제 언리얼 에디터를 실행해 확인해보면 삭제가 된 것을 볼 수 있다