ここまでくると、もはやセンスの問題だとすら思えてくる(笑)
テクスチャ貼ったSX形式のキューブがいまいちうまくふるまわねー!!と思ったら、鏡面反射光をOFFにすることで、問題なくふるまってくれました。
Zオーダーの問題も、単純に私が座標系を間違えていただけでした。
右手座標とか、左手座標とかややこしいんだよ!
普段OpenGLで組んでるんだから仕方ないだろ!←ひどい言い訳
さて、ここまで来たら、今度はモーション付きXファイルについて考え始めてもいいかと思っているんだけども、まだ問題がある。
と、その前に、まずはうまくいった証拠として図をどうぞ。
さて、アニメーションに行く前に残っている(と思われる)問題。
1.カメラワーク
カメラの位置とか、制御というのをどうやるのがうまいのか理解できていないから、そこを考えないといけない。
勝手な思い込みかもしれないけど、QuadrupleDはカメラを動かすことで視点の移動を実現できるけど、DirectXはカメラが固定でオブジェクトの座標を変換することでカメラの移動を実現している気がする。
となると、QuadrupleDを叩けばどっかでつながっているところにたどりつくわけか。
なんにせよ、その辺は解決しないとどうしようもないと思う。
2.オブジェクトの回転
カメラに絡む事だけど、オブジェクトをその場で回転させたりする方法がよく理解できていない。
便利な行列変換やら行列操作のライブラリがあるから、フレームやらなんやらについて理解できればその場での回転も問題なく行けるものと思われる。
3.オブジェクトの制御
たとえば、シーンをレンダリングした後にXファイルを描画すると、シーンで最後に描いたフレーム内に描画されてしまう。
これをうまく使えば、思い通りの描画ができるんだろうけど、この辺はまだ調べないといけないところだと思う。
と、とりあえずはこの3点が課題。
3.は描画順序を工夫したり、Xファイル用のフレームを用意するだけだから、それほど手間ではないと思うけれども、1.と2.が解決しないことにはアニメーションをやっても面白くない気がする。
単純な解決法としてはQuadrupleDを使わないことなんだけど、それでは今回いろいろ調べてる意味がない。
(お手軽プログラミングのためにお手軽でない道を通るってのはバカに見えるかもしれないけど、目的のためには手段を選べない状況なんですな。)
3Dについて、もっと勉強しなくちゃ。
0 件のコメント:
コメントを投稿