전체 글 129

React 라이브러리 npm 배포

React 라이브러리를 만들어 npm(node package manager)에 배포해 봅시다. &nbsp&nbspSample Code React 라이브러리 만들기 React 라이브러리를 만드는 몇 가지 방법이 있는데 저는 create-react-library 패키지를 자주 사용합니다. 노드 쉘에서 전역으로 설치한 뒤 명령어로 실행하면 됩니다. npm install -g create-react-library create-react-library react3d react3d/examples/ 디렉토리에서 npm install && npm start 하면 브라우저에서 아래 화면이 나옵니다. 브라우저가 뜬 상태에서, 라이브러리를 고쳐봅시다. react3d/src/index.js 의 return 내 컨텐츠를 변경..

IT/Programming 2021.04.12

Blender Addon - Human Generator 캐릭터 생성

지난번 무료 3D 캐릭터 생성 툴 MB-Lab에 이어 오늘은 유료 툴 중에 이번에 새로 나온 Blender용 Add-on 소프트웨어, Human Generator를 살펴보겠습니다. Human Generator V2 Human Generator brings photorealistic humans to Blender in a way that's easier to use than ever before. It also includes hairstyles, clothing, expressions and a pose library. blendermarket.com Blender Add-on이라서 Blender Market에서 구입할 수 있습니다. HumanGenerator 툴 자체는 GPL 라이선스인데, 여기서 구..

예술/3D 툴 2021.04.10

네트워크 - 2. MQTT Client

MQTT 통신 시리즈입니다. 네트워크 - 1. MQTT 네트워크 - 2. MQTT Client ★Sample Code MQTT Client : 웹앱 웹앱에서 MQTT Client를 설치하는 방법은 다음과 같습니다. 일반적인 Javascript 코드라면, mqtt.js를 CDN으로 링크할 수 있습니다. Node 앱이라면 npm(node package manager)를 사용하여 mqtt.js로 설치할 수 있습니다. React 앱이라면 위 2번 방법으로 할 수도 있고 별도의 react-mqtt 패키지도 있긴 한데, 저는 개인적으로 2번 방식을 추천합니다. 우리는 간단한 React 앱을 만들어 볼 텐데요, 아래와 같이 MqttComponent를 품고 있는 앱인데요, MQTT 연결 상태나 설정은 MqttCompo..

IT/Network & OS 2021.04.08

3D 공포 애니메이션 제작 - 2. 캐릭터 애니메이션

3D 공포 애니메이션 제작 시리즈입니다. 3D 공포 애니메이션 제작 - 1. Mixamo 무료 캐릭터 3D 공포 애니메이션 제작 - 2. 캐릭터 애니메이션 유튜브 영상 지난 편에서 Mixamo에서 캐릭터와 캐릭터 애니메이션을 받아봤어요. 오늘은 캐릭터에 애니메이션을 적용해봅시다. 참고로 아래는 전체 제작 과정을 빠르게 요약한 영상인데요, 오늘 다룰 내용은 1:14~2:06 구간에 대한 내용입니다. 주의: 공포스러운 장면이 있으니 노약자나 임산부, 심장이 약한 사람은 보지마세요. 애니메이션 반복 Blender를 열고 File - Import - FBX 파일들을 불러옵니다. 파일탐색창에서 다운받은 .fbx 파일을 선택하면 모델을 불러옵니다. 스페이스 바를 누르면 애니메이션이 재생되는데요, 우리가 다운 받을 ..

단편소설 - 기억의 끝

"선생님, 기억은 무한한가요?" 최면에서 깨어난 남자는 의사에게 물었다. "글쎄요, 지금까지 밝혀진 바로는 뇌 어딘가에 기억이 써지는데 아직 연구가 필요한 분야죠. 왜 그런 질문을......?" "최면 중에 무언가를 보았어요." "아마도 잠재된 기억일 거에요. 최면으로 세 살까지 거슬러 올라갔으니까요." "그렇겠죠. 맞아요, 5살 때 우리집, 아빠, 엄마 모두 생생했어요. 좁지만 풍성한 꽃들로 가득한 마당에서 강아지와 뛰어 놀았죠. 아, 그 강아지 이름이 해피였어요. 등 뒤에서 강아지를 향해 '해피, 이리 온!'하고 외치는 엄마의 목소리를 들었죠." "아름답고 행복한 추억이군요." "네, 그때로 다시 돌아갈 수 있다면 좋겠어요. 정말로요! 그 날, 우리는 마당에서 바베큐를 했어요. 작은 연못이 있었는데...

문학/에세이 2021.04.07

힐링에세이 - 무한 ep3. 실무한

