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くらいでもうまくいきました。
|