*벡터의 내적에 대한 자세한 설명은 인터넷에 잘 정리된 글이 많기 때문에 설명하지 않겠습니다. 여기서는 핵심 정리만 하고 예제를 한두개만 살펴보도록 할 겁니다. 벡터의 내적 Dot값 계산하기 언리얼 엔진의 DOT 노드는 벡터의 내적을 말합니다. Dot을 치면 바로 나옵니다. Dot 은 말 그대로 곱셈입니다. 벡터 x y z 값에 임의의 숫자를 입력해 보겠습니다. 결과값은, X = 5 * 2 = 10 Y = 4 * 3 = 12 Z = 2 * 4 = 8 최종적으로 Dot의 결과값(float)은 10 + 12 + 8 = 30 이 됩니다. 그렇다면 이 Dot은 언제 유용할까? 그 전에 우리가 알고 있는 것들을 정리해보면, 이 정리를 활용해서, 영벡터가 아닌 두 벡터가 수직일 때 이므로 이다. 따라서 언리얼 엔진..
전체 글
C#, 유니티 게임 개발자안녕하세요 머리없는 개발자입니다. 언리얼 엔진4 프리징 현상, 즉 언리얼 엔진 4 완전멈춤 현상 해결 방법에 대해 간단하게 글 남기려고 합니다. 제가 진짜 X고생을 해가지고... 혹시 저랑 같은 문제 겪는 분 있으실까봐요 사건 발생: 주말에 컴퓨터 A/S를 받은 이후, 언리얼엔진4를 다운 받고 실행하자마자 프리징 현상 (완전 멈춤)이 생겼습니다. 현상: 언리얼 엔진4를 다운로드 한 이후에 프로젝트까지는 열리는데, 마우스를 움직이자 마자 혹은 다른 어떤 변화를 주자마자 바로 언리얼 엔진이 멈춤과 동시에, 조금 더 시간이 지나면 컴퓨터가 완전히 멈춰 버리더라구요. 마우스는 움직이는데 우클릭 좌클릭도 먹지 않는, 탈출하려면 강제종료를 할 수 밖에 없는, 프리징 (완전 멈춤) 현상이었습니다. 여러가지로 검색하고..
공용체형의 원리 이해하기 공용체 (union data type)라는 형은, 구조체형과 그 스타일이 매우 흡사한 사용자 정의형이다. 공용체형의 선언 union 공용체형명 { 형명 식별자; 형명 식별자; .... }; 공용체형의 구문은 구조체형과 매우 비슷하다. struct 키워드 대신에 union 키워드를 사용하면 된다! 공용체 또한 공용체형 변수를 선언해서 값을 저장할 수 있다. 단, 공용체형의 모든 멤버는 저장 공간을 공유하므로 -공용체에는 값을 한번에 하나만 저장시킬 수 있다.- 라는 특징이 있다. 다음 코드를 통해 확인해 보자. 이 코드에는 공용체형 union Year가 새롭게 선언되어서 형으로 사용되고 있다. 또한, 공용체형 변수 myyear을 선언한 후, myyear에 접근하고 있다. 코드의 실..
1. 구조체형의 원리 이전 글에서 배운 사용자 정의형 enum과 같이, 구조체형(structure data type) 또한 프로그래머가 만들 수 있는 사용자 정의형 중의 하나이다. 구조체형은 다른 형들을 묶어주는 기능이 있는 것이 특징이다. 예를 들어, 차량 번호(int형)와 연료의 양(double형)과 같은 다른 형의 값을 하나로 묶어서 차의 기본적인 속성을 표현할 수 있는 것이다. (쉽게 이해하면, 차 라는 물체를 코드로 구현해 주는 것이다.) 구조체에 어떤 형을 묶을지 결정하는 일을 구조체형 선언이라고 한다. 구조체를 선언할 때에는 struct 키워드를 사용한다. 구조체형의 선언 struct 구조체형명 { 형명 식별자; 형명 식별자; .......... }; 구조체형은 블록 안에 변수와 같은 요소들..
***혹시 구조체 struct 에 대해서 잘 모르시는 분들은 미리 struct에 대해서 공부한 후에 보세요!*** 구조체 struct, 구조체 응용(*포인터 인수로 사용하기) 1. 클래스의 원리 클래스에 대한 접근은, 현실 세계에 존재하는 특정한 '사물'이 어떠한 일반적인 요소를 가지고 있는지를 관찰하는 것부터 시작된다. 예를 들어, '자동차'라는 사물을 프로그램으로 표현한다고 생각해 보면, 자동차는 차량 번호를 가지고 있을 것이고 어느 정도 양의 연료를 싣고 있을 것이다. 또한 자동차는 차량 번호를 결정하고, 자동차에 연료를 넣고, 차량 번호와 남은 연료의 양을 표시하기 등의 기능을 가지고 있을 것이다. 클래스란, 이러한 사물의 상태 및 특성, 그와 관련된 기능을 정리하여 프로그램으로 표현하기 위해 사..
1. 식과 연산자 '식'은 1 + 2 와 같은 '수식'이다. C++에서는 이러한 식을 코드 안에서 사용한다. C++ 의 식(expression) 대부분은 연산자 (연산하는 것: operator), 피연산자 (연산 대상: operand) 를 조합해서 만든다. 예를 들어 '1 + 2'의 경우 '+'가 연산자, '1'과 '2'가 피연산자가 된다. 또한 식의 '평가(evaluation)' 라는 요소 또한 중요한 개념이다. 평가는, 식의 '계산'을 하는 것이다. 예를 들어, 1+2가 평가되면 3이 된다. 평가된 후의 결과값 3을 가리켜 '식의 값' 이라고 부른다. 2. 식의 값 출력하기 또한 변수를 피연산자로 사용할 수도 있다. 3. 키보드로 입력한 값을 더하기 위는 키보드로 입력한 값을 변수로 저장한 후 더하는..
지금까지 배운 언어들을 활용해서 블랙잭 게임을 만들어 보자. 참고> namu.wiki/w/%EB%B8%94%EB%9E%99%EC%9E%AD(%EC%B9%B4%EB%93%9C%EA%B2%8C%EC%9E%84) 블랙잭(카드게임) - 나무위키 인셔런스(Insurance) 딜러의 오픈된 카드가 에이스일 경우, 딜러가 블랙잭이 나올 가능성에 대비해 보험을 들어두는 것을 말한다. 건 금액의 절반(절반은 상한일뿐이고 절반이하를 지불하는것도 namu.wiki 전부 다 구현하기는 어려워 기본적인 게임 기능만 구현해 보았다. 1. 트럼프 카드 만들기 - 카드의 숫자와 문양 출력하기 - 구조체 활용 2. 플레이어의 손패(손에 들고 있는 패)와 손패의 합(카드의 숫자의 총합) 만들기 - 구조체 활용 3. 카드 섞기 - 스왑,..
동적배열 (vector) 이란 크기가 가변적인 배열이다. 1. What is Vector Container? 메모리의 블럭을 관리해주는 객체 자동으로 메모리를 할당해주는 배열 벡터에 들어가는 자료형은 모두 동일해야 한다. 끝에 삽입 삭제를 하기위해서 쓰는 컨테이너! 동적 배열이다! STL : Standard Template Library, C++을 위한 템플릿 라이브러리! 사이즈보다 더 공간을 잡아서 쓰는 것이 capacity(하단 5번에서 설명) vector 컨테이너는 자동으로 메모리가 할당되는 배열.정도로 생각해 볼 수 있다. 모든 STL 이 그렇듯. template를 사용하기 때문에 데이터 타입은 마음대로 넣을 수 있다. 맨 뒤쪽에서 삽입과 삭제가 가능하다. 중간에 값을 삽입 하거나 삭제할 수도 있..