トップページ > ゲ製作技術 > 2011年06月23日 > 4Rg2XpCB

書き込み順位&時間帯一覧

3 位/146 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000221000005



使用した名前一覧書き込んだスレッド一覧
名前は開発中のものです。
【初心者】スレを立てる前にココで質問を【Part22】

書き込みレス一覧

【初心者】スレを立てる前にココで質問を【Part22】
883 :名前は開発中のものです。[]:2011/06/23(木) 16:01:30.57 ID:4Rg2XpCB
フォント表示はいろいろある
一番楽なのは、文章をそのままテクスチャにしたテクスチャを用意するもの
2011年現在に至っても、まだ存在している。


今主流なのは、ちょっと高度になビットマップ
フォントファイルから文字コードとともに抜き出し、文字をテクスチャにするが
「ココからココまでの座標が何のデータですよ」というものを覚えさせるので
文章データはテキストファイルでも何でもいい。

プログラムは、そのテキストファイルに相当するものからデータを取り出してみて
「このデータだから、ここからここまでの座標にある絵を入れればいいんだな」と判断して表示

だから座標が間違ってると表示されるものもおかしくなる
【初心者】スレを立てる前にココで質問を【Part22】
885 :名前は開発中のものです。[]:2011/06/23(木) 16:44:44.04 ID:4Rg2XpCB
ビットマップもテクスチャードも画像に「変換」っていうかね

前者はもとから全文テクスチャとしてあるから、別に変換はしないでいい
もとから画像テクスチャデータとして存在するので、「ゲーム内以外で読まれると困るやつ」には使えない。

後者は「文字を羅列したテクスチャ」はもとからあるので
プログラムがやっているのは配置するだけだな

切り貼りしているようなものだ


【初心者】スレを立てる前にココで質問を【Part22】
887 :名前は開発中のものです。[]:2011/06/23(木) 17:07:58.05 ID:4Rg2XpCB
厳密にはちょっと違うが、後者を簡単に言うと
まず、一枚のでっけえテクスチャに

ABCDEFGHIJKLMN・・・あいうえおかきくけこ・・・・

と、使う文字や記号を描いておく。

プログラムは、テキストファイルを読みこめば文字コードと文字データを取得できるだろう
そうして読んだデータが例えば0x01としよう

そうしたら、対応テーブルを見て「0x01はテクスチャのどっからどこまでやねん?」ということをはじき出す。

仮に0x01は、座標0.0から12.12まで としたら、最初に作ったテクスチャからそこまでの範囲を切り出して
表示させたいところにポンと置くだけだ。


前者は、まさに文章をテクスチャに全部書いておく。
文章ぶんのテクスチャ数が必要になるが表示させるだけなので簡単。
unrealエンジンが、少なくとも1〜2はこれだったと記憶している
【初心者】スレを立てる前にココで質問を【Part22】
888 :名前は開発中のものです。[]:2011/06/23(木) 17:16:28.74 ID:4Rg2XpCB
一文字づつ判断して、座標出して、切って貼って
これを繰り返して文章にする

ただ、テーブルの構築や、そもそも「文字コードの理解」が必要になるので
そこまで簡単ではない。特にUTF-8の文字コードの理解が他に比べるとややこしい。
でも、スマートかつ基礎さえ出来れば応用が利いて後々の苦労が少ないのはこれだ


できなかったら、文章を全部テクスチャに書き込んでおくUnreal方式がいいだろう
【初心者】スレを立てる前にココで質問を【Part22】
893 :名前は開発中のものです。[]:2011/06/23(木) 18:09:17.62 ID:4Rg2XpCB
前者、unreal方式はテキストファイル類は必要ない
どこで何を出すかさえ決めておけばいいだけで、
会話自体が少ないアクションシューティングでは問題にならなかった。
オブジェクティブ表示、ステータス表示、程度だし

Doom3エンジンの「オリジナル」は字幕機能を持っていないし
もしもしゲー用のエンジンも持ってないこともあるので
今でもテクスチャ貼り字幕は存在している。

必要があったら、Prey、ETQW世代のD3エンジンのように拡張して字幕機能を持たせることもあるが


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。