PDA

View Full Version : UDKのkismetアクション draw textの使用の仕方がわからない。



mr,adam
01-17-2012, 04:54 AM
こんにちは

私のUDKの不具合なのかkismetの使い方が間違っているのかがわかりませんがkismetアクション  draw text を使用してもHUDに何も表示されません。

一応画像を用意したのですがどなたかわかる方教えていただけないでしょうか?

http://www20.atwiki.jp/udk_tips?cmd=upload&act=open&pageid=76&file=WS000020.JPG

Ayaemon
01-17-2012, 07:37 PM
この内容が参考になるかもしれません。
http://forums.epicgames.com/threads/723740-How-do-you-draw-text-on-the-screen-via-kismet!-!?p=27792959&viewfull=1#post27792959

簡単に内容を言うと、UTHUD.uc内にあるevent PostRender()命令の最終行に、
以下の命令を一行追加してみるという方法です。
DisplayKismetMessages();

試したわけではないので、うまくいかなかったらごめんなさい。

Jun Shimoda
01-18-2012, 09:59 AM
Draw Textで表示されない他の原因としては、Draw Text InfoのMessage Fontが設定されていなかったり
日本語フォントの含まれていないフォントで日本語メッセージを表示しようとしている可能性はあ りませんか?
これらの場合、画面にきちんと表示されません。

Draw Textで日本語のフォントを使いたい場合はこちらのページが参考になると思います。
http://udn.epicgames.com/Three/ImportingFontsJP.html
手っ取り早いのは、以下の手順のように
日本語の漢字を全部含んだUNICODEのテキストファイルを
用意してコンテンツブラウザからFontを作成する方法になります。
1. 日本語のフォントを選択
2. Chars File Pathに上記のテキストファイルのパスを設定
3. Chars File Wildcardに上記のテキストファイル名を設定
4. 「OK」

2. 3.のステップの代わりに、Unicode Rangeに文字範囲を指定することで
(例:0000-04FF,2000-2FFF,3000-303F,3040-309F,30A0-30FF,3300-4DBF,4E00-9FFF,FF00-FFEF)
フォントのインポートができるのですが、Unicodeだと日本の漢字が4E00-9FFF内に飛び飛びにマッピングされていて
不要な漢字も含まれてしまいメモリ効率が良くありません。

フォントを利用される場合に気をつけるべき点としては、フォントのライセンスというものがあり ます。
http://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%95%E3%82%A9%E3%8 3%B3%E3%83%88%E3%81%AE%E6%AF%94%E8%BC%83

ライセンスフリーのフォントを使っておくのが無難かなと思いますが
フリーと謳われているフォントの場合、こちらのページの後半の注釈部分に書かれていますが・・ ・
http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AA%E3%83%BC%E3%83%95%E3%82%A9%E3%8 3%B3%E3%83%88
ライセンスがGPLやそれに近いものの場合はさらに気をつけておいたほうが無難かと。

仕事の場合は、多分皆さんきちんとライセンス購入する方向なので問題はないのですが
UDKのフォントのインポートは、フォントデータを埋め込んでいるわけではないものの
フォントデータから生成されたビットマップデータを「埋め込んでいる」ともとれそうなので
それがGPLの言われるEmbeddingにあたるのかどうか判断が難しい気がします。
(法律家に聞いたわけではなく、あくまでも個人的な見解なのですが)
まぁ、Embeddingに当たる場合でも回避する方法もあるようなので
どうしもGPLライセンスなフォントを使われたい方は、関連ドキュメントをきちんと読んでくだ さい。