Installation Video Player #1

우문기 감독의 부탁으로 설치작품을 하나 만들고 있다. 비디오가 재생되다가 사람이 가까이 다가가면 특정 장면으로 바뀌는 작품이다. 우문기 감독이 영상을 제작을 하고 나는 개발을 하고 있다.

개발은 라즈베리파이와 아두이노를 이용하여 하고 있다. 센서는 라이다센서를 사용할 예정인데 일단 테스트는 초음파센서를 통해 하고 있다.

라즈베리파이의 크로미움브라우저로 동영상을 재생을 하고, 아두이노 레오나르도로 키보드값을 보내 영상을 컨트롤하는 방법을 사용한다. 가장 쉽고 리스크 없이 개발할 수 있는 솔루션이다. 웹 브라우저에서 동영상을 제어하는 법은 지난번 러봇랩 프로젝트를 도와주면서 만들어놓은 코드를 활용해서 어렵지 않게 만들었고, 아두이노에서 센서값을 받아서 라즈베리파이에 키보드 입력신호로 보내는 것도 간단해서 쉽게 만들었다.

문제는 리눅스에서 자동으로 웹페이지를 띄우고, 전체화면으로 만들고, 마우스커서를 없애는 것인데 리눅스는 별로 다뤄본 적이 없어서 이 부분이 어려웠다. 이 부분은 다음을 참고하여 해결하였다.

https://diyprojects.io/open-html-page-starting-raspberry-pi-os-chromium-browser-full-screen-kiosk-mode/

https://2021.jackbarber.co.uk/blog/2017-02-16-hide-raspberry-pi-mouse-cursor-in-raspbian-kiosk

아직 코드를 다듬고 해결해야할 부분이 조금 남았지만 리눅스 자동실행 부분을 해결하게 되어서 한시름 놓았다.

VFX Graph #3

마이크로 들어오는 오디오 소스를 이용해서 사운드 비주얼라이제이션을 했다. 예상했던대로 쉽게 되었다. 헤드폰 마이크와 USB 마이크 둘 다 작동을 잘 하였다.

고흐 그림에 사운드를 입혀서 비주얼라이제이션도 성공했다. 그림파일을 포인트 캐쉬로 변환해서 VFX에 이용할 수 있다. 많은 부분에 활용이 가능할것 같다. 인상주의 화가들의 작품을 주로 다룰것 같은데, 고흐를 필두로 한 인상주의 그림들은 그 화풍이 미디어 아트에 아주 적합한 소재이다. 많은 미디어 아트에서 고흐릐 작품을 쓰는데는 다 이유가 있다. 클로드 모네의 작품으로 잔잔한 음악의 사운드 비주얼라이제이션을 만들어 보면 좋을것 같다.

사운드 비주얼라이제이션의 가장 큰 어려움은 사운드 값을 원하는 대로 맵핑하는것이 어렵다는 점인데 연구를 계속 해서 원하는 결과물을 만들어 보는것을 목표로 해야겠다.

VFX Graph #2

Unity VFX Graph를 공부한지 일주일이 지났다. 그동안 나름 성과가 있었다. 기본적인 개념을 익히고 이것저것 만들어 보았는데 결과물이 시각적으로 입팩트 있게 나오다 보니 흥미가 생긴다. 어제는 드디어 사운드 비주얼라이저를 만들었다. 오디오 소스를 바로 읽어들일 수 있는 프로퍼티 바인더가 있어서 C# 스크립트의 도움 없이도 만들 수 있었다.

마이크에서 들어오는 오디오를 비주얼라이제이션 하는 작업도 해봐야겠다. 이 부분은 아무래도 C# 스크립트와 VFX Graph간의 연결이 필요해 보인다.

파티클의 갯수가 아주 많고 매스가 큰 이펙트도 테스트를 해봐야겠다.

VFX Graph #1

Unity 3D 에서 GPU를 기반으로 수백만개의 파티클을 만들 수 있는 툴이 바로 “VFX Graph”이다. 실시간으로 아주 미려한 비주얼 이펙트를 만들어 낼 수 있다. 그래서인지 요즘 인터랙티브 미디어아트에서 수요가 있는듯 하다. 1월에만 VFX에 대한 문의가 두번이나 있었다.

아직은 제대로 만들 자신이 없어서 반려했지만 공부를 해봐야겠다. 잘 모르는 분야라 시간은 좀 걸리겠지만 Unity에서 툴을 쉽게 만들어놔서 만들어내는데는 크게 어려울게 없어보인다.

디자너가 배우면 좋은 프로그래밍 언어

나는 디자인 전공자이고 현재는 디자인과 개발업무를 같이하고 있다. 업무의 대부분은 가까운 미래에 나올 소프트웨어나 하드웨어의 연구개발(research and development)이다. 개발은 50% 이상이 프론트엔드개발이고 하드웨어, 데이터 통신 등의 개발도 가끔 하게된다.

대학 디자인전공의 겸임교수도 겸직하고 있기 때문에 디자인과 학생들에게서 프로그래밍 공부에 대한 질문을 많이 듣는다. 가장 많이 듣는 질문은…

“어떤 프로그래밍 언어를 공부하면 좋나요?”

그래서 디자이너가 배우면 좋은 프로그래밍 언어에 대해서 생각을 정리해 보았다. 디자이너는 시각적인 부분을 전문적으로 다루는 직군이기 때문에 GUI 개발이 가능하거나, 시각적인 결과물을 만들어 내는 개발 언어가 적합하다.

가장 좋은 언어는 웹 언어이다. 쉽고 빠르게 배울 수 있다. 그 중에서 프론트 엔드 (front end) 개발에 사용되는 언어를 배우면 가장 좋다.

  • HTML
  • CSS
  • JavaScript

화면을 구성하고 인터랙션 되는 프로그램을 만들고 싶다면 위 세 가지 언어를 배우면 된다. 요즘은 웹 뿐만 아니라 어플리케이션 개발에도 저 세 가지 언어가 많이 쓰인다. 특히 javscript는 정말 다양한 분야의 개발에서 쓰이기 때문에 한가지 언어만 공부하라고 하면 단연 javscript를 추천한다.

다음으로 추천할 언어는 Processing 이다.

  • Processing

프로세싱은 디자이너와 예술가 및 학생들을 위해 미디어아트 및 교육용으로 만들어진 언어이다. Java를 기반으로 만들어 졌다. 따라서 문법은 Java와 동일하다. 하지만 비전공자를 위해 만들어진 언어이기 때문에 문법이 Java보다 단순하다. 간단하게 몇 줄의 코드로 시각적인 표현이 가능하기 때문에 시각적인 부분을 다루는 디자이너가 배우기 좋다.

다음은 Unity 3D와 C# 이다.

  • C#

레귤러 C#을 배우기는 어렵지만 Unity 3D와 함께 같이 배우면 간단한 게임부터 시작해서 시각적인 시뮬레이션등을 만들 수 있다. Unity 3D는 기본적으로 게임엔진이지만 3D 애니메이션, 건축 시뮬레이션이나 기타 시각적 시뮬레이션 구현등에도 충분히 활용할 수 있다. 따라서 디자이너가 Unity 3D와 C#을 통해 인터랙티브한 시각적 결과물을 표현할 수 있는 범위가 많이 넓어지게 된다.