본문 바로가기

Robot/Robot Program - ROS

ARDUnity를 이용하여 유니티(Unity)의 Directional Light 속성에 따라 아두이노 LED 제어하기

최근 몇 일간 저는 Unity의 asset인 ARDUnity를 이용해서 유니티에서 아두이노를 제어하는 글을 시작했네요^^. 처음에는 단순히 ARDUnity의 wire editor에서 구동되는 정~말 기초 예제 하나를 가지고 블럭의 속성을 이용해서 LED를 구동하는 것을 했었구요[바로가기] 그 다음은 2D UI 버튼을 이용해서 LED를 끄고 켜기를 해 보았습니다.[바로가기] 이제는 3D 구성에서 scene의 속성 중 하나를 가지고 아두이노 보드와 연결하는 예제를 한 번 따라해볼까 합니다.^^ 첫 글이었던 [바로가기]에서 

Scene 탭을 누르고...

HierarchyCreate를 눌러 3D ObjectPlane을 선택해서 바닥을 깔아줍니다^^

그러면 저렇게 Plane과 해당 속성이 보이네요.

그리고 다시 HierarchyCreate를 눌러 3D Object -> Sphere를 선택합니다.

그러면 저렇게 반쯤 잠긴 공이 나타나네요... 위 그림의 표시대로 Sphere를 선택하고...

InspectorTransform탭의 Position 항목의 Y 값을 0.5로 인가합니다. 그러면 위 그림의 왼쪽처럼 딱 바닥(plane)에 올려져 있는 공의 모습이 됩니다.

이제 Project탭에서 Create를 선택합니다.

그리고 Folder를 선택해서...

New Folder를 만듭니다.

그 이름을 Materials로 바꾸고 (윈도 탐색기 처럼 천천히 두 번 클릭하면 됩니다)

해당 Materials폴더에서 마우스 오른쪽 버튼 클릭으로 Create -> Material을 선택합니다.

그리고 적당한~

이름으로 바꿔주죠^^. 그다음 위 그림 오른쪽처럼 Material의 Inspector 설정창에서 위 그림 오른쪽 부분을 클릭합니다.

그렇게 해서 뜨는 색상표에서 R 0; G 32; B: 64를 입력합니다.

그리고 Material 항목을 마우스로 잡고 Plane에 가지고 가면 Plane의 색상이 잘 변경됩니다.^^

이제 HierarchDirectional Light를 선택해서 위 그림 오른쪽처럼 설정을 잡아 줍니다.

그리고 Intensity라는 바를 움직여 보면 및에 따라 그림자와 전체 조명이 바뀌는 것을 알 수 있습니다.

이제 DIrectional Light를 선택하고 Add Component를 눌러줍니다. Add Component -> ARDUnity -> Reactor -> Effect안에 있습니다.

그러면 위 그림처럼 Get Active 항목과 Value(digital) 항목을 이어줍니다.^^

이제 Export Sketch를 통해 저장합니다. 이  이전 글 부터 따라 오셨다면 위 네모난 박스에 또 아까 만든 예제가 있을 건데요. 다른 이름으로 저장하셔야 합니다. 같은 이름으로 하면 덮어쓰지 못해 아두이노 에러가 생깁니다.^^

이제.. 당연하지만 Run 한 후에 Connect를 눌러 줍니다.

그리고, intensity를 마우스로 조절하면 화면이 바뀌고 또 LED도 켜집니다. 오늘은 유니티 기초에 가까워서 LED 상태는 올리지 않았는데요. 그냥 물 잘 켜졌습니다^^

반응형