일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- cc4
- 오블완
- ue5
- c++
- JavaScript
- 마야
- ANIMATION
- unreal
- autodesk
- Costume
- reallusion
- UnrealEngine
- 개발
- HTML
- iclone
- modeling
- visualstudio
- C언어
- 3d
- C
- js
- 언리얼엔진
- 3dmodeling
- charactercreator
- 애니메이팅
- 티스토리챌린지
- 프로그래밍
- character
- animating
- 개발블로그
- Today
- Total
목록개발일지 (52)
개발나라 스용공주

해시 테이블의 경우 자료를 분산시켜 관리하여 빨리 찾을 수 있도록 도와준다. 우리가 어떤 값을 빨리 찾고 싶을 때 그 값을 내가 원하는 특정 번호로 치환할 수 있는 해시 함수를 구해야한다. 어떤 데이터를 더 단순하게 표현하여 그 공식에 따라 독립적으로 배치해줘야한다. 해시테이블 같은 경우 아래 사진과 같이 키(Key)와 밸류(Value)로 이뤄져있다. 아래 사진의 예시는 전화번호부 형식을 해시테이블로 만든 경우이다. 이름으로 전화번호를 찾을 수 있는 전화번호부처럼 Key값이 이름이고 Value값이 전화번호에 해당한다. 1. 데이터 추가와 삭제 아래 사진과 같이 Add를 활용하여 키와 값을 넣어줄 수 있다. 그리고 넣어준 데이터를 Remove에 키 값만 입력하여 지워줄 수 있다. 2. 같은 키에 중복 입력..

배열은 자료구조의 종류 중 하나이다. 더보기 선형 : 자료를 순차적으로 나열함 (ex. 배열, 연결리스트, 스택, 큐) 비선형 : 하나 자료 뒤에 다수의 자료가 올 수 있음 (ex. 트리, 그래프) 여기서 배열은 자료를 순서에 맞게 순차적으로 나열하는 선형 구조이며 연속된 메모리의 공간을 할당 받아 사용한다. 배열은 메모리 공간을 추가나 축소가 안되는 단점이 있다. 이를 보완한 배열이 바로 동적배열인데 블루프린트에서 사용하는 배열의 개념이 이 동적배열과 같다. 동적배열이란 유동적으로 연속된 메모리 공간을 배치해주고 실제로 여유 메모리를 남겨두는 방식이라 메모리를 얼만큼 사용할지 모르고 유동적인 변경이 가능하다. 따라서 배열이 위의 설명과 같이 공간의 추가가 가능하고 고정되어져 있지 않다면 동적배열인 것이..

이 전 글에서 다음과 같이 함수를 만들고 매개변수에 해당하는 입력값을 받을 수 있도록 하였다. 이제 New Function 0이라는 함수를 레벨 블루프린트에서 꺼내다 사용하면 매개변수 New Param과 New Param 1의 값을 아래 사진과 같이 받아줄 수 있다. 이때 변수 A와 B를 get A, get B 해준것인데 이것은 변수 안에 들어있는 값을 복사해준 것이다. 더보기 Get : 해당 변수의 값이 무엇인지 묻는 느낌으로 값을 복사해오는 개념 Set : 값을 변경 만약 변수 내부에서 그 값 자체를 가져오려면 그 원본 값을 건들여야하는데 그 값을 건들이기 위해서는 참조를 사용해야한다. 더보기 참조 : 주소값을 이용해 동작하는 것 참조를 사용하는 방법은 다음과 같다. 해당 함수로 들어가서 우측 디테일..

이번 글에서 알아볼 지역변수는 아래 사진과 같이 함수에서 내부적으로 사용하는 변수를 의미한다. 지역변수는 해당 변수마다 고유한 영역(자기가 포함되어진 함수 내부)이 있어 그 곳에만 존재한다. 지역변수는 함수가 실행되는 동안에만 유효하고 함수 호출이 완료되면 소멸된다. => 따라서, Stack 메모리 영역에서 저장된다. 더보기 Stack 메모리 영역 : 함수가 임시적으로 자기가 사용하는 결과물을 저장함 (ex. 지역변수, 매개변수 등등 일시적으로 그 상황에서만 사용되고 함수가 완료되면 소멸) Heap 메모리 영역 : 안정적이고 프로그래머가 직접적으로 값을 할당해주고 직접적으로 해지까지 해줘야하는 값을 저장함

