일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- UnrealEngine
- c++
- coding
- Programming
- animating
- reallusion
- 개발블로그
- 프로그래밍
- 씨플플
- maya
- iclone
- 3d
- Costume
- 마야
- 언리얼엔진
- visualstudio
- charactercreator
- modeling
- 3dmodeling
- ue5
- autodesk
- 애니메이팅
- cc4
- C언어
- unreal
- ANIMATION
- UE
- blueprint
- C
- character
- Today
- Total
목록개발일지/UNREAL ENGINE (28)
개발나라 스용공주
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qjfTK/btsDiscHCVP/YG30HoFEt0xXsE8z0UkU3k/img.png)
이번 시간에는 흐름을 제어하는 제어문을 만드는 법을 알아볼 것이다. 1. Branch Branch는 C++에서 if문과 같은 의미이다. 아래 사진과 같이 연결된 조건이 True로 판별되면 True 노드와 연결되어져있는 블루프린트가 실행되고 아니라면 False에 연결된 노드가 실행된다. 2. Sequence (시퀀스) 시퀀스는 아래 사진과 같이 블루프린트 노드를 만들어 연결하면 Then 0에 연결된게 먼저 실행되고 Then 0이 모두 실행되어 끝나면 Then 1이 실행된다. 그리고 핀 추가 + 를 누르면 Then 2, Then 3 등 핀이 계속 늘어나는 형태이다. 코드를 정리하는 느낌으로 활용가능하다. 아래 사진과 같이 노드를 짜게 되면 다음과 같은 결과가 나오게 된다. 결과는 시퀀스 Then 0에 연결된..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tBLxn/btsC53emWZl/VH8L2Zcr1HRLzZ6XBFHCDK/img.png)
우리가 만약 게임에서 상점의 물건을 1개씩 사갈 때 현재 상점에 남아있는 물건 재고수를 확인시켜주는 글씨를 출력한다는 상황을 가정해보자. 이때 물건의 재고 수는 변수인데 Print Text로 출력하려면 다음과 같이 포맷 텍스트 (Format Text)를 사용해주면 된다. 더보기 포맷 텍스트(Format Text) : 위의 사진처럼 Apple Inventory {store}를 작성하고 enter를 눌러주면 {}안에 적혀있는 store가 핀으로 생기는데 여기에 내가 지금 출력하고 싶은 변수값을 연결시켜주면 {store} 대신 해당 변수값이 저장된다. => 나처럼 store가 아니여도 본인이 원하는 사용하고자 하는 이름을 써줘도 된다. 왼쪽 마우스 버튼을 누르면 Apple이라는 int형 변수의 값이 1씩 빠진..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mYJdl/btsC7nwEqcR/Wj2kh1Pk5KQS87L5PKs5s0/img.png)
1. 사칙연산 우리가 게임을 할 때 캐릭터가 체력(HP)을 잃는 경우와 더 추가되는 경우가 있다. 이럴 경우 먼저 HP라는 체력을 담는 변수에 +와 -를 이용해줄 수 있다. 아래 사진과 같이 Hp변수를 만들어주고 체력을 10씩 더하고 싶을 때 +를 사용하여 더해줄 수 있는 것을 확인 가능하다. 2. 변수로 승격 이란? 아래 사진과 같이 체력(HP)에 일정 값을 담은 변수를 곱해주고싶다면 새 변수를 만드는 방법도 있지만 아래 사진과 같이 비어있는 핀을 드래그하여 변수로 승격을 누른 뒤 이름을 설정해주면 따로 데이터형을 선택하지 않아도 되는 방법으로 편리하게 변수를 만들 수 있다. 3. 비교연산 비교연산자는 변수들의 크기를 비교해준다. 이를 이용하여 체력(HP)가 0 또는 0 이하가 되면 죽었다는 것을 알려..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qtEk5/btsC51fPsgU/W0qXtDO8KZkJkK1iFbhV50/img.png)
아래 사진과 같이 변수 Hp는 Integer형이고 Print Text 안에 In Text는 문자형이다. 이 두개는 변수형이 다른데 이 두개를 연결 시 To Text (integer)가 나오면서 두개의 다른 타입을 연결할 수 있도록 casting 해주고 있음을 확인할 수 있다. 더보기 Type Casting : 위와 같은 상황처럼 변수형이 서로 다른 변수들을 이어줘야할 때 강제적으로 이 둘을 이어주기 위해 다른 변수형으로 바꿔주는 과정
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xpyQT/btsC32eCNMx/U885iKzayxSYy0zLORbNo0/img.png)
오늘은 기본적인 블루프린트의 기초 설명에 대한 정리글이다. 먼저 레벨 블루프린트를 열면 아래와 같이 BeginPlay이벤트와 Tick이벤트 두가지가 뜬다. 더보기 이벤트(=약속) : 트리거의 개념, 어떤 상황에서 이 이벤트가 실행될 것이다. BeginPlay이벤트 : 게임 실행 시 최초의 한번만 실행된다. Tick이벤트 : 게임 실행 도중 매 프레임마다 이벤트가 실행된다. (ex.1초에 60프레임의 게임이면 60번 실행) 다음으론 다음 두 블루프린트가 이어진 노드를 주석처리해볼 것이다. 먼저 아래와 같이 두개 다 선택해준다. 그러고 선택된 두개의 블루프린트에 키보드 C를 눌러준다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vRkMr/btsCZ45hGAi/WmpHV8JLGoK2MZbtDh6Exk/img.png)
우리가 언리얼로 작업을 할 때 언리얼 엔진을 실행시키는 경우 엔진을 실행시키자마자 뜨는 첫 맵을 우리가 주로 작업하는 맵으로 설정해두면 편리하다. 이를 설정하는 방법은 다음과 같다. 프로젝트 세팅으로 이동한다. 프로젝트의 맵 & 모드를 좌측 상단에서 찾아준 뒤 아래 사진과 같이 Default Maps의 에디터 시작 맵과 게임 기본 맵 두가지를 모두 DevMap으로 변경해준다. 그리고 창을 닫아주면 설정이 끝이 난다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nlekr/btsn9KF54H9/yHx5bRwQiiTSQDU5TJA3qk/img.png)
이번 글은 언리얼엔진에서 3인칭 캐릭터를 레벨에 배치한 후 그 캐릭터를 키보드의 특정 키를 누르면 설정된 방향에 맞게 움직이는 것을 구현해볼 것 입니다. 우선 레벨에 3인칭 플레이어를 만들어 배치해야합니다. 3인칭 플레이어는 카메라가 플레이어를 일정 거리에서 비추고 있는 모습이 보여지는 것이 특징이므로 카메라를 만들고 플레이어를 배치해야할 것 입니다. 먼저 블루프린트 클래스를 만들어줍니다 블루프린트 클래스에서 부모클래스로 Character를 선택해줍니다. 뷰포트 화면으로 들어가 좌측에 Mesh를 선택해준 뒤 우측 디테일바에서 메시 안에서 SK_Mannequin을 선택해줍니다. 그리고 마네퀸의 방향과 위치를 뷰포트 화면에 있는 큐브와 하늘색 화살표를 참고하여 아래 사진과 같이 맞춰줍니다. 3인칭 시점으로 ..