1

ARいくつかの異なるエンジンを使用できるアプリケーションを開発しています。SceneKitそのうちの 1 つは(not )に基づいていARKitます。

以前はSceneView背景を透明にして、そのAVCaptureVideoPreviewLayer下に表示していました。しかし、これは後で問題を引き起こしました - clear backgroundColorforを使用し、それに(transparent floor)を持つ をSceneView追加すると、影が表示されないことが判明しました。そして当面の目標は、このエンジンに影を付けることです。floor nodediffuse.contents = UIColor.clear

影を機能させる最良の方法は、カメラのプレビューを に設定することだと思いますSCNScene.background.contents。このために、 を使用してみAVCaptureDevice.default(for: video)ました。これは機能しましたが、必要なビデオ形式を使用できないという問題が 1 つありますSceneKit。割り当て時に形式が自動的に変更されます。Apple に送信できる 2 つのヘルプ リクエストのうちの 1 つを使用してヘルプを求めたこともありましたが、現在のところ、希望する形式でこれを使用できるパブリック API はないとのことでした。そして、iPhone 6sこのフォーマットは に変わり30 FPSます60 FPS。したがって、このオプションは適切ではありません。

カメラのプレビューをシーンの背景プロパティに割り当てる他の方法はありますか? 私が読んだことからCALayer、このプロパティにも使用できるので、割り当ててみAVCaptureVideoPreviewLayerましたが、これは黒色のみで、ビデオはありませんでした。レイヤーのフレームを正しいサイズに更新しましたが、とにかくうまくいきませんでした。多分私は何か間違ったことをしました、そしてこれを使用する方法AVCaptureVideoPreviewLayerまたは何か他のものはありますか?

考えられる解決策をいくつか提案できますか? を使用できることはわかってARKitおり、他のエンジンでも使用していますが、この特定のエンジンでは引き続き を使用する必要がありSceneKitます。

4

0 に答える 0