BGEで日本語 2

以前BGEで日本語を表示させようとしたことがありましたが、あの続きを唐突にやりたくなりました^^;

追:BGEで日本語 3





以前はPlaneを文字の数だけあらかじめ配置しておいて、そのPlaneの文字画像テクスチャを張り替えていけばいいんじゃないかー、なんて言ってましたが、それだと表示する文字の数だけマテリアルも必要で、それもナンセンスだったので、今度は違った方法でやってみました。

im0.jpg

こんな感じで、格子状のメッシュのUVマップを文字一覧画像に対して設定し、それのUV座標を動的に変えてやることで、文字を表示させるやり方です。
無難というか、王道っぽいやり方ですけど、表現力を考えると、文字一つ一つがオブジェクトである以前のやつのほうが色々なことが簡単にできそうです。できないことはないですけどね。スクリプト次第です。

頂点座標の位置も変更できるので、やろうと思えばプロポーショナルフォントにも対応できそうですね。やりませんけど。



文字一覧画像の生成させるときはmakeMojiImg.pyを実行します。Python Imaging Library (PIL) が必要です。
このセットは既に実行させてあるで、即開始可能です。

中身を見たい人はこちらの方が見やすいと思います(ある程度は)


最初の文字を表示させるPlaneオブジェクトの作成、UVマップの設定等が手作業なので、スクリプト書こうと思っていたんですが、例のごとく、それはまたいつかに^^;



ところで、Planeに貼ってあるテクスチャですが、普通に貼ったらアンチエイリアスがかかりすぎて、ぼやけるので、どうにかできないかなーっと思ってるんですが、どうするんですかね。

レンダリングする場合は、レンダリングの設定のOSAを無効にすることで、アンチエイリアスがかからなくなるんですが、ゲームエンジンのほうには適応されません。

ポチポチいじっていたら、TextureFaceのほうでα値の扱いに関する項目があって、
im3_20101106121830.jpg
ここをClipAlphaにすることで、アンチエイリアスではなくなるんですけど、
im2_20101106122049.jpg

画像が小さい場合、
im1_20101106122049.jpg
こう、境がフニャフニャになります。これはこれで味があるんですけど、狙ってるわけではないので、これを回避しようと思うと、画像の文字を大きくする必要があって、結果、メモリも食うし、処理も食う、という状況です。そこまで気にしちゃいませんが。

YouTube等にあるBGEのゲーム動画とかを見てたら、できそうな感じがするんだけどなぁ。
関連記事

コメント

コメントの投稿

非公開コメント

このブログについて
□ ブログ内容
決まった趣旨はありません。
興味を持ったこと・日常で行ったことを何でも書きます。

3DCG・プログラミングなどが多めです。

□ 現在の活動
・ウェブサイト制作
 (http://tiblab.net)
・3Dゲーム制作
 (コックパニック)
検索フォーム
ユーザータグ

Blender キャプチャ blendファイル BGE Python GameEngine ムービー Android CG  Red5 Terragen C# C++ 

カテゴリー
プロフィール

TiBra

Author:TiBra
趣味でCG制作、プログラミング等を行っています。メイカーズに憧れています。

ネットを通じた交流を広げたく思っていますので、コメント・メールはお気軽にどぞー

戯言程度のことは、こちらのブログに投稿しています。基本戯言なので、実質移転しているようなものです。

Mail:tibraあっとlive.jp
HP:TibLabmemocode
動画:VimeoFC2動画ニコニコ
ファイル:SkyDrive
企画:3Dゲーム作業実況

Blogリンク
不都合がございましたらご連絡ください。
当ブログのリンクバナー
FC2 ID
FC2カウンター
RSSフィード+解析コード