사용자 도구

사이트 도구


사이드바

카테고리

게임_개발:unreal:basic

Unit

  • 1 unreal unit = 1cm

뷰포트 UI

ref : https://docs.unrealengine.com/latest/KOR/Engine/UI/LevelEditor/Viewports/ViewportControls/index.html

N 스냅
Alt + 드래깅 복사
Alt + Shift + 드래깅 복사하는 동안, 카메라가 커서와 같이 움직이도록
X 컨텐츠 브라우져에서 필터 기능 삭제
뷰포트에서 이동
Left-Button click & mouse moving 
마우스 왼쪽 버튼 누른 상태로 마우스 움직이기
전후이동, 좌우 회전
R-Button click & mouse moving
마우스 오른쪽 버튼 누른 상태로 마우스 움직이기
제자리에서 주위 둘러보기
M-Button click & mouse moving
마우스 가운데 버튼 누른 상태로 마우스 움직이기
상하,좌우 이동
L and R-Button click & mouse moving
마우스 좌우 버튼을 모두 누른 상태로 마우스 움직이기
WSAD moving
L or M or R-Button click 상태에서 WSAD로 FPS 이동 가능
E 위로 이동
Q 아래로 이동
C 카메라 확대 (zoom-in)
Z 카메라 축소 (zoom-out)
마야스타일
오브젝트 선택 후, F 선택 오브젝트를 중심으로 카메라 이동, 오브젝트 포커싱
Alt Key + L-Button click & mouse moving 선택 오브젝트를 중심으로 텀블링(회전)
Alt key + R-Button click & mouse moving 카메라 전/후 이동
Alt + M-Button click & mouse moving 상하좌우 이동
  • Ctrl+R : 실시간 재현 on/off

평면뷰

  • 휠 : 확대/축소
  • R-Button click & mouse moving : 상하/좌우 패닝
  • L-Button click & dragging : 오브젝트 선택

오브젝트 배치

  • W : 오브젝트 이동 모드로
  • content brower : 에서 오브젝선택 후 씬뷰로 갖다 놓기
  • 씬뷰에서 마우스 R-Button click. 컨텍스트 메뉴가 보이는데,
    • 이전에 사용했던 오브젝트를 바로 배치 가능
  • 갖다 놓을때 다른 오브젝트가 있으면 바로 붙여주려고 한다.(그런가?)

오브젝트 이동

  • W : 오브젝트 이동 모드로
  • End key : 오브젝트가 바닥에 바로 붙는다.
  • Ctrl + ~ : 오브젝트 좌표계를 (월드 ↔ 로컬) 변경
    • 씬뷰에서 오른쪽 상단 버튼에서 지구모양의 아이콘이 (월드 ↔ 로컬) 변경 아이콘.

오브젝트 회전

  • E : 오브젝트 회전 모드
  • Yaw : z축, 고개를 왼쪽 오른쪽으로 흔들면
  • Pitch : 앞뒤 Y, 고개를 위 아래로 흔들면
  • 롤 : x축, 고개를 갸우뚱하면

오브젝트 스케일링

  • R : 오브젝트 스케일링

카메라 이동

  • Shift + 드래깅 : 카메라와 같이 이동
  • 뷰포트(씬뷰) 왼쪽 상단의 옵션 메뉴
    • 'Lock to viewport actor'에서 라이트/카메라/액터의 시점으로 이것들을 조정할 수 있다.
    • 이동 후에는 다시 메뉴를 열어서 'Unlock ..' 메뉴 항목 선택

컨텐츠브라우져

  • 창열기 : Ctrl + Shift + F
  • Collections : 즐겨찾기, 자주 사용하는 것을 저장해둔다.
    • Local : 로컬 pc에만 저장
    • Private : 소스저장소에 저장되지만 나만 사용
  • 휠/R-Button Click : 위아래 스크롤 가능

레벨디자인

단축키

바닥에 스냅핑 end key
오브젝트를 스냅에 맞춘다 Ctrl + End
복사 오브젝트 선택 + Alt + Drag
그룹 Ctrl + G
그룹 해제 Shift + G
반투명 오브젝트 선택 가능 T key
유리 같은 반투명 오브젝트를 선택할 수 있게 할지 말지
  • 브러쉬 세팅
    • 메쉬 변경 가능 - 면 늘리기, 버텍스 변경하기
    • 오브젝트 더하기 빼기
    • 빼는게 있다.(subtractive) - 일부분을 깍아낼수 있다.
  • BSP → Align Surface Planar : 두 오브젝트의 텍스쳐가 연속되는 형상으로 설정
    • or 없는 경우, Geometry 섹션에서 같은 메뉴 찾아보기

그외

튜토리얼에서 bp 추가와 timeline 추가는 따로 정리하자. 일단 메모.

blueprint

  • 이벤트 체크를 위해서 BoxTrigger 추가 . 이런게 있음.

timeline

  • 애니메이션 처리

Movility

  • Object Transform : static으로 설정되어 있으면 움직이지 않는다.

또 그외

  • 창을 떼어내서 win+leftArrow, Win+rightArrow면 왼쪽, 오른쪽에 달라 붙는다.
  • 라이트의 표시 반경을 끄려면, 씬뷰의 메뉴, Show → Advanced → LightRadius.를 off
  • 리플렉션 : Modes 창에서 Visual → Sphere Reflection Capture 를 화면에 갖다 두고 화면을 캡쳐하도록? 상세 사용법은 뭘까?

