반응형

클라이언트가 3D Asset을 FBX가 아닌 SFB로 요청이 왔다. 안드로이드 ARcore에서 사용하는 리소스 방식인듯 한데 일단 좀 찾아보니 안드로이드 스튜디오에 Google Sceneform Tools이라는 플러그인을 설치하라고 한다.

 

아래 링크에 나와있는대로 열심히 따라해 봤는데 안된다.

 

https://developers.google.com/sceneform/develop/import-assets

 

Import and preview 3D assets  |  Sceneform (1.15.0)  |  Google Developers

Learn how to import 3D models, convert them into Sceneform format, and preview them in Android Studio. Note: To import and work with 3D models in Sceneform, ensure you have installed the Google Sceneform Tools (Beta) plugin. Import a new 3D asset Sceneform

developers.google.com

https://learn-and-give.tistory.com/4

 

[sceneform]#3. model 변경하기

 ARCore 문서에 있는 다른 내용들을 해 보려고 하는데, 쉽지 않네요.  특히, lambda 표현식 때문에 샘플 코드들이 오히려 더 한 눈에 딱 들어오지 않네요. 타입 지정하지 않고 사용되는 변수들이 그

learn-and-give.tistory.com

https://blog.naver.com/jogilsang/221754738905

 

안드로이드 AR앱 - 2편 Import Sceneform Asset 하는법, "Import Sceneform Asset" option not shown on right click

1. Import Sceneform Asset 세팅 Settings에서 Plugins에서 Sceneform을 다운받는다. 2. 모델을 구한...

blog.naver.com

 

문제는 2021년 7월 20일 기준으로 최신버전 Android Studio에서는 안된다는 것이다.

그렇다면 되는 버전은? 어딘가에 표기되어있을것도 같은데 못찾겠다 ㅠㅠ

아무튼 최신버전으로 안드로이드스튜디오를 설치하고 플러그인을 설치하면 아래와 같은 에러메세지가 나온다.

안드로이드를 다뤄보지 않은 입장에서 저 애러가 뭔지 몰랐는데 나중에 알고보니 

IDE 플랫폼을 이야기 하는것이었던 것이다 ㅠㅠ

 

https://developer.android.com/studio/archive

 

Android 스튜디오 다운로드 자료실  |  Android 개발자  |  Android Developers

이 페이지에는 Android 스튜디오 출시 관련 다운로드 자료실이 포함되어 있습니다.

developer.android.com

버전 진짜 많아~ ㅠ

일단 플러그인이 처음 개발되어 배포된 시기가 2018년도 5월 인듯 한데 그렇다면 그 당시에 안드로이드 스튜디오 버전이 무엇인고?

3.1 ~3.4 버전인듯 하다.

일단 3.4.1버전에서 잘되는듯 하다.

플러그인을 설치하는 방법은 Preferences를 열고

좌측의 Plugins탭을 클릭 한 후,  Google Sceneform Tools (Beta)를 검색해서 설치해준다.

이렇게 임포트 하고 나면 이제 fbx를 적당한 폴더에 위치한 후 마우스 우클릭 해보면 아래와 같이 Import Sceneform Asset이라는 메뉴가 나오게 된다.

Finish버튼을 누르면 큰문제 없이 변환이 되는듯 하다.

반응형
반응형

[진행과정]

1. 아두이노에 HC-06블루투스 모듈 설치

2. 아두이노 세팅 및 코딩

