기본 콘텐츠로 건너뛰기

250319 뷰포트와 블루프린트 함수

 엔진 파일의 구성


Config : 설정 (전반적인 설정, 마우스, 게임패드 등등)

Content : 컨텐츠 (에디터에 임포트한 파일)

나머지 세 파일은 제거해도 프로젝트 실행시 생성된다.


뷰포트 화면 스크린샷 찍기

화면 좌상단 클릭후 High Resoultion Screenshot

빠른 스크린샷 : F9


 


뷰포트 이동

마우스 오른쪽 버튼을 누른 채로 WASD 또는 넘버 패드 8246

뷰포트 저장(북마크)

Ctrl + 숫자키 : 저장

숫자키 : 불러오기

마우스 휠 버튼 : 거리


화면 전환

Perspective 원근법 O

Orthographic 원근법 X 

Ctrl + 마우스 가운데 버튼 + 상하좌우 대각선 방향으로도 화면 전환을 할 수 있다.


방향

위 : Top

아래 : Bottom

10시 방향 : Left

1시 방향 : Right

오른쪽 : Front

왼쪽 : Back

5시, 7시 방향 : Perspective



렌더링 방식

좌표계

월드 좌표계 : 불변의 기준으로 기즈모의 방향이 일정함. 절대좌표


로컬 좌표계 : 액터 스스로가 기준. 이동, 회전에 따라 기즈모의 방향이 바뀜.

분할 화면



집중 모드 : F11


Outliner

현재 이 레벨에 배치되어 있는 액터

액터는 레벨에 배치할 생각이다.

에디터 내의 해당 액터의 위치를 확인하는 방법 : 마우스 우클릭 Browse to Asset / Ctrl + B

폴더 생성

우클릭 - New Folder


레벨 생성

다른 엔진 등에서 맵으로도 불리기도 함



Construction Script

게임을 플레이 하지 않아도 실행됨

Event Graph

게임을 플레이 해야만 실행됨

XYZ

Yaw Pitch Roll



현재위치에서 플레이하기

Current Camera Location

또는 뷰에 마우스 우클릭 후 Play form here



Private / Public
변수의 값을 블루프린트 내에서가 아니라 에디터에서 직접 설정하고 싶을 경우에 변수 오른편의 눈모양을 눌러서 Public으로 만들 수 있다. Public으로 만들면 해당 Actor의 Detail에서 수정 할 수 있다.


충돌 판정

액터에 Collision, 즉 충돌 판정이 가능한 컴포넌트를 추가한다.

그리고 오른쪽 버튼을 눌러 어떠한 충돌 이벤트를 확인할지 정한다.


OnComponentBeginOverlap

한 컴포넌트가 충돌 범위 안에 들어오면 실행된다.

OnComponentEndOverlap

한 컴포넌트가 충돌 범위 안을 나가면 실행된다.









함수 내에서는 시간과 관련된 것들을 사용할 수 없기 때문에 이러한 경우는 Custom Event를 사용한다.




Branch

다른 엔진에서의 if와 동일함.



Tick

Frame per seconds


Delta Seconds = 1초 / fps


Delay

 지연


Enumeration

변수들의 리스트

생성한 Enumeration을 변수로 설정할 경우, 드롭다운 메뉴를 통해 리스트 중에 원하는 변수 하나를 선택할 수 있다.


Switch

조건문

변수 E_Time이 가리키는 것이 Delay이기 때문에 Switch에서 Delay가 실행된다.


구조체

여러 변수들을 묶어 놓은 것. Struct


Timeline

시간에 따라 값을 변화 시키기 위해 사용.

Track을 추가하고 Length를 설정하면 해당 길이만큼 값이 변화한다.

오른쪽 마우스 클릭 - Add key 로 그래프에 키 값을 추가 할 수 있다.


Play : 한 시점에서 타임라인 진행

Play from Start : 처음 시점에서 타임라인 진행

Stop : 타임라인의 시간을 멈춤. 

Reverse : 한 시점에서 타임라인의 반대방향으로 진행

Reverse from End : 타임라인의 끝 시점에서 처음으로 진행

Set New Time : 현재 시간에 New Time에 설정된 값으로 설정

New Time : 위의 시간 설정을 위해 사용


Update는 타임라인의 진행으로 매tick 매번 실행되고,

