공부/Unreal

24.06.19

월러비 2024. 6. 20. 15:46

이론

  • Game Engine : 게임을 개발할 수 있는 구성요소들을 모아놓은 도구이다.
  • 블루 프린트 프로젝트 만들고 C++도 넣을 수 있지만, 불안정하니 끼얹지 않는게 좋다.
  • 퀄리티 프리셋 : 프로젝트를 빌드시킬때 창모드로 할거냐, 풀화면으로 할거냐를 고르는 옵션이다.
    • Maximum : 풀화면, 화면의 성능을 프로그램에 몰아주는 옵션이다.
    • Scalable : 창모드

 

  • 레벨 : 맵 하나 → 스테이지 또는 맵 하나의 개념이다.
    • 파일 - 새 레벨 - Basic 선택
  • 레벨 에디터 : 씬 화면, 액터(오브젝트)를 배치하는 화면
    • 액터 : 화면에 배치될 수 있는 클래스
      • 추가 기능(뭐를 그려라, 뭐 입력받을거야, 뭐 해라)등을 끼우는 속성 : 컴포넌트
  • 아웃라이너 창 : 레벨 에디터에 배치되어있는 액터들의 목록, 하이어라키
  • 디테일 창 : 레벨 에디터에 배치되어있는 액터의 설정을 조절하는 창, 인스펙터
  • 화면에 배치 되는 기준 : 액터(액터 클래스로부터 상속받아 배치된다.)
    • 오브젝트 말하는듯
  • 창 - 출력로그 : 프로그래밍 한 결과를 볼 수 있는 창
  • 창 - 액터 배치 : 액터를 쉽게 생성할 수 있게 하는
  • 창 - 콘텐츠 브라우저 : 콘텐츠들을 볼 수 있는 창, 유니티 프로젝터 창
    • 에셋(이미지, 캐릭터, 모델, 사운드)을 의미하는 단어 : 콘텐츠

블루 프린트 실습 예시

  • 콘텐츠 브라우저 - 블루 프린트 클래스 - 어느 누구로부터 상속받을지 선택하는 창(지금은 액터로 선택) : 액터로 하면 화면에 배치하는 블루프린트를 생성할 수 있다.
  • 뷰포트 : 액터의 모양을 보여주는 창
  • Construction Script : 스크립트의 생성자를 의미하는 창
  • 이벤트 그래프 : 실제로 블루프린트 프로그래밍을 하는 창
    • 이벤트 : 어떠한 사건을 발생했을때 이것을 호출해라 를 설정할 수 있는 창
    • BeginPlay 이벤트 : 액터가 플레이를 시작할 때 이벤트를 발생시키는 이벤트
    • 틱 이벤트 : 매 프레임(기본 - 1초에 60프레임)마다 실행되는 이벤트 - 유니티의 Update 함수를 생각해라
    • 처음 시작할때 뜨는 설명창은 지우는게 더 귀찮으니 처음부터 전부 지우고 시작해라
  • 이벤트 그래프 - 우클릭 - BeginPlay 이벤트 클릭
  • 프로그래밍 실행 순서 : 위 → 아래
    • 블루프린트 실행 순서 : 왼쪽 → 오른쪽
  • 이벤트 노드에 있는 화살표 : 실행 핀
    • 실행 핀 클릭 - 끌어다 놓으면 어떤 노드를 생성할지 고르는 창 나온다. - print string : 문자열을 출력하는 이벤트 - In String에 문자를 작성하고 플레이를 누르면 레벨 에디터 왼쪽 상단에 결과가 출력된다.

언리얼 좌표계

  • X축 : 유니티의 Z축 (정면)
  • Y축 : 유니티의 X축 (축면)
  • Z축 : 유니티의 Y축 (상단)
  • 디테일 - 트랜스폼 : 바꾼 값이 있다면 유턴하는 아이콘이 활성화되는데 그것을 누르면 초기값으로 리셋된다.
  • 회전 : 회전값은 시계방향으로 돈다.
    • 오른손 좌표계는 반시계 방향을 쓴다.
    • 롤 : 전방 회전
    • 피치 : 측면 회전
    • 야 : 하단에서 상단 방향으로 찌르고 회전

