【C++】 DirectX初心者質問スレ Part20 【C】
■ このスレッドは過去ログ倉庫に格納されています
0155デフォルトの名無しさん
2008/12/13(土) 14:15:24お返事ありがとうございます。
情報が欠けていたことを反省します。
ゲームのシステム上、ポリゴン人形のボーン位置に依存して攻撃を発生させるのです。
例えば、ポリゴン人形の「手」の位置を示すボーン。それが差す位置に攻撃判定を発生させます。
そのため、そこが微妙にでもずれると、攻撃が当たったり、当たらなかったりします。
結果ズレが生じてしまうのです。
ボーンの位置の計算は、やろうと思えば自前でできます。行列のかけあわせだけですので。
ただ、アニメーション合成も行っているため、このあたりはかなりきついです。
私の実力不足と言えばそうなのですが…。
行列>クォータニオン>合成結果のクォータニオン>行列 とする必要がある(と思う)のですが、
行列クォータニオン間の変換もD3DXに依存しない方法でやったことはありません。これは勉強しだいで自分で実装できるとは思います。
違いがあると発覚したのは「初期状態とキー入力のみでリプレイファイルを構成し、再生する」という行為をやっていてです。
最初はもちろん自分を疑い「変数の初期化忘れなどで、初期状態が異なったのでは?」と思い、確かにその通りでした。
そういうものをつぶしていき、Intel系のCPU(友人のほとんどがこれ)で結果矛盾が起きなくなったことを確認しました。
最近になってAthlon系の友人がたまたま結果が若干異なることを発見し、今回の問題発覚となりました。
■ このスレッドは過去ログ倉庫に格納されています