「AR」カテゴリーアーカイブ

バーチャルYoutuberになりたい

ふとバーチャルYoutuberのアプリを作りたくなったのでリソースを探すけど,詳しい説明が無かったのでメモ

必用なもの

iPhoneX以降,Unity2018.2以降,XCODE

 

Unity Packageを以下からダウンロードしインストール

https://github.com/Unity-Technologies/facial-ar-remote/releases

新規Unityプロジェクトを立ち上げる

 

【ビルドの設定】

  1. UnityをiOSビルドに変更
  2. faical-ar-remote>Remote>Scene>Clientを起動
  3. File>Build Settings>Player Settingsを起動
  4. other settingsのBundle Identifierを設定
  5. Target minimum iOS version を11.3以上にする
  6. Camera Usage Description に AR Face Tracking と入力
  7. Requires ARKit にチェックを入れる
  8. Scripting Define Symbols に ARKIT_1_5 と入力

 

【まずiPhoneアプリを作成】

  1. final-ar-remote>Remote>Scene>Clientを開いているか確認
  2. ビルドし,XCODEでアプリ化しデバイスにインストール
  3. 作成されたアプリを起動

【サンプルシーンを開いて確認】

  1. iPhoneとMacが同じルータ内に接続されているか確認
  2. final-ar-remote>Examples>Scenes>SlothBlendShapesを開く
  3. SlothBlendShapesのHierarchyのStreamReaderのInspectorのNetworkStreamのPortをiphoneアプリにポートと同じにする
  4. 再生ボタンをクリック
  5. ConsoleにIPアドレスが出る(2つIPアドレスが出る時はWifiと有線LANが見えているのでどちらか切るといいかも)
  6. iPhoneのアプリにConsoleに表示されたIPアドレスを入力
  7. iPhoneのアプリでConnectを押す

 

facialが動きます.お疲れ様でした.

 

参考サイト

https://github.com/Unity-Technologies/facial-ar-remote

https://blogs.unity3d.com/jp/2018/08/13/facial-ar-remote-animating-with-ar/

https://qiita.com/Yuzu_Unity/items/91fc2b6f8ebe0fc0e839

https://qiita.com/syoyo/items/f0ad3eb4ed3387ee6462

 

 

 

VR Hanami

時間がないのでAsset使いまくり

以前自作したS3Dカメラリグが見つからなかったので、フリーLCVRkitを利用したけどもっと便利そうなのがあった

参考にしたサイト

http://qiita.com/yanosen_jp/items/b9fdd31928960995f7ea

https://developers.google.com/vr/unity/download

 

ちな、OpenCVは重い。Vuforiaは軽いけど、マーカーは簡単なものでは認識しない。

想定される現場は暗いので、CVもVuoriaもダメ。

単にサクラ置くだけっていうなんでもないものになる。

カメラが起動しない、、

Camera Usage Descriptionに日本語でいいので何かいれとく

http://qiita.com/JunSuzukiJapan/items/e7c04072ac5e83fa6595

 

速習:ARアプリ4

適当な3Dオブジェクトを出して,Image Targetの子にします

vuforia10

ImageTargetを選択し,Databaseから作成したデータベースを選択し,ImageTypeから使用したいマーカーを選択します

ARCmeraを選択し,Open Vuforia Configurationを選択,

DatabaseのLoad(データベース名)にチェック,Activateにチェックを入れる


ゲームを再生します

印刷済みのマーカーを近づけると

Cubeが表示されます

このようにImageTargetの下にあるものがマーカーで表示されるものになります

速習は以上で終わりです.お疲れ様でした

もどる

速習:ARアプリ3

作成されたLicenseKeyをヒエラルキーの,ARCameraを選択し,InspectorのOpen Vuforia Configurationを選択します

AppLicense Keyのエリアにペーストします

ARカメラの準備が整いました


次にターゲットのデータを作成します

ターゲットになるなるべく複雑な画像を選びます.今回はいらすとやの画像を使用します

TargetManagerへ移動しAdd Databaseをクリックします

Add Databaseをクリックし,データベース名を決め,Typedeviceを選択します

作成されたデータベース名を選択し,Add Tagetをクリックし,ターゲットとなる画像を登録します.

Ratingが高いと認識しやすいですが,Ratingが0のものは使えないと思ってください

Download Databaseをクリックし,

Unity Editorを選択し,Downloadをクリックしダウンロードします.ターゲット用のUnityPackageがダウンロードされます

ダウンロードしたUnityPackageをImportします

