목록전체 글 (382)
Priv's Blog
1. 커뮤니케이션 매체VR은 매체다.커뮤니케이션 매체로써 VR은 다양한 잠재력과 특징을 지니고 있으며, 다른 커뮤니케이션 매체와도 연관이 깊다.효과적인 VR 경험을 개발하기 위해서는 VR이라는 매체의 기술만 이해하는 것으로는 부족하다.매체에 대한 배경 지식과 그 매체에 대한 이해, 특징과 장단점, 경험 등은 원활한 커뮤니케이션과 그러한 커뮤니케이션을 창작하는 것에 필수적이다.커뮤니케이션 매체로써 VR은 다른 전통적인 매체들과 다양한 특징들을 공유하고 있다.그렇다면 매체란 무엇일까?- 매체: 두 가지 이상의 것 사이에 존재하는 무언가, 하나에서 다른 것들로 전달될 수 있는 모든 것.여기서 전달되는 '모든 것'은 말 그대로 '모든 것'이다.아이디어처럼 추상적인 것도 될 수 있고, 어떠한 물건처럼 물리적인 것..
1. 개요현실 세계와 가상 세계에 대한 컴퓨터 매개 인터페이스의 형태 관련 용어들은 자주 혼동되는 경우가 있다.먼저 가상 세계와 밀접하게 관련된 다양한 표현들(VR, AR, Telepresence, Cyberspace)의 용어들이 어떻게 서로 비슷하고 다른지 간략히 요약해 보고 넘어가자. 1.1. VR, AR, TelepresenceVR, AR, Telepresence(텔레프레젠스)는 물리적 몰입 미디어의 세 가지 카테고리로 볼 수 있다.- VR: 사용자가 상호작용하는 순수한 인공 환경. 물리적인 현실과 관련이 없는 컴퓨터가 생성한 가상의 공간만 존재한다.- AR: 현실 세계와 컴퓨터가 생성한 정보를 혼합한 환경. 물리적인 현실이 신체에 가깝다.- Telepresence: 멀리 떨어진 사용자들이 실제 환..
1. '가상'과 '현실'의 정의VR이라고 부르는 '가상 현실'은 '가상'이라는 단어와 '현실'이라는 단어가 합쳐진 용어이다.어떻게 보면 '가상'과 '현실'은 서로 상반되는 개념으로 보일 수도 있는데, 이 두 단어가 어떻게 합쳐진 것일까?아니, 애초에 '가상'과 '현실'은 무엇일까?먼저 가상은 '본질적이고 효과적이지만, 실존하지는 않는 것'이라고 말할 수 있다.컴퓨터를 다루는 사람들이라면 이 개념이 어느 정도 익숙할 것이다.컴퓨터의 HW의 핵심 구성 요소 중 하나인 RAM의 용량이 부족할 때, 우리는 HDD 또는 SDD와 같은 보조 기억장치를 RAM 대신 사용하는 '가상 메모리(Virtual Memory)'를 활용한다.즉, 메모리 공간이라는 본질적인 개념도 존재하며 실제로도 메모리 용량이 늘어난(것 같이 ..
1. 함수C++에도 코드 재활용 수준과 가독성을 높여주는 함수가 존재합니다.함수는 데이터를 입력받으면 이를 활용해 특정한 기능을 수행한 뒤, 적절하게 가공된 출력을 하는 역할을 수행합니다.여기서 데이터의 입력은 '매개변수', 데이터의 출력은 '반환 값'이라는 용어로 칭합니다.매개변수와 반환 값은 존재하지 않을 수도 있으며, 그 종류와 개수도 무궁무진합니다.반복적으로 사용되는 코드의 일부분을 함수로 처리하면 동일한 기능을 수행해야 할 때 그 함수를 '호출'하면 되므로, 코드의 가독성과 재활용성을 높여줄 수 있습니다.함수의 이름이 곧 함수이 기능을 의미합니다.이 때문에 함수를 호출하는 것만으로도 그 함수의 실제 내용물을 모르더라도 어떠한 기능이 수행될 것인지를 쉽게 파악할 수 있습니다.이러한 점 덕분에 OO..
1. JsonUtilityUnity는 기본적으로 Json을 이용해 데이터를 외부에 저장할 수 있는 기능을 지원합니다.Unity Learn에서는 세션 간의 데이터 지속성으로 설명하고 있으며, 직렬화/역직렬화 개념을 기반으로 합니다. Manage scene flow and data: Implement data persistence between sessions출처 Implement data persistence between sessions - Unity Learn In this tutorial, you’ll write code to save and load the color that the user selects so that it persists between sessions of the applicat..
1. C++의 배열이제 C++ 내부에서 배열을 어떻게 다루는지 알아보겠습니다.정수형 변수에 1이라는 값을 더하면, 변수의 값이 1만큼 올라갑니다.하지만 포인터 변수는 다르죠.포인터 변수에 1이라는 값을 더하면 메모리 주소가 달라집니다.만약 포인터 변수의 타입이 double이라면, double은 8byte 크기이므로, 값이 더해졌을 때 8byte만큼 올라갈 것입니다.#include using namespace std;int main() { double* dp = new double; cout 그렇다면 C++에서 포인터가 배열을 가리킨다면 어디를 가리킬까요?위와 같이 단순히 하나의 값만 다루는 변수라면 문제가 없지만, 다들 아시다시피 배열을 여러 개의 값을 연속적으로 저장해 다루는 방식의 자료구조..
1. 메모리 주소포인터 변수는 일반적으로 데이터를 저장하는 것 대신, 메모리의 주소를 저장하는 변수라고 알려져 있습니다.메모리 주소는 말 그대로 데이터가 메모리 상에서 어디에 저장되어 있는지에 대한 주소로, 데이터 그 자체가 아닌 데이터의 위치를 의미합니다.C++에서 이 메모리 주소를 변수에 담기 위해서는 포인터 변수를 정의해 사용해야 하며, 포인터 변수는 메모리 주소만 저장할 수 있습니다. 2. & 연산자와 * 연산자포인터 변수는 값이 아닌 값의 주소를 저장합니다.포인터 변수를 선언하기 위해서는 * 연산자를, 포인터 변수에 저장할 데이터의 주소를 나타내기 위해서는 & 연산자가 사용됩니다.& 연산자는 해당 값의 메모리 주소를 가져오는 역할을 합니다.#include using namespace std;i..
1. 오버로딩 (Overloading)C#에서 사용되는 메서드는 OOP 언어의 개념 중 하나인 다형성에 기반하여 오버로딩이라는 기능을 사용할 수 있습니다.원래 메서드는 고유한 이름을 이용해 정의됩니다.메서드의 이름은 메서드 호출 시에 사용되기 때문에 말 그대로 '이름'의 의미를 지닙니다.하지만 사람들의 이름처럼 메서드의 이름도 '동명이인'이 존재할 수 있습니다.우리가 알고 있는 동명이인이라는 개념을 조금 더 살펴보자면, '이름'은 같지만 '존재'는 다른 두 명 이상의 사람이라고 말할 수 있습니다.여기서 '존재'는 뭘까요?더 쉽게 비유하자면, '알맹이'에 가깝습니다.얼굴도 다르고, 가정도 다르고, 나이도, 태어난 곳도 다른, 말 그대로 '다른 존재'입니다.그 존재를 호출하는 데 사용되는 이름이라는 것만 같..