質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ARKit

ARKitは、iPhone/iPad向けのARアプリ用フレームワーク。iOS11以降に標準搭載されています。これを用いたARアプリは、特殊なデバイスがなくてもiPhone/iPadの単眼カメラを使用して動作することが可能です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

AR(Augmented Reality)

AR(Augmented Reality)とは、拡張現実のことです。人が認識する現実の環境で視覚・聴覚などの知覚が感知する情報をコンピュータで拡張する技術、もしくはその環境そのものを表す言葉です。

Q&A

解決済

1回答

2039閲覧

Unity ARにおいて、実機のカメラがフリーズしてしまう。"追加情報あり。"

rym8888

総合スコア1

ARKit

ARKitは、iPhone/iPad向けのARアプリ用フレームワーク。iOS11以降に標準搭載されています。これを用いたARアプリは、特殊なデバイスがなくてもiPhone/iPadの単眼カメラを使用して動作することが可能です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

AR(Augmented Reality)

AR(Augmented Reality)とは、拡張現実のことです。人が認識する現実の環境で視覚・聴覚などの知覚が感知する情報をコンピュータで拡張する技術、もしくはその環境そのものを表す言葉です。

0グッド

0クリップ

投稿2022/11/08 05:47

編集2022/11/08 10:45

前提

UnityとARKitを用いて、家具を配置をシミュレーションするアプリケーションを造っています。

まずはキューブをカメラ上の空間に表示させて、それをスマートフォンの画面をドラッグすることによって自由に動かせるようにしたいと思い、下記画像のように簡単なプログラミングをしてビルドをし、実機に動かそうとしたのですが、カメラが作動して映った瞬間に止まってフリーズしてしまいます。

一瞬は映って動きます。約1秒と言った所でしょうか。

一瞬映ったと思ったら、その画面のままフリーズしてしまう。というのが現状です。

追加情報:Xcodeにて、Hang riskというメッセージが表示されています。エラー文には、"Thread running at QOS_CLASS_USER_INTERACTIVE waiting on a thread without a QoS class specified. Investigate ways to avoid priority inversions". と書かれています。
Updateでキューブの位置情報を更新しています。

実現したいこと

実機のARカメラが正常に作動し、実機の画面上で自由に動かせるようにする。

発生している問題・エラーメッセージ

エラーメッセージはありません。

該当のソースコード

c#

1void Update(){ 2 3Transform myTransform = myTransform.position; 4 5Vector3 worldPos = myTransform.position; 6 7Debug.Log(myTransform.transform.position); 8 9} 10 11void OnMouseDrag(){ 12 13Vector3 = objectpoint = Camera.main.WorldToScreenPoint(transform.position); 14 15Vector3 = pointScreen = new Vector3(Input.mousePosition.x, Input.mpusePosition.y, objectPoint.z); 16 17Vector3 pointWorld = Camera.main.ScreenToWorldPoint(pointScreen); 18pointWorld.z = transform.position.z; 19 20transform.position = pointWorld; 21 22}

試したこと

位置情報の随時更新が高負荷を与えているのかと思い、取り除いてみましたが改善しませんでした。

加えて、下のドラッグの関数を消してみても改善しなかったので、スクリプトの問題ではないかもしれません

補足情報(FW/ツールのバージョンなど)

Unity エディターバージョン 2021.3.11f1
Xcode ver14.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ARFoundationを使用している場合、以下のようにARKitとバージョンが合ってないと同じようにカメラが止まる事はありましたがその辺りはどうでしょうか?

ARFoundation4.2.3、ARKit4.2.6は止まる
ARFoundation4.2.3、ARKit4.2.3は動く
ARFoundation4.2.6、ARKit4.2.6は動く

投稿2022/11/10 03:11

lazh

総合スコア300

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問