合計 昨日 今日

アバター
Dixq (管理人)
管理人
 
記事: 1391
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (541)
日記
- 4月 2017
努力と苦労の厚み (5)
   2017年4月26日(水) 23:30
コード量66500行突破 (5)
   2017年4月17日(月) 22:41
リプレイデータの削減 (3)
   2017年4月10日(月) 00:16
龍神録2ステージ完成 (0)
   2017年4月04日(火) 19:11

+ 3月 2017
+ 2月 2017
+ 1月 2017
+ 12月 2016
+ 11月 2016
+ 10月 2016
+ 9月 2016
+ 8月 2016
+ 7月 2016
+ 6月 2016
+ 5月 2016
+ 4月 2016
+ 3月 2016
+ 2月 2016
+ 1月 2016
+ 12月 2015
+ 11月 2015
+ 10月 2015
+ 9月 2015
+ 8月 2015
+ 7月 2015
+ 6月 2015
+ 5月 2015
+ 4月 2015
+ 3月 2015
+ 2月 2015
+ 1月 2015
+ 12月 2014
+ 11月 2014
+ 10月 2014
+ 9月 2014
+ 8月 2014
+ 7月 2014
+ 6月 2014
+ 5月 2014
+ 4月 2014
+ 3月 2014
+ 2月 2014
+ 1月 2014
+ 12月 2013
+ 11月 2013
+ 10月 2013
+ 9月 2013
+ 8月 2013
+ 7月 2013
+ 6月 2013
+ 5月 2013
+ 4月 2013
+ 3月 2013
+ 2月 2013
+ 1月 2013
+ 12月 2012
+ 11月 2012
+ 10月 2012
+ 9月 2012
+ 8月 2012
+ 7月 2012
+ 6月 2012
+ 5月 2012
+ 4月 2012
+ 3月 2012
+ 2月 2012
+ 1月 2012
+ 12月 2011
+ 11月 2011
+ 10月 2011
+ 9月 2011
+ 8月 2011
+ 7月 2011
+ 6月 2011
+ 5月 2011
+ 4月 2011
+ 3月 2011
+ 2月 2011
+ 1月 2011
+ 12月 2010
+ 11月 2010
+ 10月 2010
フォロー
カテゴリー
日常
1 記事

滑らかな弾の軌跡表現方法 [四聖龍神録2公式Twitter]

パーマリンクby Dixq (管理人) on 2016年3月01日(火) 22:43

東方をプレイしていると、角度が80°位で飛んでくるとカクッカクッとしながら飛んでくるように見えます。
それはドット単位で移動させて描画させているために起きています。
つまり
dot.png
dot.png (31.91 KB) 表示数: 838 回

このように斜めに移動する時にドットで表現するため、
角度が90°に近いと図中央のように見えてカクカクするわけです。

(今は東方が悪いとか、龍神録が良いとか言うものではないです)

これを龍神録では図右のように「ドットとドットの間に描画する」手法を用いて滑らかに移動させてみましょう。

まぁ答えは既にゲームプログラミングの館に書いてあるのでそのリンクを貼るだけなのですが。
http://dixq.net/g/04_04.html

方法としては、描画するメソッドである
DrawGraph(int x, int y, ...)
を、実数で座標を渡せる
DrawGraphF(float x, float y, ...)
に置き換えます。
これでドットとドットの間に描画命令をすることができるのですが、
これだけでは目に見えて効果が見えません。
バイリニア線形補間をする必要があります。
DXライブラリではこれが簡単で
SetDrawMode( DX_DRAWMODE_BILINEAR );
とかけばバイリニア線形補間で描画してくれます。

しかしドットバイドットで描画した方が綺麗に見えるものもあります。
なので、必要無くなったら
SetDrawMode( DX_DRAWMODE_NEAREST );
でもとに戻しておきましょう。

バイリニア線形補間とニアレストネイバーの違いはリンク先で確認してください。
動画を見るとよくわかると思います。
添付ファイル
最後に編集したユーザー Dixq (管理人) [ 2016年3月01日(火) 22:43 ], 累計 1 回

コメント数: 0 閲覧数: 7713

オンラインデータ

登録ユーザー: みけCAT