blue print

  • G: 화면의 기즈모 표시 on/off

블루프린트가 있는 곳

  • 레벨 자체
  • 또는 오브젝트
  • 레벨에 배치된 오브젝트는 레퍼런스를 추가해서 조작한다.
  • 레퍼런스는 BP 에디터에서 한개 이상 추가할 수 있어서, 여러 부분에서 사용 가능.
  • BP노드간 연결되늰 와이어에는 색은 사용되는 타입에 따라 색이 다름
Event Begin Play 레벨이 실행 되면
Enable Input, Disable Input 입력을 받을 수 있다?
Toggle Visibility 보이거나 감추거나
Input Key (?) 어떤 입력을 받는다
  • 라이트 : 오브젝트 → Transform → Mobility
    • Stationary : 미리 만들어진 라이트를 사용하는 것,
    • Movable : 실시간 라이트
  • 노드 사이의 연결 선 끊기 : Alt+Clicking
  • BP 그래프 편집기에 Get용 레퍼런스 추가 : 컴포넌트 선택. Ctrl + Dragging
  • BP 그래프 편집기에 Set용 레퍼런스 추가 : 컴포넌트 선택. Alt + Dragging
  • BP 그룹핑&이름짓기 : BP의 노드들을 여러개 선택 후, C key. 선택된 노드 그룹에 이름 추가.

블루프린트 사이에 통신

  • CustomEvent를 추가해서 서로 호출하는 방식 사용

클래스 BP

  • Defaults :
  • Components :
    • Prefab처럼 여러 오브젝트(컴포넌트)를 묶어서 한개의 클래스 BP를 구성.
  • Graph :
    • ConstructionScript : 레벨 에디터에서 작업하다가?
    • EventGraph : 실제 플레이 중에 실행되는 BP

변수

  • 변수 노드를 직접 추가할 수도 있고
  • 변수 노드를 사용하는 노드를 추가해서 , 변수 입력을 원하는 항목을 클릭 후 화면으로 끌어보면 자동으로 변수를 추가해주기도 한다.

변수 타입

  • rotator : yaw(z), pitch(y), roll(x)
  • 변수 타입이 다른 경우 캐스팅이 가능하다. 캐스팅된다는 노드가 추가됨.
  • 구조체용 변수 타입도 사용 가능.
  • 구조체의 특징은 'break'로 각 요소를 각각 사용할 수 있다는 장점.
  • object : 씬에 오브젝트가 이미 있고 사용하고 싶으면 이걸
  • class : 씬에 없는데 추가하려고 할때는 class
  • Enum : 딱히. Enumerators 입력창에서 enum 항목 추가. asset에서 블루프린트 폴더에 추가한다.
    • case with enum 하려면 모든 enum 항목에 대해서 노드를 만들고 연결해야 하는데.. 직접 해보고 다시 정리하자.
  • Get, Set
    • 숫자같은 일반 변수, 뭔가 작업 후에 Set을 다시 해주지 않으면 값이 반영되지 않는다.
  • Array
    • Array의 아이템은 모두 같은 타입이어야 함
    • 사이즈가 동적임
    • 0-base 인덱스
    • Array에 연관되는 블루프린트 노드는, Array 노드를 선택해서 화면으로 끌어놓고 '관련항목'이 떳을때
      • 일반적인 경우,
        • Utilities → Array → 이하의 함수 중에 선택. 리스트에 대한 일반적인 메소드들.
        • 녹색 함수 : 값을 사용만
        • 블루 함수 : Array를 변화 시킴
      • 반복 (Flowcontrol)
        • ForEach .. 또 뭐드라.
    • 리턴값이 Array인 경우

루프

팝업메뉴에서 'loop'로 검색해서 쓸 수 있는 노드 선택. (ForLoop 같은거)

FormatText

  • 'Format' 항목에서 문자열 입력할때 대괄호({})에 키워드를 입력하면 'FormatText' BP노드에 자동으로 키워드가 추가된다.
    • Format : “Test String {index}” 같이 입력하면 'index'항목이 추가됨

ForLoopWithBreak

  • 루프 실행 중에는 break가 먹지 않으므로,
  • 'Loop body' 의 노드 흐름 중에 break 조건을 검사하는 기능을 추가한다.
  • 'Loop body' 의 연결 노드 (시작노드) 'Branch' 노드를 걸고, 조건을 검사하는 부분을 연결시켜 중단될 수 있게.

ForEach

  • array같은 것의 항목에 대해서 루프.
  • 콜렉션을 순행하는 것이므로 시작, 종료에 대한 조건이 필요없다는 것.

디버그

  • 노드 선택 후, 마우스 우클릭 → 브레이크포인트 추가
  • 플레이하면 브레이크포인트에서 멈춘다.

트랜스폼

요,피치,롤

  • 요(Yaw) : 고개를 왼쪽 오른쪽으로 흔들면
  • 피치(Pitch) : 고개를 위 아래로 흔들면
  • 롤(Roll) : 고개를 갸우뚱하면

팁들

  • RandomStream :
    • 일반 랜덤을 사용하면 값이 무작위로 매번 바뀌는데 한번 내려 받은 값을 쭉 사용하려고 하면
    • Stream 노드를 추가하고 랜덤 값을 Stream에서 가져오면 한번 내려 받은 값을 그대로 쭉 사용한다.
게임_개발/unreal/basic.txt · 마지막으로 수정됨: 2022/12/07 22:27 저자 kieuns