사용자 도구

사이트 도구


language:unreal:basic

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
language:unreal:basic [2015/04/07 13:32] – [팁들] kieunslanguage:unreal:basic [2024/04/23 22:44] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
  
 +====== 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' 항목에서 문자열 입력할때 대괄호(<nowiki>{}</nowiki>)에 키워드를 입력하면 'FormatText' BP노드에 자동으로 키워드가 추가된다.
 +    * Format : "Test String <nowiki>{index}</nowiki>" 같이 입력하면 'index'항목이 추가됨
 +
 +ForLoopWithBreak
 +
 +  * 루프 실행 중에는 break가 먹지 않으므로,
 +  * 'Loop body' 의 노드 흐름 중에 break 조건을 검사하는 기능을 추가한다.
 +  * 'Loop body' 의 연결 노드 (시작노드) 'Branch' 노드를 걸고, 조건을 검사하는 부분을 연결시켜 중단될 수 있게.
 +
 +ForEach
 +
 +  * array같은 것의 항목에 대해서 루프.
 +  * 콜렉션을 순행하는 것이므로 시작, 종료에 대한 조건이 필요없다는 것. 
 +
 +===== 디버그 =====
 +  * 노드 선택 후, 마우스 우클릭 -> 브레이크포인트 추가
 +  * 플레이하면 브레이크포인트에서 멈춘다.
 +
 +====== 트랜스폼 ======
 +
 +===== 요,피치,롤 =====
 +
 +  * 요(Yaw) : 고개를 왼쪽 오른쪽으로 흔들면
 +  * 피치(Pitch) : 고개를 위 아래로 흔들면
 +  * 롤(Roll) : 고개를 갸우뚱하면 
 +
 +====== 팁들 ======
 +
 +  * RandomStream : 
 +    * 일반 랜덤을 사용하면 값이 무작위로 매번 바뀌는데 한번 내려 받은 값을 쭉 사용하려고 하면
 +    * Stream 노드를 추가하고 랜덤 값을 Stream에서 가져오면 한번 내려 받은 값을 그대로 쭉 사용한다.