つぎへ)(まえへ

速習:ARアプリ2

次に新規シーンを作成し

vuforia3

Main Cameraを削除します


Assets内の,Vuforia>PrefabsのARCamera をヒエラルキーにドロップします

ゲームモード(再生ボタン)を押すとライセンスエラーと表示されますので,ライセンスを申請します(サイト

LicenseManagerへ行き,Add License Keyをクリックします.

Project TypeはDevelopmentに(リリースする際はConsumerやEnterprise ※有料にします)

AppNameは自由に,Nextをクリックします

ライセンスが作成されると,ライセンス一覧が表示されます.先ほど作ったライセンス名をクリックします

ライセンスキーをコピーします

つぎへ)(まえへ

速習:ARアプリ1

瞬時にARアプリを作ります(更新中 2017年7月)

Unity ver. (5 or latest?) no info.

renew 05.Jul.2017

Vuforia is not Free > https://developer.vuforia.com/pricing

Vuforia Lib ver. 6-2-10(latest ver. on Jul 2017)

https://developer.vuforia.com/

へ行き,Regisiterをクリックし,必要事項を入力し登録します.

Vuforia Developer Portalへログインし,

Downloads>SDKの,

Download Unity Extensionをダウンロード(Win,Mac共通)

※UnitypackageはWin,Mac共用できることが多いですよ

Unityを開き,Assets>Import Package>Custom PackageダウンロードしたUnitypackageを選択し,全てImportします

vuforia2

Importします

古いスクリプトを最新版にコンパイルし直すか聞かれるので,I MADE a Backup,,,,,をクリックします

次へ

UnityでARアプリ

UniyにVuforiaを入れてARアプリ.
簡単に作成できますが問題が.

Prefabでオブジェクトを作成(instantiate使って)したときに,ARマーカー非認識時でも隠したい見えちゃう問題です.

解決法.staticなブールを置いて,状態をチェックする.

(1)原因のおそらく
Vuforiaのスクリプトは子オブジェクトまでを配列に読み込んでrenderをON/OFFさせるが,prefabの2個目以降が入ってこない.タイミングの問題か,同じ名前だから1つ目以外は無視されているか.

(2)解決方法
いろいろ試したが,強引にやることに.

DefaultTrackableEventHandlerに以下を追加

public static bool meshVisi = false;

コード(抜粋)黄色の部分を追加

public class DefaultTrackableEventHandler : MonoBehaviour,
                                            ITrackableEventHandler
{
    #region PRIVATE_MEMBER_VARIABLES
 
    private TrackableBehaviour mTrackableBehaviour;
    
    #endregion // PRIVATE_MEMBER_VARIABLES



    #region UNTIY_MONOBEHAVIOUR_METHODS
	//
	public static bool meshVisi = false;
	/// 


    
    void Start()
    {

次に,同じくDefaultTrackableEventHandlerに以下を追加.(70行目前後にあり)

マーカーを発見したとき用 黄色の部分だけを追加

  private void OnTrackingFound()
    {
		meshVisi = true;//bird mesh renderer-on

        Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
        Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);

 

マーカーを見失ったとき用(100行目くらい) 黄色の部分だけを追加

    private void OnTrackingLost()
    {
        Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
        Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);

		meshVisi = false;//bird mesh renderer-off

 

(3)プレファブのメッシュに追加するスクリプト

using UnityEngine;
using System.Collections;

public class renderVisi : MonoBehaviour {
	
	void Start () {
		renderer.enabled = false;

	}

	void Update () {
		if(DefaultTrackableEventHandler.meshVisi == true)
			renderer.enabled = true;
		if(DefaultTrackableEventHandler.meshVisi == false)
			renderer.enabled = false;

	}
}

これを renderVisiというc#で保存し,プレファブのメッシュにアサイン

 

(4)やってみる。

 

(5)

実行順とかでもクリアできそうな強引なスクリプトが目立ちますが,,ご容赦.

納期が近いので、、

UnityでARアプリ作成

(1)Unityをインストール
http://japan.unity3d.com/

(2)VuforiaのUnityPackageをダウンロード

https://developer.vuforia.com/
へ行き,Downloadをクリック

Unity Extensionを選択してDL

Unity側でImport PackageのCustom Packageで入れる

(細々とした使い方をここにかく予定)

・マーカーは
https://developer.vuforia.com/
へ行きアップロードし.サーバで作られたマーカー用のUnityPackageをDL

・ノートPCでもテスト可能(MacBookは単体でチェック可能)
そのままAndroidビルドおK

簡単でした.
マーカーをけっこう選びます