Re: 3Dの表現 ( No.1 ) |
- 名前:憂煉 日時:2007/09/06 12:48
あまりお勧めできませんが、可能です。
DXライブラリを使う場合はDrawPolygon3D関数を使います。非常に計算が面倒ですが単純な動作ならなんとかなります。
|
Re: 3Dの表現 ( No.2 ) |
- 名前:agah 日時:2007/09/06 14:12
ありがとうございます。
その関数を色々いじってみましたが、やはり平面の画像しか扱えない = 3D的な動きは出来ない ように思えました。
私の例えが無かったのが悪かったのだと思います。
例としては、
・直方体2つで、携帯を開くようなモーション
・野球ボールを奥に転がす
などでしょうか。たとえが下手ですいません…。
サンプルゲームにある3Dデモのように組めば(恐らく)出来ると思うのですが、あそこまでするのはちょっと躊躇ってしまいました。
|
Re: 3Dの表現 ( No.3 ) |
- 名前:通りすがり 日時:2007/09/07 02:37
DrawPolygon3Dで扱えますよ。
ポリゴンの頂点は空間座標で、Z座標が奥行きです。
Z座標を変えることで、ポリゴンを前後に動かすことができます。
ただし憂煉さんの仰るとおり、DXライブラリでまともに3Dを使用するとなると非常に大変です。
空間ベクトルや行列、クォータニオンなどを使ってゴリゴリ座標計算することになります。
|
Re: 3Dの表現 ( No.4 ) |
- 名前:agah 日時:2007/09/08 12:25
なるほど。
でも確かに大変そうですね……
|
Re: 3Dの表現 ( No.5 ) |
- 名前:憂煉 日時:2007/09/08 13:39
行列の計算さえできれば面倒臭さはだいぶん楽になりますよ。
DXライブラリには行列計算の機能があるのでかなりソースを短くできます。
ただ、処理をCPU任せにしているようなので大量の計算をすると処理落ちの原因になります。
グラフィックボードは速度向上の為に多目的性を犠牲に、CPUは様々な処理に対応するために速度を犠牲にした処理装置だからです。
予めアニメーションとして画像を作っておく方がよいかと思います。
|