일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- exception
- virtual function
- 오블완
- 티스토리챌린지
- 영화 리뷰
- implicit conversion
- 상속
- 언리얼
- 게임
- 함수 객체
- 반복자
- 다형성
- reference
- 스마트 포인터
- UE4
- operator new
- 참조자
- 비교 함수 객체
- lua
- Smart Pointer
- 영화
- resource management class
- effective stl
- Effective c++
- 암시적 변환
- 예외
- c++
- more effective c++
- 루아
- 메타테이블
- Today
- Total
목록분류 전체보기 (196)
스토리텔링 개발자
트레이스 예를 들어 캐릭터 정면에 위치한 오브젝트를 감지해야 한다고 칩시다. 어떤 방식으로 감지해야 할까요. 일직선을 체크해보면 될 것 같긴 한데. 어떤 방식으로 해야 할까요? 네. 바로 트레이스죠. 트레이스란 특정 점을 기준으로 일직선으로 광선을 쏴서 오브젝트를 검출하는 기능입니다. 유니티에서는 Raycast라는 이름으로 부릅니다. 사용 그렇다면 어떻게 트레이스를 사용할 수 있을까요. 언리얼에는 이를 쉽게 사용할 수 있도록 다양한 종류의 함수가 준비되어 있습니다. 일반적으로는 UWorld 객체의 LineTrace 함수 세트들을 사용하면 됩니다. 이름대로 일직선상을 트레이스하는 기능입니다. UWorld::LineTraceSingleByChannel() UWorld::LineTraceMultiByChann..
개요 IK는 일반적으로 특정 지형이나 물체에 반응하는 애니메이션에 사용합니다. 예컨대 캐릭터의 발이 계단 아래에 파묻히지 않도록 하려면 써야겠죠. 그렇다면 FK는 뭘까요? IK와는 어떤 차이가 있을까요? 아래에서 좀 더 자세히 알아보도록 하겠습니다. FK / IK 순운동학 (Forward Kinematics, FK) 조인트나 본에 회전을 직접 적용하는 방식을 순운동학(Forward Kinematics, FK)라고 합니다. 특정 조인트에 특정 회전값을 정확하게 정의내리는 방식 이라고 하면 조금 어렵게 들리는데요. 간단하게 말하자면 일반적인 애니메이션에 적용되는 방식을 말합니다. 위의 그림을 참고하면 좀 더 명확하죠. 왼쪽 본과 오른쪽 본의 각도를 직접 지정해 주었지요. 이렇게 직접적인 방식으로 정확히 회전..
직렬화 프로그램은 메모리에 올라가게 됩니다. 그러니 프로그램 내의 객체들도 메모리에 올라가 있을 것입니다. 그렇다면 그 객체들은 메모리에 어떤 형태로 올라가 있을까요? . . . 답은 알 수 없다 입니다. 컴퓨터가 메모리를 관리하면서 배정하므로 하나의 객체라도 연속적으로 모여있다고 단정지을 순 없습니다. 즉, 운 좋게 한 곳에 모두 모여 있는 경우도 있을테지만, 반대로 여기 저기 심하게 파편화 되어 있을 수도 있다는 것이죠. 이 객체의 데이터를 전송 / 저장하려 한다고 가정해 보죠. 그러기 위해선 우선 메모리의 어디에 어떻게 위치할지 모를 객체의 데이터들을 모아야 할 것입니다. 사실 직렬화란 그것이 전부입니다. 데이터를 모으고 전송하기 위해 패키징하는 작업을 뜻합니다. 현재 객체의 상태를 온전히 동일한 ..
델리게이트란? 자주 쓰는 프로그래밍적 기법 중에는 콜백이라는 것이 있죠. 어떤 함수를 직접 호출하는 게 아니라, 로직에 따라 원하는 타이밍에 호출할 수 있게 하는 기법입니다. 사실 C++는 언어적으로 깔끔하게 콜백을 지원하지 않습니다. 물론 '함수 포인터'를 사용한다면 콜백을 처리할 수 있습니다. 하지만 이는 함수의 포인터를 직접적으로 다루므로 댕글링 포인터 등의 문제에서 자유롭지 못합니다. 즉, 안전성이 많이 떨어집니다. 그래서 보통 C++ 베이스의 엔진들은 '델리게이트'라는 개념을 따로 구현하고 있습니다. 이는 콜백을 간단하고 안정적인 방법으로 사용할 수 있게 해줍니다. 아마 C# 등의 언어를 이미 접했다면 델리게이트의 개념에 익숙하시겠죠. 델리게이트(delegate)는 위임이라는 뜻을 가지고 있습니..