頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


iPhone実機だけSceneKitで背景をぼかせない

最近SceneKitをかじっているところでまだまだよくわからないところがいくつもあるんだけど、最大の謎について。誰かわかったら教えてください m(_ _)m

SceneKitではカメラのプロパティの Depth Of Field あたりを調整して一部分だけピントが合うような表現ができるはず。

Depth Of Fieldの設定

↑カメラのここを適当な値を設定すれば

XcodeのScene Editor

↑こんな感じで一部分(ここでは飛行機)にピントが合ってて他はぼける。この画像はXcodeの .scn ファイルで表示されるもの。

iOS シミュレータのスクショ

↑iOSシミュレータでもこのように一部分のみピントが合う(わかりにくい画像だけど)。

iPhone実機のスクショ

↑ところがiPhone 7+ 実機だとなぜか全体がぼけてしまう。

SCNNode *cameraNode = [scene.rootNode childNodeWithName:@"camera" recursively:YES];
cameraNode.camera.aperture = 0.1250;
cameraNode.camera.focalSize = 4.0;
cameraNode.camera.focalBlurRadius = 4.0;
cameraNode.camera.focalDistance = 36.0;

Xcodeの右側のペインではなくコードでやってもダメ。
allowsCameraControl プロパティをNOにしてもダメ。
SCNTransaction でアニメーション使ってもダメ。(positionは意図通り動くんだけど)

iOSシミュレータだとMetalではなくOpenGL ESだろうからそのあたりで違いが出てる?ってことはSceneKitフレームワークの不具合なのか?と思ってフォーラム見てもなんら関連する内容もない。うーん、謎だ。


バージョン
macOS Sierra 10.12.3
Xcode 8.2.1
iOS 10.2.1

<< TensorFlowを1.0にアップデート  TopPage  MakeHumanのデータをSceneKitにdaeでインポートする >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/1050-270c5ea5




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad