Fontの描画について
Rinifisu  2014/10/26(Sun) 00:32
FontのgetTextureの文字列版を探しています。


http://siv3d.hateblo.jp/entry/adventcalendar2013/8

こちらの記事の文字描画を文字列で一括で行おうと考えて、処理を作ってました。
getTextureの文字列取り出し処理がわからなかったため、単体で無理矢理作ろうとしていましたが画像のようにうまくいかずに諦め気味です。

正しい処理方法などがありましたらよろしくお願いします。



記事編集
Reputeless  2014/10/28(Tue) 21:07
Font::getTexture() を使って文字列を描画することは想定していませんでした。将来の実装を検討します。

現時点では、Font::drawKinetic() を使って各文字の座標を保存し、
それをもとに各文字の TextureRegion を描画するというテクニックで実現できます。

特殊な文字を使っていなければ、これで行けると思います。

https://gist.github.com/Reputeless/dc5bbdd1dd2137634894
編集
Rinifisu  2014/10/29(Wed) 14:52
>>Font::getTexture() を使って文字列を描画することは想定していませんでした。将来の実装を検討します。

よろしくお願いします。

>>特殊な文字を使っていなければ、これで行けると思います。
ありがとうございます。早速試してみたいと思います。
編集
ミツゴロウ  2014/12/14(Sun) 02:37
上と話は変わってしまいますが、Fontの描画についての事なので新しいスレを立てずにここに書きます。

現在、Siv3Dでレトロなドット絵のゲームを作ろうと思っているのですが、フォントを使う上で一つ問題が発生しました。
Siv3Dでは、フォントの描画に必ずアンチエイリアスがかかってしまうのです。
ドット絵ではないモダンなゲームを作るならアンチエイリアスがかかったフォントの方が見栄えがよくキレイに描画されるのですが、レトロなドット絵ゲームで使用すると時代的に不統一なものになってしまいます。

添付画像はアンチエイリアスありとなしの比較画像で、通常サイズと4倍拡大を用意しました。(どちらもM+1P Mediumフォント、一般的なお絵かきソフトで作成)今回のゲームでは下のフォントを使いたいのです。

いろいろためしてみたのですが、自分ではどうすればいいかわからなかった。graphic2D::SetSamplerState(SamplerState::WrapPoint)を使っても望みどおりの結果にはなりませんでした。

ライバル(?)のDXライブラリではデフォルトでアンチエイリアスのかからないフォントが使用されています。Siv3Dでもできないでしょうか…



編集
Reputeless  2014/12/14(Sun) 12:51
FontStyle に Bitmap を追加しました。
November 2014 v2 から利用できます。

また、最初のトピックと異なる内容の投稿については、
閲覧者が読みやすいよう、次回以降は気軽に新しいスレッドを作っていただければと思います。



編集
ミツゴロウ  2014/12/14(Sun) 20:45
すぐに実装してくれてありがとうございます。なんかわざわざ働かせてしまって申し訳ないです… 無理しない程度にがんばってください…。

次回以降、問題が発生したら新しいスレに書きますね。
編集
件名
Re: Fontの描画について
名前
コメント
画像添付


投稿修正キー (投稿を修正する時に使います)
画像認証 (右画像の数字を入力) 投稿キー

- WEB PATIO -