무한히 늘어나는 직선을 떠올릴 수 있을까? 유한한 선분을 끝없이 쪼개는 것을 상상할 수 있을까? 실무한 ​ 아리스토텔레스 이후 신의 영역으로 남겨진 실무한에 처음 가까이 다가간 사람은 갈릴레오였다. "살비아티는 모든 정수와 그 제곱수를 1대 1로 대응시키고 이렇게 말한다. 우리는 정수만큼 많은 제곱수가 존재한다는 결론을 내리지 않을 수 없다." -애머 액젤, 무한의 신비:수학, 철학, 종교의 만남, (승산, 2002), p68 갈릴레오는 무한의 이산적 discrete형태-무한하면서도 여전히 셀 수 있는 형태-를 언급했다." -애머 액젤, 무한의 신비:수학, 철학, 종교의 만남, (승산, 2002), p72 즉, 갈릴레오는 무한하면서도 셀 수 있는 가산무한집합(혹은 가부번집합)*1을 찾았다. 좀 더 쉬운 ..

문학/에세이 2021.04.07

힐링에세이 - 무한 ep2. 가무한

무한히 늘어나는 직선을 떠올릴 수 있을까? 유한한 선분을 끝없이 쪼개는 것을 상상할 수 있을까? 주어진 시간이 영원하지 않다면, 영원한 것을 생각할 수 없다. 가무한 ​ 아리스토텔레스가 무한을 가무한*1과 실무한*2을 나누어 인간이 알 수 없는 영역(실무한)을 도려내고자 했다. ​ 결론부터 말하자면 대체로 옳은 생각이었는데, 인간의 사유 체계로서는 참이지만 증명할 수 없는 영역이 있다는 사실이 괴델의 불완전성 정리*3로 증명되었기 때문이다. (신을 이해하는 방법은 믿음 뿐.) ​ 앞서 대체로 옳았다는 표현은, 가무한과 실무한을 나누던 경계, 즉 인간이 이해할 수 있는 범위가 아리스토텔레스와 추종자들이 믿었던 것보다는 더 넓었기 때문인데, 아리스토텔레스도 풀지 못했던 제논의 역설*4이 무한급수로 해결되었을..

문학/에세이 2021.04.07

힐링에세이 - 무한 ep1. 새

※우울감을 떨치기 위해 철학적 문제에 관해 생각해본다. ​ 구름이 잔뜩 끼어 텅 빈 것처럼 보이는 하늘이었다. 저 새들은 언제부터 보였을까, 새들이 처음 목격됐을 때 그 ​크기는 어땠을까? ​ 새들은 무한한 공간 저편에서 시나브로 나타나 유한한 공간을 맴돌다 다시 무한한 공간 저편으로 시나브로 사라졌다. ​ 새들이 어느 순간 얼마큼의 크기로 사라졌는지 말할 수 없지만, 나는 내 눈에 보이지 않는 무한 너머에 새들이, 또다른 공간이 이어진다고 믿는다. 무한은 안도감이다. 멀리 날아가 버린 새가 우리 눈에 보이지 않아도 여전히 그 새가 어딘가를 날고 있음을 믿는 것처럼 우리가 사는 공간이 어디에선가 갑자기 끝나버릴 것이라고는 생각하지 않는다. (연속된 공간) 공간 뿐만 아니라, 시간도 마찬가지여서 겪어 온 ..

문학/에세이 2021.04.07

Blender Addon - MB-Lab 캐릭터 생성

라이선스 문제 없이 3D 캐릭터를 사용하려면, 직접 만들거나 3D 캐릭터 생성 툴을 사용해야 합니다. 직접 만들려면 Maya, 3DS Max 같은 유료 툴이나 Blender 같은 무료 툴을 사용해서 만들어야 하는데, 참고로 아래 Blender로 캐릭터 만들기 튜토리얼은 좀 오래되긴 했어도 따라하기 좋은 훌륭한 튜토리얼입니다. Series 01: Blender Character Creation www.youtube.com 저도 이 튜토리얼을 보고 따라해 보면서 캐릭터들을 만들어봤는데, 역시나 퀄리티가 따라가주지 못했습니다. 그래서 찾아봤더니, 자동으로 3D 캐릭터를 만들어주는 툴이 꽤 있더군요. 오늘은 그 중 MB-Lab이라는 Blender add-on 오픈 소스 툴을 살펴보겠습니다. MB-Lab Prof..

예술/3D 툴 2021.04.06

네트워크 - 1. MQTT

MQTT 통신 시리즈입니다. 네트워크 - 1. MQTT 네트워크 - 2. MQTT Client ★Sample Code 웹앱에서 다른 앱이나 서버 등과 통신할 수 있는 다양한 프로토콜 서비스가 있지만, Restful, 웹소켓, MQTT이 자주 사용됩니다. 오늘은 그중 MQTT에 대해 알아볼 텐데요, 사실 MQTT는 웹앱에서만 쓰이는 것이 아니라 광범위하게 사용되는 일반적인 통신 프로토콜입니다. MQTT MQTT(Message Queuing Telemetry Transport)는 발행-구독(Publish-Subscribe) 구조로 구성되는데요, 말 그대로 누군가 어떤 주제(topic)로 메시지를 발행하면 해당 주제에 가입된, 즉 해당 주제를 구독 중인 디바이스들만 메시지를 받게 됩니다. 또한 이러한 발행-구..

IT/Network & OS 2021.04.02