저사양 세팅

  • 세팅 - 엔진 퀄리티 세팅 - 섀도 : 가장 많이 바꾸는 옵견이다.
  • 보통은 중간으로 하고 필요에 의해 높이거나, 높음으로 하고 필요에 의해 낮추기도 한다.

새로운 블루프린트 예시 (정석으로 큐브 생성)

  • 콘텐츠 브라우저 - 우클릭 - 블루프린트 클래스 클릭
  • 컴포넌트 창 : 액터에 추가 기능을 넣을 수 있는 창
    • 액터 이름(셀프) : thisPointer(자기 자신을 가리키는 포인터)를 의미한다.
    • 자기 자신을 ‘셀프’라고 부른다고 알고있어라
    • 즉, 셀프 액터를 하나의 클래스라고 생각하고 그 밑에 기능들을 추가하는 것이다.
  • BP_Cube(셀프) 클릭 - 좌측 상단 추가버튼 클릭 - 스테틱 메시 컴포넌트 클릭
  • 콘텐츠 브라우저 - 우측 상단 세팅 버튼 클릭 - 엔진 콘텐츠 표시 클릭 : 언리얼 엔진에서 공통적으로 사용할 수 있는 에셋들을 표시한다.
  • 블루 프린트 창 - 뷰포트 - 디테일 - 스테틱 메시 - (엔진 콘텐츠 표시를 눌렀으니 메쉬 관련 콘텐츠들이 표시된다.) Cube 입력 - Cube(Engin/basicMesh) = 액터 배치 창에서 배치할 수 있는 큐브의 메쉬와 동일한 메쉬다.
  • 디테일 - 메테리얼 - basicShape 클릭
  • 위의 과정이 액터 배치 창에서 배치되는 큐브와 동일한 큐브를 ‘정석’으로 만드는 방법이다.

큐브 예시에 블루프린트 이벤트 추가

  • 이벤트 그래프 - 우클릭 - BiginPlay 이벤트 클릭
  • 내 블루프린트 창 - 변수 - 추가버튼 클릭 - (추가하면 디테일 창으로 볼 수 있다.)변수 타입 인티저(정수) - 컴파일 버튼 클릭 (컴파일 버튼을 눌러야 기본값을 입력할 수 있다)
    • 생성된 변수를 이벤트 그래프 창에 끌어다 놓으면 Get 또는 Set을 고를 수 있게 된다.
    • Get : 설정한 기본값(지금은 10과 20)을 가져다 쓰겠다는 의미이다.
    • Set : 변수에 값을 작성하겠다는 의미이다.
    • 변수 끌기 + ctrl키 : 끌은 변수 Get으로 자동 설정
    • 변수 끌기 + Alt : 끌은 변수 Set으로 자동 설정

+연산 예시

  • A 변수의 핀을 끌고 놓기 - +입력해서 ‘덧셈 연산 노드’ 생성
  • B 변수의 핀을 덧셈 연산 노드로 연결
  • BeginPlay 핀을 끌고 놓기 - C 변수를 Set으로 놓고 연결 - 덧셈 연산 노드의 결과를 C 변수 입력 핀에 연결 - C의 실행 핀을 끌고 놓기 - Print String 노드 생성 후 연결
  • C의 출력 핀을 Print String의 In String 함수 핀에 연결 ⇒ 캐스트 노드 자동 생성된다.
    • 정수 출력인 C를 String으로 변환해준다.
  • Print String 시간 늘리기
    • Print String 노드 클릭 - 개발 전용 버튼 클릭
    • Print to Screen : 화면에 나타나게 해주는 옵션(체크 해제하면 레벨 에디터에 결과 출력이 안된다.)
    • Print to Log ; 출력 로그에 나타나게 해주는 옵션(체크 해제하면 출력 로그에 결과 출력이 안된다.)
    • Text Color : 텍스트 색상설정
    • Duration : 화면에 표시해주는 시간
    • 빨간색 핀 : bool 자료형
    • 파란색 핀 : Color 자료형
    • 녹색 핀 : float 자료형
    • 자주색 핀 : Name 자료형(이건 나중에 배운다)

'공부 > Unreal' 카테고리의 다른 글

24.06.26  (0) 2024.06.28
24.06.25  (0) 2024.06.28
24.06.24  (0) 2024.06.25
24.06.21  (0) 2024.06.25
24.06.20  (0) 2024.06.25