Finished는 타임라인이 끝에 도달 했을 때 실행된다.


TimerByEvent

해당 이벤트를 time 시간이 지난 후 실행한다.



Clear and Invalidate Timer by Handle을 실행하면, 타이머가 멈추어서 루프가 멈추게 된다.


Date

UTC Now - Split Struct pin 또는 Break Date Time

UTC Now의 경우 국제 협정시로 해당하는 날짜를 가져와주는데, 실제 시간과 차이가 있어서  9시간 차이를 더하고 24시간으로 나머지 연산함.


Delta


Lerp


Interp to


Set Global Time Dilation

게임의 속도 조절


물리 시행시 Simulate Physics를 설정하지 않으면 작동하지 않으니 주의



🎶참고

단축키 요약



https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI/Utilities/Time/SetTimerbyEvent?application_version=5.5



이 블로그의 인기 게시물

250523 PCG 2

PCG Building Volume Sampler를 사용할 경우 Voxel Size를 맞추어주자. 2m길이를 Transform Points로 Offset을 이동시켜 Difference를 통해 메쉬를 생성한다. 사용시에 Pivot의 위치가 중앙이 아니면 제대로 표현되지 않을 것이다. PCG Landscape Landscape 생성후 PCG Volume 생성. Get Landscape Data - Surface Sampler 안보인다면 Generate Surface Sampler 일반 그리드 패턴으로 서피스 데이터에 포인트를 샘플링합니다. 이 노드에는 다음과 같은 옵션이 있습니다. 포인트 규모(Point Extents) : 서피스의 기본 그리드 셀 크기를 정의합니다. 여유(Looseness) : 변형 가능한 셀 크기를 정의합니다. 실제로 셀 크기는 포인트 규모 * (1 + 여유)입니다. 제곱미터당 포인트(Points Per Square Meter) : 유지되는 셀의 비율을 계산합니다. 이 프로퍼티는 그리드가 클 때 과잉을 제한합니다. Looseness : 기본 1. 0일경우 Extent의 길이 만큼, 1일경우 2배가 됨.  Attribute Filter를 생성하고, Material에 해당하는 Layer를 찾아서 이름을 넣어준다. Type을 Float로 하고 Float Value를 설정하면, 해당 머티리얼이 색칠된 정도 0~1에서 Operator에 의해 >(초과) 0.6초과 일 경우만 생성되게 할 수 있다. 값을 1로 하고 Equal을 이용해서 1인 경우만 생성되게 하는 것도 가능하다. plugin Water body lake를 넣으면, 이또한 Spline이라는 것을 알 수 있다. 따라서 Get Spline Data-Spline Sampler를 통해 사용할 수 있다. GetActorData와 Difference를 통해서 Lake내부를 제거해주기 PCG Mesh Mesh Sampler를 쓰기위해 Get Actor Property를 이용하면, 해당 액터가 ...

250604 저장불러오기

SaveGame 블루프린트 생성 Game Instance 생성, Init 오버라이드 AC_Inventory Save Load

250609 온라인

 Online Subsystem외에도 어느 서버를 사용할 것인지에 따라 플러그인을 추가해주어야 한다. 공통으로 OnlineSubsystem으로 시작한다. 헤더파일 CPP파일 cmd에서 Ipconfig를 통해 Ipv4를 넣어주면 된다. DefaultEngine.ini 수정 https://dev.epicgames.com/documentation/ko-kr/unreal-engine/online-subsystem-steam-interface-in-unreal-engine#%EC%99%84%EC%84%B1%EC%84%B8%ED%8C%85 [/Script/Engine.GameEngine] +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver") [OnlineSubsystem] DefaultPlatformService=Steam [OnlineSubsystemSteam] bEnabled=true SteamDevAppId=480 bInitServerOnclient=true [/Script/OnlineSubsystemSteam.SteamNetDriver] NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection" 전용 서버 없이 클라이언트가 서버를 만들 수 있게 함. 호스팅 Binaries와 Saved파일을 한번 제거해주고, Generate해주기 헤더파일 헤더파일 CPP 파일 CreateSessionComplete, FindSessionsComplete, JoinSessionComplete 생성자 CreateGameSession 세션을 생성하고 존재하면 제거한다. OnCreateSessionComplete ServerTrav...