トップページ > 記事閲覧
DXライブラリでのメタセコイアモデルについての質問2
名前:ゆゆ 日時: 2016/11/20 16:59

先ほどの質問が解決したばかりなのに申し訳ありません。 <<1.改善くださると助かります>> とても便利すぎるMV1CollCheck_Sphere関数でモデルと球の衝突判定をしています。 モデルはメタセコイアを使用していますが、オブジェクトを不可視状態(目玉なし)にしても、衝突判定されてしまいます。(見えない壁のような) 不可視状態にした場合、衝突判定をなくす、ということはできますでしょうか...? 難しそうであれば、大丈夫なのですが... <<(追加)2.これは仕様でしょうか?>> メタセコイアで材質を反射光はほとんどなくして真っ黒にしてみたのですが、 Dxライブラリで表示するとグレーっぽくなります。 また、赤色にしてみたのですが、 やはりグレーっぽくなります。 自己照明をちょっとでも入れないと 赤色にした際には光の当たるところは赤色になり、当たらないところは赤のまったくないグレーになっていました。 <<(追加)3.バグ?>> メタセコイアモデルとは関係ないのですが、DrawLineAAという関数についてです。 わけあって距離が1ピクセルかそれ以下?のラインをループして引いています。(コースの表示) DrawLineでは正常に全部つながって表示されましたが、DrawLineAAを使用すると一部のみ表示されあとは消えています。 そこで、コースをあらく(細かかかったものをガタガタな感じに)してみました。すると、表示される部分が増えました。 しかし、まだ一部途切れます。DrawLineではあらくしても細かくしても全てつながって表示されました。 現在もう2つほど質問があるのですが、いっぺんに質問しても大変だと思うので またの機会にします.....。もう既に多くなっていますが... お忙しい中、大変申し訳ございません...。
メンテ

Page: 1 |

Re: DXライブラリでのメタセコイアモデルについての質問2 ( No.1 )
名前:管理人 日時:2016/11/20 23:47

> 不可視状態にした場合、衝突判定をなくす、ということはできますでしょうか...? 不可視状態でも衝突判定をするのは仕様なので、不可視状態のメッシュとの衝突判定を するかどうかを設定する関数を追加しようと思います > メタセコイアで材質を反射光はほとんどなくして真っ黒にしてみたのですが、 > Dxライブラリで表示するとグレーっぽくなります。 モデルを拝見してみないと何とも言えませんが、環境光( Ambient )関係の設定が関係していると思います DxLibModelViewer.exe で件のモデルを開いてみた場合もグレーっぽくなっていますでしょうか? > メタセコイアモデルとは関係ないのですが、DrawLineAAという関数についてです。 すみません、DrawLineAA は長さや太さが1.0f以下の線分の描画には対応していません 滑らかな線分にされたいとのことでしたら、コースを描画するための仮画面となる画像を 本来表示するサイズより大き目に MakeScreen で作成して、そこに線分が途切れない DrawLine でコースを描画して、それを本来表示すべき箇所に SetDrawMode( DX_DRAWMODE_BILINEAR ) ; の設定( バイリニアフィルタリング設定 )で DrawExtendGraph で縮小して描画すると、DrawLine で 描画した線分でも少しアンチエイリアスが掛かった状態で表示することができます ( ただし、DX_DRAWMODE_BILINEAR の描画アルゴリズムの関係で、縦横のピクセル数が本来の 表示サイズの2倍以上になると逆効果になってしまうので、最大でも2倍の大きさの画像を MakeScreen で作成するようにしてください )
メンテ
Re: DXライブラリでのメタセコイアモデルについての質問2 ( No.2 )
名前:管理人 日時:2016/11/21 01:18

> 不可視状態にした場合、衝突判定をなくす、ということはできますでしょうか...? すみません、自分が現在のような仕様にした意図を忘れていました 可視状態のオブジェクトというのはつまりプレーヤーに見せるために最適化されているわけですが、 当たり判定に必要なポリゴン数は見た目よりもローポリで良い事が殆どなので、 可視状態のオブジェクトをそのまま当たり判定に使用するのはCPU負荷が高くなってしまうのであまり好ましくありません なのでお手数で申し訳ありませんが当たり判定用の不可視のローポリのオブジェクトを追加して、 そのオブジェクト( フレーム )の番号を MV1CollCheck_Sphere の第二引数に渡してそのオブジェクトと のみ当たり判定を行うようにしてみてください、CPU負荷が大幅に下がると思います
メンテ
Re: DXライブラリでのメタセコイアモデルについての質問2 ( No.3 )
名前:ゆゆ (解決) 日時:2016/11/21 21:08

>モデルを拝見してみないと何とも言えませんが、環境光( Ambient )関係の設定が関係していると思います >DxLibModelViewer.exe で件のモデルを開いてみた場合もグレーっぽくなっていますでしょうか? 表示してみたところ、グレーっぽくならずちゃんと表示されました。 >滑らかな線分にされたいとのことでしたら、コースを描画するための仮画面となる画像を 分かりました。その方法でやってみます。アドバイスありがとうございます。 >なのでお手数で申し訳ありませんが当たり判定用の不可視のローポリのオブジェクトを追加して 当たり判定用と可視用にわけるのですね!やってみます。 なんとすんなり解決いたしました... ご回答ありがとうございました。
メンテ
Re: DXライブラリでのメタセコイアモデルについての質問2 ( No.4 )
名前:ゆゆ (解決) 日時:2016/12/04 15:07

DrawLineAAについて 上記の方法以外に解決方法が見つかったのでご報告いたします。 試行錯誤した結果、線を描画するのに用いる2点の距離の二乗を取得して、 設定した距離の二乗よりも大きいならばDrawLineAAで描画、 それ以外ならその時点の値を取得してからコンティニュー(ループを次にすすめる)、 設定した距離の二乗以上になるまでコンティニュー、 設定した距離の二乗以上になったとき、取得した値と現在の値でDrawLineAAを描画 という処理をすると途切れずにすべてつながって表示されました。 設定する距離は3.0にしています。1.0ではさすがにぎりぎり過ぎて途切れてしまいましたが、2.0くらいでもうまくいきました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存