Pd study 3일차
이것저것 신경 쓰이는 것들이 있었던데다 너무 게으른 나머지 포스트를 미뤘다.
오늘에야 정리한다.
2016년 10월 29일 토요일에 했던 스터디다.
초보자인 분은 로드뱅의 2.2.4 Miscellaneous을 봐 오기로 했다.
그 이후에 Gem을 살펴보았다. 이번에도 좀 너무 훅 들어간 감이 있지만, 그때그때 만들어서 하는 방법도 좋은 것 같다.
*2.2.4 Miscellaneous의 대략적인 제목들
2.2.4.1 Sending and receiving
2.2.4.1.2 Sending with lists
2.2.4.1.3 A series of send lists
2.2.4.1.4 Value
(이 오브젝트는 잘 안써서 몰랐는데 보낸 뒤 뱅을 주면 아웃풋된다, 쓸만한 곳이 있을 것같다.)
2.2.4.2 Loadbang
2.2.4.3 GUI options
이렇게 컨트롤 데이터는 끝났다.
다음은 오디오 쪽인데 Gem과 연동하면서 하는 쪽을 택할 것 같다.
01. Gem 3D Cube
3D 물체를 Gem 윈도우에 띄우는 것을 해보았다.
메세지 박스를 이용하여 4가지 명령을 한꺼번에 주었다.
(reset, window size, window open, rendering start)
[gemhead]에선 gemlist가 나간다. (실제로 화면에 나타나는 것들이 이것을 통해 나간다)
[ortho] 오브젝트는 3D 물체가 화면의 가장자리로 가면 어안처럼 보이는 현상을 없애준다.
[rotateXYZ]는 물체를 회전하게 한다. X, Y, Z 축으로 돌아간다.
[cube] 정육면체의 물체를 만든다. 기본적으로 가운데에 생긴다. 아규먼트인 0.5는 사이즈.
(lighting $1)은 일단 접어두자.
실행하여 rotate를 돌려본 장면.
[cube]에 연결된 (draw line)을 누르면 선적으로 그림을 그리게 된다.
창을 종료할 때는 [gemwin]에 연결된 (0, destroy)를 눌러 종료하자.
02 Gem_cube_use_separator
[separator] 오브젝트를 활용하여 각자 rotate-회전을 할 수 있도록 하였다.
만약 [separator]를 쓰지 않으면 모든 도형이 같이 돌아갈 것이다.
[translateXYZ]는 도형의 위치를 옮긴다.
기본적으로 도형이 생기는 위치는 정 가운데 (0, 0)이며 X는 +가 되면 오른쪽으로, -가 되면 왼쪽으로 움직이며 위치한다.
Y는 +는 위로, -는 아래로 간다.
세 도형이 겹치지 않도록 하나는 정가운데, 왼쪽, 오른쪽으로 위치하게 하였다.
여기서는 (draw line)을 [send] 오브젝트를 써서 세 도형에 한 번에 보내었다.
[send] 오브젝트는 이름을 붙이며, 같은 이름이 적힌 [receive] 오브젝트를 통해 데이터를 전달한다.
[send toCubes]라고 명하여 [receive toCubes]로 받았다. 이 오브젝트는 [s toCubes]와 [r toCubes]로 줄이는 것이 가능하다.
그리고 이것을 번거롭지 않게 클릭하지 않기 위하여 [loadbang] 오브젝트를 통해서 창이 켜지자 마자 'Bang'신호를 주어 셋팅하도록 만들어놓았다.
실행화면
03 Gem_if_don't_use_separator
[separator]를 사용하지 않았을때를 가정한 패치
04 Gem_cube_with_line
[line] 오브젝트를 사용하여 도형을 회전시켜 움직여 보았다.
[line]은 (목표치 시간) 순으로 메세지 리스트를 보내서 활용할 수 있다.
(500 1000)이라고 적힌 리스트를 넣어주면 500까지 1000ms(1초)동안 숫자가 점차적으로 증가하거나 낮아진다.
이것을 [rotateXYZ]에 연결하여 큐브를 회전시켜 보았다.
[delay] 오브젝트를 사용하여 1초 뒤에 뱅을 저장해뒀다가 보내서
다시 0까지 2000ms 동안 돌아가도록 설정하였다.
05 Gem_cube_with_counter&sound
사운드와 연동하여 큐브를 차례대로 움직이는 패치
동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.
이 주의 퀴즈는 Toggle을 껐다 켜는 것을 응용하여 도형을 나타났다 없어졌다 하도록 하는 것이었다.
동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.