3. 유니티프로젝트 생성 및 세팅 (

4. 안드로이드 빌드 및 블루투스 연결

 

요렇게 진행합니다.

 

1. 아두이노에 HC-06모듈 및 마그네틱 센서 설치

HC-06 : 디지털인풋 2/3번/GND/5V 에 연결.

마그네틱 센서 : 디지털인풋 8번/GND에 연결.

hc-06 모듈 및 마그네틱센서 설치

참조1

 

[아두이노 - 블루투스 연동]

안녕하세요!! 이번 포스팅은 아두이노에서 블루투스 연동을 통해 앱과 통신하는 방법을 알아보겠습니다. * ...

blog.naver.com

참조2

 

[Unity]04.아두이노 사용하기 - Blutooth로 채팅하기

안녕하세요 유랑입니다. 오늘은 아두이노와 유니티 통신하는 방법에 대해서 알아보겠습니다. 통신방법은 블루투스를 사용하겠습니다^^ 1. 아두이노와 유니티로 채팅하기 유니티에서 Android 프로젝트에서 디바이스..

you-rang.tistory.com

2. 아두이노 세팅 및 코딩

먼저 아두이노사이트에 가서 아두이노를 설치해 줍니다.

아두이노 프로그램 다운로드

아두이노와 PC를 USB로 연결 한 후 아래 그림처럼 순서대로 보드와 포트를 자신에 맞는 것으로 선택해 줍니다.

아두이노 보드/포트 설정

블루투스 모듈을 슬레이브로변경하기 위해,시리얼 모니터창을 열어 아래 명령어를  입력해줍니다.

AT+ROLE=S

참고

 

HC-06 블루투스모듈 설정 변경하기! (마스터에서 슬레이브, 슬레이브에서 마스터로, HC-06자가진단하기!)

안녕하세요 메카솔루션입니다. 이번에는 HC-06의 마스터와 슬레이브를 수정하는방법과, 그리고 간단하게 ...

blog.naver.com

시리얼 모니터창에서 “AT”라고입력하여 OK가 반환되면,블루투스 모듈 연결이 잘 된 것입니다.

이후,AT+NAME이름을 입력하면 블루투스 모듈 이름을 설정할 수 있습니다.(AT+NAME000입력 시,000으로이름 설정)

그리고 AT+PIN핀번호 4자리를 입력하면 블루투스 연결 시 비밀번호를 설정할 수 있습니다.

마지막으로 AT+BAUD4 을 입력하여 OK9600이 반환되는 것을 확인합니다.(통신 속도 설정)

참고

 

[아두이노 - 블루투스 연동]

안녕하세요!! 이번 포스팅은 아두이노에서 블루투스 연동을 통해 앱과 통신하는 방법을 알아보겠습니다. * ...

blog.naver.com

모두 설정되었다면 아두이노에 코딩작업을 해줍니다.

#include<SoftwareSerial.h>

SoftwareSerial BTSerial (3, 2); //Connect HC-06. Use your (TX, RX) settings

int val;
int tempVal;

void setup () {
  Serial.begin (9600);
  BTSerial.begin (9600); // set the data rate for the BT port
  pinMode (8, INPUT_PULLUP);
}

void loop () {
  //switch value update
  val = digitalRead (8);

  // BT –> Data –> Serial
  if (BTSerial.available ()) {
    Serial.println ("BT available");
    Serial.write (BTSerial.read ());
  }

  if (val == HIGH) {
    if (val != tempVal) {
      tempVal = val;
      BTSerial.println ("off");
      // Do Something

    }
  } else {
    if (val != tempVal) {
      tempVal = val;
      BTSerial.println ("on");
      // Do Something

    }
  }
  delay (100);
}

코드를 대략 요약하자면 마그네틱센서가 붙으면 "on", 떨어지면 "off"라는 스티링을 블루투스 시리얼로 보내는 동작을 합니다.

찾아본 바로는 BTSerial.write("on"); 요렇게 하라고 되어있었는데 전혀 아무런 신호가 보내지지 않아서 저렇게 바꿔보니 잘되더군요.

코딩작업을 마쳤으면 두번째 아이콘을 눌러 아두이노에 업로드를 합니다.

 

3. 유니티프로젝트 생성 및 세팅

적당한 이름으로 새로운 프로젝트를 만들고 아래 파일을 다운받아 임포트 시켜줍니다.

ArduinoBluetooth.unitypackage
1.23MB

Build Settings / Player Settings… 를 열어 Other Settings를 다음과 같이 설정합니다. 

Bundle Identifier 는 똑같지 않아도 상관없으며ApiCompatibility Level* 이부분이 .Net4.x 로 선택해주어야 합니다.

안드로이드로 타겟플랫폼을 변경해주고

새로운 Scene을 만들고 Project탭의Assets/ArduinoBluetooth/Demo/Prefab폴더로 이동하여

__Manager파일을 Hierarchy에 끌어 넣습니다.

 

숫자 "0"번 키로 아래 GUI를 끄고 켤수 있습니다.

 

__Manager를 클릭해보면 Manager.cs라는 스크립트파일이 붙어있습니다.

Manager.cs를 열어서 deviceName 을 위에 아두이노 설정시 변경했던 블루투스 이름과 동일하게 수정해줍니다.

예)AT+NAMEHC-06

OnDoorOpenOnDoorClose위 두가지 이벤트가 있고외부 클래스에서 다음과 같이 사용할 수 있습니다.

public Manager _manager;

void Start(){
    _manager.onDoorOpen.AddListener(OnDoorOpen);
    _manager.onDoorClose.AddListener(OnDoorClose);
}

void OnDoorOpen(){
    //문이 열렸을 때
}
void OnDoorOpen(){
    //문이 닫혔을 때
}
…

 

연결 테스트영상입니다.

 

반응형
반응형

 
 
 
 
 
 
C#
 
 

 

 
1
2
3
4
void AutoFocusOn()
{
     CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}

 

매니페스트 수정

<uses-permission android:name=”android.permission.CAMERA” />
: 카메라를 사용할 것이다

<uses-feature android:name=”android.hardware.camera” />
:카메라의 특수기능을 사용할 것이다

<uses-feature android:name=”android.hardware.camera.autofocus” />
:카메라 오토포커싱을 사용할 것이다

 

뷰포리아가 Init된 이후의 타이밍에 호출되어야 함.

 

출처 : http://qits.tistory.com/entry/뷰포리아-오토포커싱-활성화하기

반응형

+ Recent posts