[IoT] MAKE with Open H/W + Node.JS - 4thPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
[IoT] MAKE with Open H/W + Node.JS - 5thPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
El documento presenta una lista de productos de la marca LEX JEANS con sus referencias y precios, incluyendo jeans, blusas, camisetas, accesorios y otros productos. Luego describe la tendencia de moda floral como protagonista en vestidos, blusas, camisetas, shorts y otras prendas con siluetas de moda como kimonos, faldas y enterizos.
[IoT] MAKE with Open H/W + Node.JS - 4thPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
[IoT] MAKE with Open H/W + Node.JS - 5thPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
El documento presenta una lista de productos de la marca LEX JEANS con sus referencias y precios, incluyendo jeans, blusas, camisetas, accesorios y otros productos. Luego describe la tendencia de moda floral como protagonista en vestidos, blusas, camisetas, shorts y otras prendas con siluetas de moda como kimonos, faldas y enterizos.
2. 카세트와 테이프
유니티에서 제공하는 사운드는 ‘fmod’이라는 음향 미들웨어를 탑재하고 있습니다.
기능 자체는 ‘Audio Source Component’로 구성되어 있고 사용자가 손쉽게 다룰 수 있습니다.
이해를 돕고자 카세트(Audio Source)에 테이프(Clip)를 넣고 재생하는 구성 방식이라고 말 할 수 있습니다.
( 1 / 7 )
Audio Clip
Audio Source
3. 평면사운드와 입체사운드
Audio Source 에는 여러 기능이 있는데 그 중 ‘Spatial Blend’ 이라는 기능을 보겠습니다.
우리가 알고있는 사운드는 평면 사운드라고 볼 수 있고 스피커를 통해 100% 볼륨과 직관적인 소리를 제공합니다.
하지만 ‘Spatial Blend’ 기능은 입체 사운드를 지원하여 조절바를 높일수록 객체로부터의 나는 소리를 입체적으로 듣습니다.
( 2 / 7 )
평면사운드 / 입체사운드
반복재생
강제 음소거
볼륨조정
4. 사운드를 재생하자 #1
실제로 물체가 굴러 떨어질 때 충돌 효과음 내는 스크립트를 작성해봅시다. 위와 같은 코드를 입력하시고
굴러 떨어질 객체에 ‘Rigidbody’, ‘Audio Source’, 직접 제작한 스크립트를 Add Component 하고
충돌 효과음 4개를 넣고 충돌 될 때 마다 랜덤으로 충돌 사운드가 재생 될 것입니다.
( 3 / 7 )
5. 사운드를 재생하자 #2
하지만 이는 문제점이 있습니다. 재생시킬 수 있는 음원이 하나 뿐이라 다수의 사운드를 재생 시킬 때는 이전 사운드를
무시한 채로 새로 재생되는 겁니다. 이를 해결하기 위해 나온 것이 ‘PlyClipAtPoint’ 인데 이 함수를 실행하는 순간
‘Hierarchy View’의 ‘Audio Source’가 달린 빈 객체를 원하는 지점(AtPoint)으로 생성하여 재생시켜줍니다.
그리고 재생이 끝난 사운드는 알아서 소멸합니다.
( 4 / 7 )
# 구를 때 마다 객체를 생성해 소리를 낸다.
6. 코루틴(coroutine)
코루틴이란 프로그램의 중심 코드(Main Routine) 외의 다른 Routine을 ‘Sub Routine’이라고 부릅니다.
이러한 진입하는 지점을 복수 개를 가질 수 있는 서브루틴을 ‘Coroutine’ 이라고 합니다.
이는 일종의 쓰레드로 식별할 수 있고 메인 루트 도중에 다른 길로 빠져 별도로 실행하기 때문에 사용에 편리합니다.
코루틴은 Java에서 먼저 나왔고 유니티 또한 이러한 코루틴 사용방도를 권장하고 있습니다.
( 5 / 7 )
7. 코루틴을 사용하자
코루틴의 정의를 알았으니 사용해보도록 합시다. 우선 ‘Sub Routine’를 만들기 위해 ‘IEnumerator’ 형식의 함수를 만들고
1초 마다 박스가 위로 올라가는 기능을 만들었습니다. 코드를 보면 ‘yield return new WaitForSeconds(1f)‘를 보실 수 있는데
말 그대로 ‘1초 후 실행‘ 입니다. 위 조건을 만족하지 못하였을 시 그 자리에서 return 돼버립니다.
‘Sub Routine’을 실행하기 위해선 ‘StartCoroutine’으로 이름만 지정하면 됩니다.
( 6 / 7 )
# 1초마다 올라가는 박스
8. 코루틴 심화
코루틴은 여러 방면으로 그 쓰임새를 명확하게 알 수 있습니다. Update 함수가 아니더라도 여러 서브루틴 만으로도
적 인공지능을 간단하게 만들어 버릴 수 있죠. 심지어 유니티 상에서의 네트워크 송ㆍ수신에도 코루틴이 쓰이기도 합니다.
1초마다 데이터를 갱신할 때 말이죠. 지금까지 사운드와 코루틴에 대해서 알아보았습니다.
( 7 / 7 )
# RPG Enemy Code Flow # yield 제어자