[Unity]03.아두이노 사용하기 - Button 사용하기

안녕하세요 유랑입니다.



오늘은 아두이노에서 데이터를 보내어 유니티에서 받고 그에 따른 파티클 생성을 해보겠습니다.




1. 버튼 사용하여 파티클 생성



1-1) 유니티 프로젝트 생성 및 셋팅



프로젝트를 생성한 뒤 Net2.0으로 설정한 뒤 시작하겠습니다.








에셋스토어에 들어가서 우리가 사용할 파티클을 다운 받겠습니다.

CARTOON형식의 파티클인데 좀 귀여운 느낌이라 사용해 볼게요.





여기서 폭발효과와 스노우 효과를 사용해 보겠습니다.






1-2) 파티클 셋팅



해당 파티클을 프리팹으로 만든 후 생성한 뒤 5초 뒤에 사라지는 스크립트를 

작성 후 적용하겠습니다.











1-3) 파티클 셋팅



아두이노가 연결되어 있는지 확인하기 위해서 ArduinoState라는 Text를 사용하겠습니다.







1-4) 유니티에서 데이터 받기



아두이노에서 받은 데이터에 대한 파티클 생성을 위해서 다음과 같이 코드를 작성하겠습니다.

지난번과 다른점은 try문 사용과 버튼이 여러번 눌러질 경우를 대비한 serial.ReadTimeout이라는 변수입니다.

아두이노에서 회로나 코드로 구성해도 되지만 유니티로 구현하였습니다.


- 1, 2라는 데이터를 받게 되면 유니티에서 그에 맞는 파티클을 생성시켜줍니다.

- 패러티(Parity) => None은 패러티 비트가 없다는걸 뜻합니다.(패러티 비트란? 에러 보정 방법)

- 스톱비트(StopBits) => One은 1개의 비트 사용을 의미한다.(스톱비트란? 정지 비트 수를 의미)










연결된 포트, 통신속도, 파티클은 다음과 같이 구성해 주세요.

포트 넘버는 아두이노와 연결된 포트로 변경해 주세요.






1-5) 아두이노에서 데이터 보내기



아두이노에서 버튼을 사용해서 유니티에 데이터를 보내보도록 하겠습니다.

코드는 단순합니다.


- Baud Rate(통신속도)를 설정

- 버튼으로 부터 입력받기 위해서 pinMode를 INPUT으로 설정

- 버튼이 눌러지기 전에는 전압을 통해서 HIGH값을 받기에 LOW일 때 1과 2라는 데이터를 보내도록 하겠습니다.

- Serial.flush() => 현재 전송하고 있는 시리얼 데이터가 전송완료가 될 때까지 기다리는 함수






버튼은 아두이노의 6번과 7번 핀에 연결시켜 주세요.

버튼이 눌러져 있지 않을 경우 5v의 전압이 입력됩니다.





짜잔 버튼을 클릭하면 폭발효과와 스노우 효과가 생성됩니다.






2. 마무리



오늘 강의는 여기까지입니다.

아두이노와 유니티를 사용하여 버튼을 이용한 파티클 효과를 구현하였습니다.

다음 시간에는 블루투스 통신을 사용하여 아두이노와 유니티 데이터를 공유해보도록 하겠습니다.

감사합니다.




수업자료: https://github.com/YouRang12/-Tistory-Unity---Extra-Product-

댓글

Designed by JB FACTORY