분류 전체보기
-
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 애니메이션을 바탕으로 몽타주를 만들 수 있다. 이는 지난 글에서 다뤘었다. 그런데 몽타주를 살펴보면 섹션이라는 기능이 존재한다. 애니메이션에 섹션을 설정하면 애니메이션의 흐름을 설정할 수 있다. 예를들어 공격을 하는 애니메이션에 대해서 임의의 위치에 Attack01, Attack02 섹션을 만들고 몽타주를 플레이할 때, 몽타주 플레이 노드에 인자값으로 Attack02 섹션을 넣어주면 Attack02 섹션에서부터 애니메이션이 플레이 된다. 어떤 섹션부터 실행하는가, 섹션이 끝나면 어떤 섹션으로 넘어가냐, 섹션이 끝나면 루프를 돌..
[UE4/Theory] 010. 애니메이션 몽타주의 섹션!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 애니메이션을 바탕으로 몽타주를 만들 수 있다. 이는 지난 글에서 다뤘었다. 그런데 몽타주를 살펴보면 섹션이라는 기능이 존재한다. 애니메이션에 섹션을 설정하면 애니메이션의 흐름을 설정할 수 있다. 예를들어 공격을 하는 애니메이션에 대해서 임의의 위치에 Attack01, Attack02 섹션을 만들고 몽타주를 플레이할 때, 몽타주 플레이 노드에 인자값으로 Attack02 섹션을 넣어주면 Attack02 섹션에서부터 애니메이션이 플레이 된다. 어떤 섹션부터 실행하는가, 섹션이 끝나면 어떤 섹션으로 넘어가냐, 섹션이 끝나면 루프를 돌..
2020.07.09 -
캐릭터 블루프린트에 카메라를 달아주고 캐릭터 이동을 구현했었다. 그런데 막상 구현하니 캐릭터 애니메이션 처리와 카메라 처리가 상당히 부자연 스러웠다. 이는 다음의 값들로 수정해줌으로써 에러를 수정했는데 수정한 값들을 정리하고 지금보니 난해한 정리였다. 적어는 두겠지만 나중에 다시 이해할 수 있을지는 모르겠다. 캐릭터 이동에 따른 회전: 1. CharacterMovement / Rotation Settings / Orient Rotation to Movement 2. BluePrint(self) / Pawn / Use Controller Rotation Yaw. 카메라 처리 : Camera / Camera Settings / Inherit Yaw
[UE4/Issue] 캐릭터 이동에 따른 회전과 카메라 처리캐릭터 블루프린트에 카메라를 달아주고 캐릭터 이동을 구현했었다. 그런데 막상 구현하니 캐릭터 애니메이션 처리와 카메라 처리가 상당히 부자연 스러웠다. 이는 다음의 값들로 수정해줌으로써 에러를 수정했는데 수정한 값들을 정리하고 지금보니 난해한 정리였다. 적어는 두겠지만 나중에 다시 이해할 수 있을지는 모르겠다. 캐릭터 이동에 따른 회전: 1. CharacterMovement / Rotation Settings / Orient Rotation to Movement 2. BluePrint(self) / Pawn / Use Controller Rotation Yaw. 카메라 처리 : Camera / Camera Settings / Inherit Yaw
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 블렌드 스페이스에 대한 내용을 진행하기 전에 캐릭터에 대한 애니메이션 작업은 애니메이션 블루프린트에서 작업한다. 이번에 할 작업은 애니메이션 블루프린트가 캐릭터의 이동속도를 가지고 있어야 한다. Anim 블루프린트의 이벤트 그래프에 존재하는 Update를 통해 Velocity값에 따른 처리를 하도록 노드가 구성했다. '블렌딩 처리' 라는 작업에 대해서 전에 다뤄본적이 있다. 아래 링크를 참조하면 그 내용을 확인할 수 있다. https://onionisdelicious.tistory.com/31 [UE4/Theory] 004.캐..
[UE4/Theory] 009. Blend Space!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 블렌드 스페이스에 대한 내용을 진행하기 전에 캐릭터에 대한 애니메이션 작업은 애니메이션 블루프린트에서 작업한다. 이번에 할 작업은 애니메이션 블루프린트가 캐릭터의 이동속도를 가지고 있어야 한다. Anim 블루프린트의 이벤트 그래프에 존재하는 Update를 통해 Velocity값에 따른 처리를 하도록 노드가 구성했다. '블렌딩 처리' 라는 작업에 대해서 전에 다뤄본적이 있다. 아래 링크를 참조하면 그 내용을 확인할 수 있다. https://onionisdelicious.tistory.com/31 [UE4/Theory] 004.캐..
2020.07.09 -
애니메이션을 하기 위해선 Anim 블루프린트를 사용하게 된다. 본인은 Anim 블루프린트에 New State Machine을 추가, DefaultSlot을 추가하고 연결하여 애니메이션 블루프린트를 구현했다. 이때 Warning이 발생했는데, 이는 프로젝트 세팅에서 다음의 옵션을 꺼주자 해결할 수 있었다.
[UE4/Issue] Allow Multi Threaded Animation Update애니메이션을 하기 위해선 Anim 블루프린트를 사용하게 된다. 본인은 Anim 블루프린트에 New State Machine을 추가, DefaultSlot을 추가하고 연결하여 애니메이션 블루프린트를 구현했다. 이때 Warning이 발생했는데, 이는 프로젝트 세팅에서 다음의 옵션을 꺼주자 해결할 수 있었다.
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 블루프린트에서도 인터페이스가 존재한다. 이때의 인터페이스는 그래픽이 아닌 프로그래밍의 의미이다. 프로그래밍의 인터페이스와 같이 함수를 선언만 해주고 필요한 곳에서 정의해주는 '그' 인터페이스를 말하는 것이다. 내 블루프린트에서 함수를 추가할 수 있으며, 디테일 창에서 해당 함수의 입력/출력 인자를 설정할 수 있다. 프로그래밍에서 존재하는 기존의 인터페이스와 동일하게 이곳에서 함수를 구현하지 않는다. 필요한 블루프린트 클래스에서 인터페이스를 할당해주고 그곳에서 바로 구현하여 사용하는 방식이다. 다음은 블루프린트 클래스에서 인터페..
[UE4/Theory] 008. 인터페이스 Interface!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 블루프린트에서도 인터페이스가 존재한다. 이때의 인터페이스는 그래픽이 아닌 프로그래밍의 의미이다. 프로그래밍의 인터페이스와 같이 함수를 선언만 해주고 필요한 곳에서 정의해주는 '그' 인터페이스를 말하는 것이다. 내 블루프린트에서 함수를 추가할 수 있으며, 디테일 창에서 해당 함수의 입력/출력 인자를 설정할 수 있다. 프로그래밍에서 존재하는 기존의 인터페이스와 동일하게 이곳에서 함수를 구현하지 않는다. 필요한 블루프린트 클래스에서 인터페이스를 할당해주고 그곳에서 바로 구현하여 사용하는 방식이다. 다음은 블루프린트 클래스에서 인터페..
2020.07.09 -
기본적으로 여타 객체지향 언어에서 그랬듯이, 부모 클래스를 상속받은 자식 클래스는 부모 클래스의 함수를 그대로 사용이 가능했다. Custom Event 노드도 그대로 사용이 가능했지만 BeginPlay, Tick 같은 녀석들은 따로 부모 노드가 존재해서 부모 노드를 실행해야지만 그대로 사용이 가능했다.
[UE4/Issue] 부모 클래스의 함수를 자식클래스에서 실행기본적으로 여타 객체지향 언어에서 그랬듯이, 부모 클래스를 상속받은 자식 클래스는 부모 클래스의 함수를 그대로 사용이 가능했다. Custom Event 노드도 그대로 사용이 가능했지만 BeginPlay, Tick 같은 녀석들은 따로 부모 노드가 존재해서 부모 노드를 실행해야지만 그대로 사용이 가능했다.
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 게임에서 사용하는 조작에 대해서 따로 다룰 수 있도록 블루프린트에선 Player Controller 블루프린트가 존재한다. PlayerController 를 상속받은 블루프린트는 실질적인 컨트롤러를 담당하는 블루프린트이다. 이동/공격/점프 등 플레이어가 입력하는 값들을 이곳에서 정리하면 훨씬 체계적이며 효율적으로 사용할 수 있을 것이다. 이 역시 GameMode에 할당해서 기본 플레이어 컨트롤러로써 사용이 가능하다. 사용자가 구현한 Game Controller와 Player Character를 GameMode에 할당해주면 캐릭..
[UE4/Theory] 007. Player Controller!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 게임에서 사용하는 조작에 대해서 따로 다룰 수 있도록 블루프린트에선 Player Controller 블루프린트가 존재한다. PlayerController 를 상속받은 블루프린트는 실질적인 컨트롤러를 담당하는 블루프린트이다. 이동/공격/점프 등 플레이어가 입력하는 값들을 이곳에서 정리하면 훨씬 체계적이며 효율적으로 사용할 수 있을 것이다. 이 역시 GameMode에 할당해서 기본 플레이어 컨트롤러로써 사용이 가능하다. 사용자가 구현한 Game Controller와 Player Character를 GameMode에 할당해주면 캐릭..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼의 레벨에서는 레벨마다 해줘야 할 기본적 세팅을 설정할 수 있도록 레벨 블루프린트가 존재했다. GameMode 또한 그런 기본적 세팅이 가능한 타입 중 한 가지로, 이를 이용하면 똑같은 유형의 레벨을 설정해주기 위해 반복되는 작업을 대신해 줄수 있다. 블루프린트를 생성할 때 Game Mode Base로 생성하면 GameMode Blueprint 클래스를 생성할 수 있다. 내부에는 Classes 카테고리가 존재하는데 여기서 플레이어 캐릭터/컨트롤러 등을 설정해 줄수 있다. 이렇게 설정한 후에, 월드 세팅에서 Game Mod..
[UE4/Theory] 006. GameMode!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼의 레벨에서는 레벨마다 해줘야 할 기본적 세팅을 설정할 수 있도록 레벨 블루프린트가 존재했다. GameMode 또한 그런 기본적 세팅이 가능한 타입 중 한 가지로, 이를 이용하면 똑같은 유형의 레벨을 설정해주기 위해 반복되는 작업을 대신해 줄수 있다. 블루프린트를 생성할 때 Game Mode Base로 생성하면 GameMode Blueprint 클래스를 생성할 수 있다. 내부에는 Classes 카테고리가 존재하는데 여기서 플레이어 캐릭터/컨트롤러 등을 설정해 줄수 있다. 이렇게 설정한 후에, 월드 세팅에서 Game Mod..
2020.07.09 -
언리얼 엔진은 사용하는 버전에 따라 visual studio 의 버전 역시 조절해야 한다. 버전에 민감하다. 예를 들면 Unreal Engine 4.22.3 을 사용할 때, Visual Studio 2017을 사용하여야 한다. 이는 언리얼 엔진 공식 문서에서도 확인할 수 있다. https://docs.unrealengine.com/ko/Programming/Development/VisualStudioSetup/index.html 언리얼 엔진용 Visual Studio 구성 언리얼 엔진 4 에서 작동하도록 Visual Studio 를 구성하는 팁입니다. docs.unrealengine.com Visual Studio를 설치할 때, 설치 관리자에서 다음의 요소를 설치해 주어야 한다. 1. C++를 사용한 게..
[UE4/Issue] 언리얼 프로젝트를 C++로 할 때 주의할 이슈언리얼 엔진은 사용하는 버전에 따라 visual studio 의 버전 역시 조절해야 한다. 버전에 민감하다. 예를 들면 Unreal Engine 4.22.3 을 사용할 때, Visual Studio 2017을 사용하여야 한다. 이는 언리얼 엔진 공식 문서에서도 확인할 수 있다. https://docs.unrealengine.com/ko/Programming/Development/VisualStudioSetup/index.html 언리얼 엔진용 Visual Studio 구성 언리얼 엔진 4 에서 작동하도록 Visual Studio 를 구성하는 팁입니다. docs.unrealengine.com Visual Studio를 설치할 때, 설치 관리자에서 다음의 요소를 설치해 주어야 한다. 1. C++를 사용한 게..
2020.07.09 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼은 C++ 언어로 프로젝트를 구현할 수 있다. 기본적인 C++ 문법에서 추가적으로 알아야 할 키워드가 존재하는데, 이 점들을 숙지하면 C++로 할 수 있었던 작업을 똑같이 할 수 있을 것이다. 여담으로 C++을 사용하여 구현하는 방식과 블루프린트를 사용하여 구현하는 방식의 호불호가 갈리며, 각자의 장단점이 서로 대립하여 존재한다. 본인은 C++와 블루프린트를 비교했을때 블루프린트 쪽이 오타율이 적었지만, 개발 속도는 코드 쪽이 빠르던 것을 알 수 있었다. 선택은 자유다. 기존에 언리얼 프로젝트를 만들었던 방식엔 블루프린트..
[UE4/Theory] 005. C++로 다루는 언리얼!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼은 C++ 언어로 프로젝트를 구현할 수 있다. 기본적인 C++ 문법에서 추가적으로 알아야 할 키워드가 존재하는데, 이 점들을 숙지하면 C++로 할 수 있었던 작업을 똑같이 할 수 있을 것이다. 여담으로 C++을 사용하여 구현하는 방식과 블루프린트를 사용하여 구현하는 방식의 호불호가 갈리며, 각자의 장단점이 서로 대립하여 존재한다. 본인은 C++와 블루프린트를 비교했을때 블루프린트 쪽이 오타율이 적었지만, 개발 속도는 코드 쪽이 빠르던 것을 알 수 있었다. 선택은 자유다. 기존에 언리얼 프로젝트를 만들었던 방식엔 블루프린트..
2020.07.09 -
!!! NOTICE !!! 이 글은 DirectX의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! Direct3D가 어떤식으로 구현이 되는지 알아보려고 합니다. 이를 위해서 여러분은 먼저, SDK 를 설치해주어야 합니다. 구글에 'DirectX SDK' 를 검색하시면 마이크로소프트 공식 홈페이지에서 설치가 가능합니다. https://www.microsoft.com/en-us/download/details.aspx?id=6812 DirectX SDK - (June 2010) Download the complete DirectX SDK, which contains the DirectX Runtime and all Dir..
[DirectX] 001. CreateDevice!!! NOTICE !!! 이 글은 DirectX의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! Direct3D가 어떤식으로 구현이 되는지 알아보려고 합니다. 이를 위해서 여러분은 먼저, SDK 를 설치해주어야 합니다. 구글에 'DirectX SDK' 를 검색하시면 마이크로소프트 공식 홈페이지에서 설치가 가능합니다. https://www.microsoft.com/en-us/download/details.aspx?id=6812 DirectX SDK - (June 2010) Download the complete DirectX SDK, which contains the DirectX Runtime and all Dir..
2020.06.15 -
3D 그래픽을 렌더링하는데 있어서 가장 핵심이 되는 점은 정점(Vertex)입니다. 어떠한 삼각형을 그린다고 했을때, 3D 공간상에 올라갈 삼각형의 꼭지점 위치가 존재하는데요, 이를 정점이라고 합니다. 정점과 정점사이를 선으로 그어주면 그것이 선(Line)이 되고, 정점 3개가 만나 삼각형을 그리면 이를 폴리곤(Polygon)이라고 합니다. 실제로 모델링들을 보면 다수의 폴리곤이 존재하는걸 볼 수 있습니다. 3D 그래픽을 연산/처리한다는 것은 정점을 연산/처리한다는 개념이라고 생각할 수 있습니다. 정점 데이터(Vertex Data)가 들어오면, 이를 Tessellation 과 Vertex Processing 에서 정점들을 처리하도록 과정을 지납니다. 이렇게 처리된 데이터는 Geometry(기하학) Pro..
[Direct3D/Issue] Direct3D 그래픽 파이프라인 구조에 대해3D 그래픽을 렌더링하는데 있어서 가장 핵심이 되는 점은 정점(Vertex)입니다. 어떠한 삼각형을 그린다고 했을때, 3D 공간상에 올라갈 삼각형의 꼭지점 위치가 존재하는데요, 이를 정점이라고 합니다. 정점과 정점사이를 선으로 그어주면 그것이 선(Line)이 되고, 정점 3개가 만나 삼각형을 그리면 이를 폴리곤(Polygon)이라고 합니다. 실제로 모델링들을 보면 다수의 폴리곤이 존재하는걸 볼 수 있습니다. 3D 그래픽을 연산/처리한다는 것은 정점을 연산/처리한다는 개념이라고 생각할 수 있습니다. 정점 데이터(Vertex Data)가 들어오면, 이를 Tessellation 과 Vertex Processing 에서 정점들을 처리하도록 과정을 지납니다. 이렇게 처리된 데이터는 Geometry(기하학) Pro..
2020.06.15 -
벡터에 대한 이론을 가르칠때 가장 많이 나오는 예는 속력 / 속도 가 있습니다. '100km/h 의 힘으로 달리고 있다' 라는 예시와 '100km/h 의 힘으로 동쪽을 향해 달리고 있다'는 확연한 차이가 존재합니다. 이때, 속력은 전자와 같이 '크기'만을 내포하는 녀석이고, 속도는 '크기'와 함께 '방향'도 함께 내포하는 녀석입니다. 동시에 속력은 '스칼라'라고 언급되기도 하며, 속도는 벡터(Vector)라고 언급되기도 합니다. 벡터를 그림으로 표현하고자 할 때엔 화살표가 가장 인상적입니다. 어떠한 화살표를 그리면 화살표의 길이가 크기가 되고, 화살표가 향하는 방향이 말그대로 방향이 됩니다. 화살표 하나가 벡터를 지니는 셈입니다. 여기에 좀더 확실한 정보를 담기 위해서 다음과 같이 표현을 합니다. 다음과..
[Math] 벡터(Vector)에 대해벡터에 대한 이론을 가르칠때 가장 많이 나오는 예는 속력 / 속도 가 있습니다. '100km/h 의 힘으로 달리고 있다' 라는 예시와 '100km/h 의 힘으로 동쪽을 향해 달리고 있다'는 확연한 차이가 존재합니다. 이때, 속력은 전자와 같이 '크기'만을 내포하는 녀석이고, 속도는 '크기'와 함께 '방향'도 함께 내포하는 녀석입니다. 동시에 속력은 '스칼라'라고 언급되기도 하며, 속도는 벡터(Vector)라고 언급되기도 합니다. 벡터를 그림으로 표현하고자 할 때엔 화살표가 가장 인상적입니다. 어떠한 화살표를 그리면 화살표의 길이가 크기가 되고, 화살표가 향하는 방향이 말그대로 방향이 됩니다. 화살표 하나가 벡터를 지니는 셈입니다. 여기에 좀더 확실한 정보를 담기 위해서 다음과 같이 표현을 합니다. 다음과..
2020.06.15 -
!!! NOTICE !!! 이 글은 DirectX의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 보통 프로그래밍으로 게임을 만든다고 하면 접근성이 좋은 게임 엔진인 유니티, 언리얼 엔진을 다룰 것입니다. 이번 카테고리에선 그런 게임엔진들의 기초가 되었던 프로그램 중 하나인 DirectX를 다뤄 볼 것입니다. 정확히는 DirectX 에서 제공하는 3D 그래픽 연산을 다룰 것입니다. 그전에 이 글에서 DirectX를 정의해보도록 하죠. What is DirectX? 비주얼 스튜디오를 사용하는 프로그래머는 MS에서 제공하는 API를 이용하여 프로그램을 만듭니다. 이때, 프로그래머는 하드웨어에 직접 접근해서 연산을 처리하..
[DirectX] 000. DirectX 소개!!! NOTICE !!! 이 글은 DirectX의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 보통 프로그래밍으로 게임을 만든다고 하면 접근성이 좋은 게임 엔진인 유니티, 언리얼 엔진을 다룰 것입니다. 이번 카테고리에선 그런 게임엔진들의 기초가 되었던 프로그램 중 하나인 DirectX를 다뤄 볼 것입니다. 정확히는 DirectX 에서 제공하는 3D 그래픽 연산을 다룰 것입니다. 그전에 이 글에서 DirectX를 정의해보도록 하죠. What is DirectX? 비주얼 스튜디오를 사용하는 프로그래머는 MS에서 제공하는 API를 이용하여 프로그램을 만듭니다. 이때, 프로그래머는 하드웨어에 직접 접근해서 연산을 처리하..
2020.06.15 -
What is API : Application Programming Interface ? 영문 중에서 인터페이스(Interface)라는 용어가 사용되었습니다. 먼저 이것에 대해서 알아보겠습니다. 인터페이스는 기계 장치끼리의 데이터 교환을 위해서 마련된 수단, 방법이라고 합니다. '기계 장치'라고 말했지만, 꼭 기계에 한정되어 있지 않고 쓰입니다. 대표적인 예로써 TV라고 하는 기계에게 채널 7번을 틀려고 한다면 리모컨에서 7 버튼을 눌러서 '7번 틀어줘!'라고 신호(데이터)를 보낼 것입니다. TV는 그런 신호를 받아서 7번을 틀기 위한 작업을 수행합니다. 이때, 기계 내부에서 신호를 보내는 체계가 마련되어 있을 것입니다. 이런 체계/방법들이 인터페이스라고 할 수 있습니다. 위 예시에서 UI에 대한 개념도..
[Programming] API 란 무엇인가?What is API : Application Programming Interface ? 영문 중에서 인터페이스(Interface)라는 용어가 사용되었습니다. 먼저 이것에 대해서 알아보겠습니다. 인터페이스는 기계 장치끼리의 데이터 교환을 위해서 마련된 수단, 방법이라고 합니다. '기계 장치'라고 말했지만, 꼭 기계에 한정되어 있지 않고 쓰입니다. 대표적인 예로써 TV라고 하는 기계에게 채널 7번을 틀려고 한다면 리모컨에서 7 버튼을 눌러서 '7번 틀어줘!'라고 신호(데이터)를 보낼 것입니다. TV는 그런 신호를 받아서 7번을 틀기 위한 작업을 수행합니다. 이때, 기계 내부에서 신호를 보내는 체계가 마련되어 있을 것입니다. 이런 체계/방법들이 인터페이스라고 할 수 있습니다. 위 예시에서 UI에 대한 개념도..
2020.06.15 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! Mixamo나 마켓플레이스에서 3D모델을 FBX 파일로 가져오면 언리얼에서 그대로 사용할 수 있다. 애니메이션 역시 사용이 가능하다. 이번에 해볼 것은 Import한 3D 모델과 애니메이션을 이용하여 공격과 점프를 구현할 것이다. 참고로 공격은 애니메이션만 구현할 것이다. 적을 공격하고 데미지를 주는 메커니즘은 다루지 않는다. 캐릭터(플레이어) 공격 캐릭터 공격 애니메이션을 사용하기 위해서 애니메이션 몽타주를 사용할 것이다. 애니메이션 몽타주는 하나의 애셋에 들어있는 애니메이션을 합쳐 선택적으로 재생할 수 있도록 해주는 유연한..
[UE4/Theory] 004.캐릭터에게 생명을(공격, 점프 구현)!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! Mixamo나 마켓플레이스에서 3D모델을 FBX 파일로 가져오면 언리얼에서 그대로 사용할 수 있다. 애니메이션 역시 사용이 가능하다. 이번에 해볼 것은 Import한 3D 모델과 애니메이션을 이용하여 공격과 점프를 구현할 것이다. 참고로 공격은 애니메이션만 구현할 것이다. 적을 공격하고 데미지를 주는 메커니즘은 다루지 않는다. 캐릭터(플레이어) 공격 캐릭터 공격 애니메이션을 사용하기 위해서 애니메이션 몽타주를 사용할 것이다. 애니메이션 몽타주는 하나의 애셋에 들어있는 애니메이션을 합쳐 선택적으로 재생할 수 있도록 해주는 유연한..
2020.05.04 -
*스켈레톤 애니메이션 식물에는 줄기가 있어 똑바로 서 있을 수 있다. 인간에게는 근육을 잡아당겨 주는 골격이 존재해서 고유의 형태를 유지할 수 있으며, 관절이 있어서 다양한 동작을 표현할 수 있다. 스켈레톤 애니메이션은 인체의 골격을 가지고 있는 캐릭터 애니메이션에 사용되는 방법으로, 운동학적 방법에 의해 관절을 제어하여 애니메이션을 구현한다. 이때, 스켈레톤을 구성하는 인체의 골격 한 가닥, 한 가닥을 본이라고 한다. *루트 모션 스켈레톤 중에서 'root'라고 하는 본을 기준으로 만든 애니메이션이 존재하는데, 이 애니메이션의 캐릭터가 동작하는 모션을 루트 모션이라고 한다. 애니메이션을 만드는 애니메이터가 캐릭터의 역동적인 좌표이동을 직접 제어하기 위해 고안된 방법인데, 애니메이션에 의해 캐릭터가 움직..
[UE4/Issue] 스켈레톤 애니메이션, 루트모션, 루트본 등에 대해서*스켈레톤 애니메이션 식물에는 줄기가 있어 똑바로 서 있을 수 있다. 인간에게는 근육을 잡아당겨 주는 골격이 존재해서 고유의 형태를 유지할 수 있으며, 관절이 있어서 다양한 동작을 표현할 수 있다. 스켈레톤 애니메이션은 인체의 골격을 가지고 있는 캐릭터 애니메이션에 사용되는 방법으로, 운동학적 방법에 의해 관절을 제어하여 애니메이션을 구현한다. 이때, 스켈레톤을 구성하는 인체의 골격 한 가닥, 한 가닥을 본이라고 한다. *루트 모션 스켈레톤 중에서 'root'라고 하는 본을 기준으로 만든 애니메이션이 존재하는데, 이 애니메이션의 캐릭터가 동작하는 모션을 루트 모션이라고 한다. 애니메이션을 만드는 애니메이터가 캐릭터의 역동적인 좌표이동을 직접 제어하기 위해 고안된 방법인데, 애니메이션에 의해 캐릭터가 움직..
2020.05.04 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼 화면 구성에 대해 알아보았다. 각각 어떤 탭으로 나뉘어 있고, 어떤 기능을 하는지 각각의 명칭을 알려주었다. 이번에는 뷰포트를 이용해서 시점을 이동하고 액터를 다뤄보고 뷰포트에 대한 기능을 알아보자 뷰포트 뷰포트의 정의를 다시 확인하자. 뷰포트란 게임에서 플레이어가 돌아다닐 수 있는 공간인 레벨을 볼 수 있는 화면이다. 뷰포트를 통해서 레벨을 편집할 수 있으며, 게임을 테스트 할 때에도 뷰포트에서 플레이를 해볼 수 있다. 뷰포트 시점 이동 뷰포트를 테스트 해보기 위해서 시작용 콘텐츠를 사용해보자. 콘텐츠 브라우저에서 다..
[UE4/Theory] 003. 뷰포트 다뤄보기!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼 화면 구성에 대해 알아보았다. 각각 어떤 탭으로 나뉘어 있고, 어떤 기능을 하는지 각각의 명칭을 알려주었다. 이번에는 뷰포트를 이용해서 시점을 이동하고 액터를 다뤄보고 뷰포트에 대한 기능을 알아보자 뷰포트 뷰포트의 정의를 다시 확인하자. 뷰포트란 게임에서 플레이어가 돌아다닐 수 있는 공간인 레벨을 볼 수 있는 화면이다. 뷰포트를 통해서 레벨을 편집할 수 있으며, 게임을 테스트 할 때에도 뷰포트에서 플레이를 해볼 수 있다. 뷰포트 시점 이동 뷰포트를 테스트 해보기 위해서 시작용 콘텐츠를 사용해보자. 콘텐츠 브라우저에서 다..
2020.04.23 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼을 사용해보기로 했다면 우리는 언리얼 환경에서 익숙해질 필요가 있다. UI 며, 기능이며, 많은 면에서 처음이기에 어색할 수 밖에 없다. 첫 프로젝트를 만들고 언리얼 UI와 환경에 대해서 익숙해져보자. 언리얼 프로젝트 브라우저 처음 언리얼을 실행하면 제일 먼저 언리얼 프로젝트 브라우저를 확인할 수 있다. 언리얼 프로젝트 브라우저에선 새 프로젝트를 만들거나, 기존에 만들었던 프로젝트를 불러올 수 있다. 새 프로젝트를 만들때에도 1) 블루프린트 기반인지, C++ 기반인지, 2) 아무런 베이스 없이 기본으로 만들 것인지, 1인..
[UE4/Theory] 002. 언리얼 화면에 익숙해지자.!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 언리얼을 사용해보기로 했다면 우리는 언리얼 환경에서 익숙해질 필요가 있다. UI 며, 기능이며, 많은 면에서 처음이기에 어색할 수 밖에 없다. 첫 프로젝트를 만들고 언리얼 UI와 환경에 대해서 익숙해져보자. 언리얼 프로젝트 브라우저 처음 언리얼을 실행하면 제일 먼저 언리얼 프로젝트 브라우저를 확인할 수 있다. 언리얼 프로젝트 브라우저에선 새 프로젝트를 만들거나, 기존에 만들었던 프로젝트를 불러올 수 있다. 새 프로젝트를 만들때에도 1) 블루프린트 기반인지, C++ 기반인지, 2) 아무런 베이스 없이 기본으로 만들 것인지, 1인..
2020.04.21 -
!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 환영한다! 언리얼을 처음 접하는 사람이든, 언리얼을 다시 리뷰하는 사람이든, 언리얼을 시작했다는 점에 축하를 해주고 싶다! 뭐든지 시작이 제일 어렵다! 본인도 언리얼 강의를 들을 기회가 있었지만 자유로우면 항상 나태해지듯 시작을 계속 미루고 있었다! 하지만 이 글을 보고 있는 그대들은 첫 발걸음을 땠으니, 이 얼마나 대단한 일인가! 처음인 만큼 언리얼이 무엇인지 알아보고, 설치해보도록 하자! Unreal Engine 4 언리얼 엔진은 3D 게임을 개발할 수 있는 프로그램이며, 오늘날에 이르러서는 게임뿐만 아니라 시퀀서 툴 지원..
[UE4/Theory] 001. Hello Unreal! 언리얼 설치하기!!! NOTICE !!! 이 글은 언리얼의 기본 이론 등을 다루고 있습니다! 학습한 정보를 제가 기억하고 추후에도 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 환영한다! 언리얼을 처음 접하는 사람이든, 언리얼을 다시 리뷰하는 사람이든, 언리얼을 시작했다는 점에 축하를 해주고 싶다! 뭐든지 시작이 제일 어렵다! 본인도 언리얼 강의를 들을 기회가 있었지만 자유로우면 항상 나태해지듯 시작을 계속 미루고 있었다! 하지만 이 글을 보고 있는 그대들은 첫 발걸음을 땠으니, 이 얼마나 대단한 일인가! 처음인 만큼 언리얼이 무엇인지 알아보고, 설치해보도록 하자! Unreal Engine 4 언리얼 엔진은 3D 게임을 개발할 수 있는 프로그램이며, 오늘날에 이르러서는 게임뿐만 아니라 시퀀서 툴 지원..
2020.04.21 -
!!! NOTICE !!! 이 글은 유니티의 기본 이론 등을 다루고 있습니다! 제 편의에 따라 유니티의 기초부터 다루지 않을 수도 있습니다. 또한, 구글링을 통해서 얻은 정보를 제가 기억하고 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 프로젝트를 만들어 진행하다보면 수 많은 변수와 수 많은 함수를 볼 수 있다. 그러다보니 함수와 변수를 구분할 수 없어 변수를 입력하려 했더니 함수가 입력되는 현상을 볼 수 있다. 오늘은 변수와 함수를 구분할 수 있으면서 유니티 인스펙터 창에서도 필터링되어 보여지는 " m_ " 에 대해 알아보자. m_ : 변수와 함수를 구분하는 키워드 거창(?)하게 말했지만 사실 간단한 내용이다. 프로그래머는 변수와 함수에 대해 암묵적인(?) 이야기가 오고 간다. 어떠한..
[Unity/Theory] 002. 유니티 상에서 변수를 구분하는 " m_ "!!! NOTICE !!! 이 글은 유니티의 기본 이론 등을 다루고 있습니다! 제 편의에 따라 유니티의 기초부터 다루지 않을 수도 있습니다. 또한, 구글링을 통해서 얻은 정보를 제가 기억하고 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 프로젝트를 만들어 진행하다보면 수 많은 변수와 수 많은 함수를 볼 수 있다. 그러다보니 함수와 변수를 구분할 수 없어 변수를 입력하려 했더니 함수가 입력되는 현상을 볼 수 있다. 오늘은 변수와 함수를 구분할 수 있으면서 유니티 인스펙터 창에서도 필터링되어 보여지는 " m_ " 에 대해 알아보자. m_ : 변수와 함수를 구분하는 키워드 거창(?)하게 말했지만 사실 간단한 내용이다. 프로그래머는 변수와 함수에 대해 암묵적인(?) 이야기가 오고 간다. 어떠한..
2020.04.15 -
!!! NOTICE !!! 이 글은 유니티의 기본 이론 등을 다루고 있습니다! 제 편의에 따라 유니티의 기초부터 다루지 않을 수도 있습니다. 또한, 구글링을 통해서 얻은 정보를 제가 기억하고 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 유니티엔 Inspector 창이 존재한다. 뭘 당연한 이야기를.. Inspector 창은 객체, 에셋 등을 아울러서 디테일한 데이터를 표시해주는 창이다. C# 스크립트 클래스를 구현해서 객체 컴포넌트로 할당해주면 인스펙터에서도 해당 클래스에서 선언된 public 변수들을 확인할 수 있는데, 프로그래머가 구현한 내용들과 사전에 제공되어 있는 클래스Rigidbody2D 라든지..를 비교해보면 변수들이 따닥따닥 붙어있는 변수와 띄엄띄엄 잘 나눠둔 변수를 볼 ..
[Unity/Theory] 001. Unity Inspector Attribute!!! NOTICE !!! 이 글은 유니티의 기본 이론 등을 다루고 있습니다! 제 편의에 따라 유니티의 기초부터 다루지 않을 수도 있습니다. 또한, 구글링을 통해서 얻은 정보를 제가 기억하고 사용해두기 위해 기록해둔 내용입니다! 이 점 유의하고 봐주세요! 유니티엔 Inspector 창이 존재한다. 뭘 당연한 이야기를.. Inspector 창은 객체, 에셋 등을 아울러서 디테일한 데이터를 표시해주는 창이다. C# 스크립트 클래스를 구현해서 객체 컴포넌트로 할당해주면 인스펙터에서도 해당 클래스에서 선언된 public 변수들을 확인할 수 있는데, 프로그래머가 구현한 내용들과 사전에 제공되어 있는 클래스Rigidbody2D 라든지..를 비교해보면 변수들이 따닥따닥 붙어있는 변수와 띄엄띄엄 잘 나눠둔 변수를 볼 ..
2020.04.15 -
!! NOTICE !! 이 글은 프로젝트를 진행하며 작성한 글입니다. 주관적인 생각과 의견, 진행하며 생긴 일, 진척도 등의 내용이 적혀있습니다. 그 점 유의하며 읽어주세요! 이번에 대학교에서 캡스톤 디자인 강의를 듣게 되었다. 3학년에 이런 강의를 들으니 몬가 신기한 기분이다. 이런건 4학년때 듣는 걸로 알고 있었는데 벌써부터 선배분들 졸작준비에 참여하게 되서 여러모로 긴장되기도 하다. 초반 회의를 진행하면서 정해진건 이 게임의 컨셉과 장르, 진행방식과 파트 분배, 기타 등등이었다. 요즘 시국에 따라 컨셉을 정하게 되었는데, "마스크를 구매하러 약국에 달려가는 직장인"을 중심으로 돌아가는 이야기가 되었다. 그 중에서 내가 맡은 파트는 먼저, "캐릭터 조작"이다. 중요한 파트이다보니 초반 토대를 어떻게 ..
[2020.1학기 캡스톤] 001. 게임 초반기획 및 캐릭터 이동 구현!! NOTICE !! 이 글은 프로젝트를 진행하며 작성한 글입니다. 주관적인 생각과 의견, 진행하며 생긴 일, 진척도 등의 내용이 적혀있습니다. 그 점 유의하며 읽어주세요! 이번에 대학교에서 캡스톤 디자인 강의를 듣게 되었다. 3학년에 이런 강의를 들으니 몬가 신기한 기분이다. 이런건 4학년때 듣는 걸로 알고 있었는데 벌써부터 선배분들 졸작준비에 참여하게 되서 여러모로 긴장되기도 하다. 초반 회의를 진행하면서 정해진건 이 게임의 컨셉과 장르, 진행방식과 파트 분배, 기타 등등이었다. 요즘 시국에 따라 컨셉을 정하게 되었는데, "마스크를 구매하러 약국에 달려가는 직장인"을 중심으로 돌아가는 이야기가 되었다. 그 중에서 내가 맡은 파트는 먼저, "캐릭터 조작"이다. 중요한 파트이다보니 초반 토대를 어떻게 ..
2020.04.15 -
게임엔진이라곤 유니티만 사용해왔던 사람이 처음 언리얼을 짧게나마 사용하면서 들었던 생각을 정리해보았다. * 몇몇 단축키는 유니티와 유사했다. 예를 들어 Alt + 좌클릭 드래그로 객체를 둘러본다던지 F키로 객체를 찾는 둥.. * UI도 대강 비슷했다. 뷰포트 = 씬뷰 + 겜뷰 디테일 = 인스펙터 월드 아웃라이너 = 하이어라키 콘텐츠 브라우저 = 에셋 모드 = ??? * 그래도 다른부분이 상당수 보였다. 유니티의 Scene = 언리얼의 Level 유니티의 게임 오브젝트 = 언리얼의 액터 (둘다 객체라는 점은 같은 모양이다.) * 유니티와 언리얼의 XYZ 좌표계 방향이 서로 다르다! 유니티의 앞이 Z축이었다면 언리얼은 윗방향이 Z축이었다. * 언리얼의 거리 단위는 cm이다. * 언리얼의 프로그래밍 방법은 비..
[UE4/Theory] 000. 처음 시작하면서 들었던 생각들게임엔진이라곤 유니티만 사용해왔던 사람이 처음 언리얼을 짧게나마 사용하면서 들었던 생각을 정리해보았다. * 몇몇 단축키는 유니티와 유사했다. 예를 들어 Alt + 좌클릭 드래그로 객체를 둘러본다던지 F키로 객체를 찾는 둥.. * UI도 대강 비슷했다. 뷰포트 = 씬뷰 + 겜뷰 디테일 = 인스펙터 월드 아웃라이너 = 하이어라키 콘텐츠 브라우저 = 에셋 모드 = ??? * 그래도 다른부분이 상당수 보였다. 유니티의 Scene = 언리얼의 Level 유니티의 게임 오브젝트 = 언리얼의 액터 (둘다 객체라는 점은 같은 모양이다.) * 유니티와 언리얼의 XYZ 좌표계 방향이 서로 다르다! 유니티의 앞이 Z축이었다면 언리얼은 윗방향이 Z축이었다. * 언리얼의 거리 단위는 cm이다. * 언리얼의 프로그래밍 방법은 비..
2020.04.11 -
해외 유튜버 Brackeys 의 영상을 보고 공부하며 익힌 로직이다. 씬 전환하는 방법에 대한 내용으로, 결과물은 깔끔한 연출을 볼 수 있었다. https://github.com/tomekichi1551/Unity-Practice tomekichi1551/Unity-Practice Contribute to tomekichi1551/Unity-Practice development by creating an account on GitHub. github.com
[Logic] 씬 전환 로직 Scene Transition해외 유튜버 Brackeys 의 영상을 보고 공부하며 익힌 로직이다. 씬 전환하는 방법에 대한 내용으로, 결과물은 깔끔한 연출을 볼 수 있었다. https://github.com/tomekichi1551/Unity-Practice tomekichi1551/Unity-Practice Contribute to tomekichi1551/Unity-Practice development by creating an account on GitHub. github.com
2020.01.15 -
C++의 특징- C언어의 특징을 모두 물려 받았다.구조화 프로그램 기법(함수)를 지원하며 C보다 훨씬 개선되었다. 또한 포인터를 사용한 저 수준의 메모리 조작이 가능하다. 기본적으로 C언어를 확장하거나 개선했다.- 객체지향 프로그램 기법을 지원한다.class, friend, private 등 객체 지향 개념을 지원한다. 대표적인 예로 캡슐화, 상속성, 다향성이 존재한다.- 일반화 프로그램 기법을 지원한다.Template 의 추가로 Generic 프로그램 기법을 지원한다. 템플릿과 STL(Standard Templete Library) 가 인상적이다. C++ 설계 원칙- 실행성능을 최대한 높인다. C++는 C보다 코드가 더 많고 실행속도 역시 느리다.- 프로그램의 이식성을 최대한 높인다. C++는 대부분의..
[C++] 00.Introduce C++C++의 특징- C언어의 특징을 모두 물려 받았다.구조화 프로그램 기법(함수)를 지원하며 C보다 훨씬 개선되었다. 또한 포인터를 사용한 저 수준의 메모리 조작이 가능하다. 기본적으로 C언어를 확장하거나 개선했다.- 객체지향 프로그램 기법을 지원한다.class, friend, private 등 객체 지향 개념을 지원한다. 대표적인 예로 캡슐화, 상속성, 다향성이 존재한다.- 일반화 프로그램 기법을 지원한다.Template 의 추가로 Generic 프로그램 기법을 지원한다. 템플릿과 STL(Standard Templete Library) 가 인상적이다. C++ 설계 원칙- 실행성능을 최대한 높인다. C++는 C보다 코드가 더 많고 실행속도 역시 느리다.- 프로그램의 이식성을 최대한 높인다. C++는 대부분의..
2018.07.30 -
'※이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.http://book.naver.com/bookdb/book_detail.nhn?bid=6984786 1.5 프로그램 개발 과정 ● 요구 사항 분석프로그램을 사용하는 사용자들의 요구 사항을 정리하는 일이다. 요구 사항이 분명하지 않은 사항이 있으면 프로그래머가 사용자에게 질문해서 사용자의 요구를 좀 더 정확하게 파악할 필요가 있다.주로 풍부한 프로그래밍 경험과 알고리즘 설계 경험을 지니고, 분석 업무에 대해서도 잘 훈련된 자가 담당한다. 이들을 '시스템 분석가' 라고 부른다. ● 알고리즘 개발프로그램 개발 과정의 핵심..
[C] 01 프로그래밍의 개념 - 1.5 프로그램 개발 과정'※이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.http://book.naver.com/bookdb/book_detail.nhn?bid=6984786 1.5 프로그램 개발 과정 ● 요구 사항 분석프로그램을 사용하는 사용자들의 요구 사항을 정리하는 일이다. 요구 사항이 분명하지 않은 사항이 있으면 프로그래머가 사용자에게 질문해서 사용자의 요구를 좀 더 정확하게 파악할 필요가 있다.주로 풍부한 프로그래밍 경험과 알고리즘 설계 경험을 지니고, 분석 업무에 대해서도 잘 훈련된 자가 담당한다. 이들을 '시스템 분석가' 라고 부른다. ● 알고리즘 개발프로그램 개발 과정의 핵심..
2018.05.06 -
※이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.http://book.naver.com/bookdb/book_detail.nhn?bid=6984786 1.4 알고리즘이란? ● 알고리즘이란?문제를 풀기 위하여 컴퓨터가 수행하여야 할 단계적인 절차를 기술한 것이 알고리즘(algorithm)이다. 알고리즘을 프로그래밍 언어로 구현하면 프로그램이 된다.프로그램을 구현하기에 앞서 알고리즘을 고민하고 프로그램을 작성하는 것이 좋은 프로그래머이다.알고리즘을 고안할 땐 해당 문제의 복잡도를 CPU가 바로 실행할 수 있을 정도까지 분해하여야 한다.ex) 요리법 ● 알고리즘 기술 방법..
[C] 01 프로그래밍의 개념 - 1.4 알고리즘이란?※이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.http://book.naver.com/bookdb/book_detail.nhn?bid=6984786 1.4 알고리즘이란? ● 알고리즘이란?문제를 풀기 위하여 컴퓨터가 수행하여야 할 단계적인 절차를 기술한 것이 알고리즘(algorithm)이다. 알고리즘을 프로그래밍 언어로 구현하면 프로그램이 된다.프로그램을 구현하기에 앞서 알고리즘을 고민하고 프로그램을 작성하는 것이 좋은 프로그래머이다.알고리즘을 고안할 땐 해당 문제의 복잡도를 CPU가 바로 실행할 수 있을 정도까지 분해하여야 한다.ex) 요리법 ● 알고리즘 기술 방법..
2018.05.06 -
※이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.http://book.naver.com/bookdb/book_detail.nhn?bid=6984786 1.3 C언어의 소개 ● C언어의 역사C언어는 1969년과 1973년에 걸쳐서 AT&T의 벨연구소에서 Dennis Ritchie에 의하여 탄생하였다.'C'라고 하는 이름이 만들어진 이유는 직전에 만들어진 언어의 이름이 'B'였기 때문이다. C언어는 UNIX 운영체제를 개발하기 위하여 만들어졌다. 'Space Travel' 이라고 하는 게임을 하기 위해서 사무실에 있었던 미니컴퓨터(PDP-11)에 이식하려고 했지만 운영체..
[C] 01 프로그래밍의 개념 - 1.3 C언어의 소개※이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.http://book.naver.com/bookdb/book_detail.nhn?bid=6984786 1.3 C언어의 소개 ● C언어의 역사C언어는 1969년과 1973년에 걸쳐서 AT&T의 벨연구소에서 Dennis Ritchie에 의하여 탄생하였다.'C'라고 하는 이름이 만들어진 이유는 직전에 만들어진 언어의 이름이 'B'였기 때문이다. C언어는 UNIX 운영체제를 개발하기 위하여 만들어졌다. 'Space Travel' 이라고 하는 게임을 하기 위해서 사무실에 있었던 미니컴퓨터(PDP-11)에 이식하려고 했지만 운영체..
2018.05.06 -
※이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.http://book.naver.com/bookdb/book_detail.nhn?bid=6984786 1.2 프로그래밍 언어 ● 기계어컴퓨터가 바로 이해할 수 있는 단 하나의 언어이다. 모든 언어는 최종적으로 기계어가 된다.기계어는 특정 컴퓨터의 명령어(instruction)를 이진수로 표시한 것이며, 컴퓨터 하드웨어를 설계할 때 결정된다. 하드웨어에 따라 달라지기 때문에 철저히 하드웨어에 종속된다.1200001111 10111111 01000101 11111000cs ● 어셈블리어기계어는 인간이 사용하기에는 어렵고 오..
[C] 01 프로그래밍의 개념 - 1.2 프로그래밍 언어※이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.http://book.naver.com/bookdb/book_detail.nhn?bid=6984786 1.2 프로그래밍 언어 ● 기계어컴퓨터가 바로 이해할 수 있는 단 하나의 언어이다. 모든 언어는 최종적으로 기계어가 된다.기계어는 특정 컴퓨터의 명령어(instruction)를 이진수로 표시한 것이며, 컴퓨터 하드웨어를 설계할 때 결정된다. 하드웨어에 따라 달라지기 때문에 철저히 하드웨어에 종속된다.1200001111 10111111 01000101 11111000cs ● 어셈블리어기계어는 인간이 사용하기에는 어렵고 오..
2018.05.06