頭と尻尾はくれてやる!

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


Blenderの -Z Forward , Y Up の設定

Blenderで3Dのモデルを作成して、objファイルを出力してそれをiOSのOpenGL ESで使っているんだけど、この時、BlenderとOpenGLの座標系が違うのに同じように表示されるのはなんでだろうな、と思っていたんだわ。

どういうことかというとBlenderではz軸が上を向いててy軸がこちらじゃなくてむこうを向いてる。
OpenGL ESだとy軸が上を向いてて、z軸が手前を向いてる。
どちらも右手系というのは同じ。

Blenderでロボット

↑まずBlenderでこういうモデルを作成してみる。このモデルはz軸を上にしてるデータを持っているはずだよね。

ところがBlenderでobjファイルを出力、全く回転させない状態をiOSで表示させると、、、

-Z Forward, Y Upで出力時の描画

↑同じように表示される。OpenGL ESの座標はy軸が上になってるのに!どこの誰がよきにはからってくれてるの?!


今までなんの問題もなかったのでスルーしてきたんだけど、ちょっと具合が悪くなったのでよくよく調べるとBlenderの出力時にそういうオプションが設定されていたみたい。
objファイル出力時に左側のペインの下の方にそういう設定項目がある。

ForwardとUpの設定

↑ここね。ここが -Z Forward , Y Up となってる。多分Blenderのデフォルトの設定かと思う。
これのおかげでOpenGL ESの座標系に持ってきても同じように表示されていたのね。

ちなみに Z Forward ってするとどうなるんだろ?鏡のようになるの?と思ってやってみると、、、

Z Forward, Y Upで出力時の描画

↑あー、なるほど、右手をあげてるのは変わらないで反対向くのね。そういうことか。

<< iPhoneをリセットしてもiOSのバージョンは変わらなかった  TopPage  Metalでシェーダが受けるデータの型 >>

コメント


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

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/932-029375a2




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

FC2Ad