FC2ブログ

頭と尻尾はくれてやる!

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


SCNPhysicsVehicleの車をx軸方向に走らせる

SCNPhysicsVehicleでシャーシとホイールの位置関係
SCNPhysicsVehicleで二輪車と一輪車

↑この辺りでいろいろとSCNPhysicsVehicleを使って車っぽいのを走らせてきたんだけど、これらは(APPLEのサンプルコードを含め)どれもz軸のプラス方向が前、というオブジェクトのデータだった。

APPLEサンプルの車

↑これはAPPLEのサンプルコードの四輪車。z軸プラス方向を向いてる。

z軸方向を向く一輪車
↑これはBlenderで作成した一輪車をXcodeに持って来たもの(動くとこは先のリンクで)。Xcodeのy-upの処理によりz軸プラス方向を向く。

x軸方向を向く一輪車
↑今回、元々のデータがx軸プラス方向を向いてるのを使おうとした。

これをいざSCNPhysicsVehicle使って動かそうとすると、、、 



おい!タイヤの回転軸おかしいやろ!ホイールがy-upしない?どうなってんだ??シャーシ接続時にホイールの姿勢を変えたりしても全然ダメ。
SCNPhysicsVehicleWheelのaxleプロパティをいじってもだめ。
何か方法があるんだろうか、、、?

結局データをz軸方向へ進むように作成しておく方が安全ということかな。


なお、そのようにz軸方向へ進むようなデータを作っておいて、シャーシ(SCNNodeオブジェクト)をy軸周りに90度回転(※)させれば、



↑このようにx軸方向へ進ませることができるので、やはり元データをz軸方向へ進むようにしておけばなんとかなりそう。


(※)リファレンス通りホイールはシャーシの下階層に位置してる。

シャーシとホイールの階層関係

↑Xcodeで確認するとこういう階層になってるべき、らしい(けどそうじゃなくても動いたりする)。



macOS High Sierra 10.13.6

<< SCNPhysicsVehicleオブジェクトをjointで繋ぐ  TopPage  SCNPhysicsSliderJointで回転させてみる >>

コメント


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

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/1166-04b2d237




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

FC2Ad