블루프린트에서 함수를 만드는 방법은 여러가지가 있다. 아래 사진과 같이 레벨 블루프린트 같은 블루프린트의 좌측에서 함수를 추가하는 방법도 있다. 하지만 이러한 방법은 C++에서 멤버함수로 취급하는 것과 같은 함수이다. 더보기 함수를 사용하게 되면 기능별로 묶어두어 찾아서 사용하는데 편리할 수 있다. 반복해서 사용될 기능을 함수로 만들면 좋다. 함수로 한번에 묶어서 관리하면 나중에 수정 사항이 생겼을 때 해당 함수만 수정하면 되어서 복붙한 코드에 대해 수정할 일이 생겨도 함수만 수정하면 된다. (함수가 아니라 복붙해서 코드를 여러군데 뿌려두었을 경우 하나하나 수정하다가 오류가 날 수 있음) 일반적인 함수를 만들고싶다면 다음과 같이 블루프린트 => 블루프린트 함수 라이브러리의 순으로 하여 만들어줄 수 있다...

블루프린트에는 커스텀 이벤트 (Custom Event)가 있는데 이 커스텀 이벤트는 함수랑 비슷하다고 생각한..다 어떤 느낌에서 비슷하냐면 함수처럼 일정 기능을 하도록 만들어둔 뒤 그 함수를 필요한 곳에 갖다쓰면 그 함수의 기능을 하나하나 작성하지 않아도 그 함수의 기능을 사용할 수 있는 점에서 비슷하다. 아래 사진과 같이 커스텀 이벤트를 검색해준다. 그럼 아래 사진과 같이 생성되는데 사용하고자하는 이름을 작성하고 BeginPlayEvent와 같이 이 이벤트를 실행하였을 때 작동할 기능의 노드를 짜준다. 아래 사진과 같이 이 이벤트를 실행하면 Bye 라는 문구가 출력되도록 만들었다. 그래서 키보드 1을 누르면 Hello가 출력되고 그 이후에 Print Bye 이벤트를 함수 호출의 개념으로 호출하여 출력하..

오늘 알아볼 형태는 열거형이다. 열거형은 숫자로 일일히 우리가 표현하고자 하는 상태의 값을 지정하는 것이 아니라 열거형으로 분리하여 우리가 표현하고자 하는 상태의 이름을 문자로서 표현(지정)해주는 것이다. 열거형의 장점은 형식 자체는 정수와 크게 다른 점은 없지만 우리가 일일히 코딩해주지 않고도 원하는 숫자에 그에 맞는 이름을 붙여서 사용해주는 것이 유용하다. 열거형은 아래 사진과 같이 만들 수 있다. 만든 열거형에 들어가서 Idle, Moving, Attack 등의 상태를 만들어줄 것이다. 그럼 이제 이 3가지 상태는 EState 안의 하나의 타입으로 분류 된다. 열거형을 만들어준 뒤 저장 후 블루프린트로 돌아와서 해당 열거형을 담을 변수를 만들어주고 변수 유형을 방금 생성한 열거형인 EState로 설..

1. Gate 흐름을 제어해주는 역할로 댐이 물을 담아뒀다가 필요에 의해 수문을 여는 것과 비슷하게 볼 수 있다. Start Closed가 체크되어져있으므로 그냥 Enter를 누르면 Exit에 있는 노드가 실행되지 않고 Open으로 한번 열어준 뒤 Enter를 누르면 실행된다. 그리고 Close를 누르고 다시 Enter를 눌러주면 Exit 이후가 실행되지 않고 Toggle의 경우 한번은 Open이고 한번은 Close고 이 두개를 반복하여 실행하기 때문에 Open의 순번일 때 Exit 이후의 노드가 실행되고 Close의 순번일 땐 Exit가 실행되지 않으므로 아무것도 실행되지 않는다. 실행의 흐름을 통과시키다 막아야될 때 사용 가능하다. 2. Multi Gate 위에 한개의 수문으로 이루어진 댐 같은 Ga..