Blender日本語エディタ ver0.98 取説
(暫定版)
対応バージョン
Win32版Blender2.59および2.60aでの動作を確認しています。
概要
このスクリプトはテクスチャとUVマッピングを使って日本語文章の入力、編集、表示を行うものです。 主な用途はゲームエンジン用のテキストを作成することと作成したテキストをゲームで表示することです。 使用フォントは梅フォントのゴシックと明朝体です。
ライセンス
制限事項は一切ありません。ご自由にどうぞ。
作成したテキストをゲームで表示するまでの流れ(サンプルを使う場合)
画面左下にあるテキストエディタの『japanese_edit.py』を『RunScript』する(アドオンとして導入する場合は
こちら
を参照してください)
『Editor』オブジェクトを選択してEditModeに切り替える
操作手順に従いテキストを作成する
完成したテキストを
エンコード
して作成したテキストの文字コード(※エンコード参照)をクリップボードに送出
BGEスクリプトのサンプル『jp_render』にある
dict={}
内に文字コードを貼り付ける
Pキークリックでゲームを起動し、マウス左クリックを連打
目次
サンプルについて
最初の設定
文字の入力(ひらがな)
英数字の入力
かな/カナ変換
漢字変換
コピー & ペースト
カット
空白の挿入
文字の削除
ラインフィード(改行)
色の変更
辞書への語句登録
エンコード
キーマップ
ショートカット一覧
オペレータ
ショートカット
入力ダイアログ呼び出し
Ctrl + Space
かな/カナ変換
K
漢字変換
Space
コピー
Shift + Ctrl + C
ペースト
Shift + Ctrl + V
カット
Shift + Ctrl + X
空白の挿入
Shift + Space
文字の削除
Ctrl + D
直前の文字の削除
Backspace
ラインフィード
Space(空白部分のみ)
サンプル『jpe.blend』について
サンプルには、日本語入力スクリプト本体(.py)と、このスクリプトを使って日本語入力をするために必要な設定を施した『Editor』という名前のオブジェクトが含まれています。 さらにゲームエンジンでの使用例を示したサンプルスクリプトも同梱しています。
日本語の入力と編集は『Editor』オブジェクトを使って行います。
『Editor』オブジェクトのメッシュに対してFaceの複製、追加や分割といった操作をするとスクリプトが正しく機能しなくなる可能性があります。
ObjectModeで複製することは問題ありません。
jpe.blend以外のファイルで『Editor』を使いたい場合はjpe.blendからAppendしてください。
jpe.blenderファイルのスクリーンショット
最初の設定
エディタを使うためにBlenderの設定を変更します
アドオンとして導入する場合はjpe.blendを開き『japanese_edit.py』をお使いのBlenderのアドオンフォルダに保存してください(例:\blender-2.59-windows32\2.59\scripts\addons)
File -> User Preferences -> Add Ons -> Japanese Editor のチェックをオンにします。
アドオンとして導入しないで使う場合はテキストエディタから『japanese_edit.py』をRunしてください。
文字の入力と編集は全てFace選択で行いますので、SelectModeがFace以外の場合はFaceSelectModeに切り替えてください。→
文字の入力と編集は全てEditModeで行います。
『Japanese Edit』UIは、EditModeの時のみToolShelfに表示されます。
辞書機能を活用する場合は頻繁にRunすることになります・・・
文字の入力(ひらがな)
文字の入力は『Writeダイアログボックス』を呼び出してそこにローマ字で日本語の文章を打ち込むことで行います。このとき入力されるローマ字や記号のことをこのスクリプトでは『Command』と呼んでいます。 入力したCommandはひらがな表記に変換されてメッシュに表示されます。
漢字変換
は、ひらがなが表示されたFaceの中から変換したい文字を選択して行います。
▼操作手順
文字を入力したい位置にあるFaceを選択してActiveにする(ActiveFace状態であれば選択状態でなくても可)
3D View ->ToolShelf -> Japanese Edit -> Input tools にある『Write』ボタンをクリック(Shotcut = Ctrl+Space)
ダイアログボックスの『Command』内にローマ字で日本語文章を入力
OKボタンをクリック
Command入力後にEnterキーを押し、次いで『下矢印キー or 上矢印キー』 → 『Enter』の順に叩くことでもOKボタンを押せます。
文字入力モードは「挿入モード」のみです。「上書きモード」は現在のところありません。
英数字の入力
英数字とかなの入力切替はCommandを使って行います。
▼操作手順
上記『文字の入力』のうちダイアログボックスを開くまでの手順を実行
Commandボックス内に
>>
と入力し、次いで英数字を入力する
OKボタンをクリック
英数字入力モードからひらがな入力モードに復帰したい場合は再度
>>
を入力します。
カタカナ入力モードはありません。
かな/カナ変換
▼操作手順
カタカナに変換する場合はひらがなを、ひらがなに変換する場合はカタカナをFace選択
3D View ->ToolShelf -> Japanese Edit -> Input tools にある『Kana』ボタンをクリック(Shotcut = K)
元に戻す場合はもう一度『Kana』ボタンをクリックします。
漢字の索引として使われているひらがなはカナや漢字に変換できません。
漢字変換
▼操作手順
漢字変換するひらがなもしくはカタカナをFace選択
3D View ->ToolShelf -> Japanese Edit -> Input tools にある『Kanji / Next』ボタンをクリック(Shotcut = Space)
目的の漢字に変換されなかった場合はもう一度『Kanji / Next』ボタンをクリック
ひとつ前の変換候補に移動するには3D View ->ToolShelf -> Japanese Edit -> Input tools にある『Prev』ボタンをクリック(Shotcut = Alt + Space)
目的の漢字がヒットするまで3を繰り返す
辞書機能に登録さている単語が優先的に表示されます。
辞書機能を回避したい場合は手順1のひらがな/カタカナの選択範囲を変えるか、
Search / Put機能
を使ってください。
スクリプトでは一度変換された漢字を元のひらがな/カタカナ表記に戻せません。BlenderのUndo機能を使って元に戻してください。
漢字の索引として使われているひらがなはカナや漢字に変換できません。
3〜4の手順の代わりに変換候補の中から目的漢字を探し出して任意に選択し入力することもできます。
変換候補領域にある目的の漢字をFace選択
編集領域の漢字を入力したい位置にあるメッシュをShift+右クリックでFace選択
3D View ->ToolShelf -> Japanese Edit -> Input toolsSearch Tools -> 『Plot』ボタンをクリック
コピー & ペースト
▼操作手順
コピーしたい範囲をFace選択する
3D View ->ToolShelf -> Japanese Edit -> Edit Tools にある『Copy』ボタンをクリック(Shotcut = Shift + Ctrl + C)
ペーストしたい位置にあるFaceを選択しActiveにする(ActiveFace状態であれば選択状態でなくても可)
3D View ->ToolShelf -> Japanese Edit -> Edit Tools にある『Paste』ボタンをクリック(Shotcut = Shift + Ctrl + V)
元に戻す場合はもう一度『Kana』ボタンをクリックします
漢字の索引として使われているひらがなはカナや漢字に変換できません。
カット
▼操作手順
カットしたい範囲をFace選択する
3D View ->ToolShelf -> Japanese Edit -> Edit Tools にある『Cut』ボタンをクリック(Shotcut = Shift + Ctrl + X)
切り取った文字を貼り付けるには上記『コピー & ペースト』の3〜4を実行します。
カット機能で切り取った場合は切り取った位置に空白が残ります。
空白の挿入
▼操作手順
空白を挿入する位置にあるFaceを選択しActiveにする(ActiveFace状態であれば選択状態でなくても可)
3D View ->ToolShelf -> Japanese Edit -> Edit Tools にある『Insert』ボタンをクリック(Shotcut = Shift + Space)
空白を挿入した位置に文字があった場合は右隣のFaceに移動します。またそれ以降にある文字も全て右詰めされ、編集領域から溢れた文字は削除されます。
文字の削除
▼UIを使って1文字を削除
削除する文字をFace選択しActiveにする(ActiveFace状態であれば選択状態でなくても可)
3D View ->ToolShelf -> Japanese Edit -> Edit Tools にある『Delete』ボタンをクリック(Shotcut = Ctrl + D)
Delete機能はActiveFace上の1文字のみを削除します。
削除した文字以降にある文字は左詰めされます。
▼コマンドを使って、これから入力する文字以降にある全ての文字を削除
『文字の入力』のうちダイアログボックスを開くまでの手順を実行
Commandボックス内にCommandを入力し、最後に
**
と入力
OKボタンをクリック
編集領域にある全ての文字が削除対象になります(行の終端までではありません)。
▼Backspaceキーを使って前の文字を削除
削除する文字の右隣にあるFaceを選択しActiveにする(ActiveFace状態であれば選択状態でなくても可)
Backspaceキーを押す
ラインフィード(改行)
▼操作手順
改行したい位置にある空白Faceを選択
3D View ->ToolShelf -> Japanese Edit -> Edit Tools にある『LF』ボタンをクリック(Shotcut = Space)
この機能はゲームエンジンにおいて任意の位置で改行処理を実行するためのものです。編集時には
LF
記号が表示されるだけで改行としては機能しません。
ゲームプレイ時は
LFよりも右側にある文字は表示されません。
LFを使わずに改行するには行の終端まで空白で埋める必要があります。しかしそうした場合後述の『エンコード』で生成されるコードに無駄が生じます。LFはこの無駄を省くための機能です。
色の変更
▼操作手順
色を変更する文字をFace選択
3D View ->ToolShelf -> Japanese Edit -> Edit Tools にある『Color』ボタンをクリック
ダイアログボックスのColorR、ColorG、ColorBにそれぞれに0〜1の範囲で値を入力する
OKボタンをクリック
例)0.0, 0.0, 0.0 = 黒 1.0, 1.0, 1.0 = 白 1.0, 0.0, 0.0 = 赤 0.5, 0.5, 0.5 = グレー
文字と色はリンクしていないため、文字の配置が変わると色がズレます(汗
色を変更する操作はテキスト完成後に行うことを推奨します。
文字色をコピーする場合はBlenderアドオン『CopyAttributes』を使ってください。
文字を削除してもFaceの色情報(VertexColor)は削除されません。
文字を削除して空白となった部分には色情報が残っています。
空白部分の色情報をまとめて削除するには、色を変更しても問題ないFaceを選択して操作手順2を実行しそのままOKボタンを押してください。 なお、文字をエンコードする際にも無効な色情報が削除されますので、作成中のテキストに問題がなければ放置したままでも構いません。
文字ごとに色情報を付加するとエンコードで生成されるコードが非常に長くなるため、その回避策として隣り合う色が同じ場合をひとつの範囲としその範囲につきひとつの色情報コードを生成しています。 そのため文字色を変更したあとは文字の配置を動かさないようにする必要があります。(完成間近になって思いつきで付けた機能であるためなんとも雑な仕様となっていますが平にご容赦m(_ _;)m
Seach & Put
漢字変換候補リストを直接呼び出して漢字を入力する機能です。 検索したい漢字の読みを指定して『Seach』を実行すると、指定した変換候補リストをメッシュに展開します。『Put』は変換候補リストから漢字を拾って入力するツールです。
▼Seachの操作手順
3D View ->ToolShelf -> Japanese Edit -> Seach Tools にある『Seach』ボタンをクリック
ダイアログボックスの『Seach』に検索したい漢字の読みをローマ字で入力
OKボタンをクリック
▼Putの操作手順
編集領域内の空白Faceを選択
入力したい漢字を検索候補領域からShift+右クリックでFace選択
3D View ->ToolShelf -> Japanese Edit -> Seach Tools にある『Put』ボタンをクリック
Putの手順1と手順2は逆でも問題ありません。
エンコード
文章が完成したら以下の手順を実行してエンコードします。エンコードを実行するとクリップボードにUV座標コードと色情報コードが送られます。 このとき生成されるコードをスクリプトでは『文字コード』と呼んでいます。生成した文字コードを『jp_render』というゲームエンジンスクリプトの中のdict={}内に貼りつけてテキスト作成作業は完了です。 なお、『jp_render』はInternal(Blenderの内部にある)テキストですので保存する場合はCtrl+Sで.blendファイルごとセーブしてください。
▼操作手順
エンコードする文字列を範囲選択
3D View ->ToolShelf -> Japanese Edit -> Game Engine Tools にある『Encode』ボタンをクリック
ダイアログボックスの『Key』にこのテキストを呼び出すときのキーネームを入力(例:mes_5)
OKボタンをクリック
サンプル『jp_render』を使って文字を表示する場合は、新たに作成した文章のキーネームを
mes_5
としてエンコードしたうえで、『jp_render』のdict={}内にペーストしてください。
文字に演出を加えたい場合は各自でスクリプトを改造してください。
キーマップ
ショートカットの有効/無効を切り替えます。Blender本来のショートカットの一部を潰してスクリプトのショートカットを割り当てている部分がありますので、本来の機能を使いたいときはキーマップを『Remove』してください。
▼ショートカットの無効化
3D View ->ToolShelf -> Japanese Edit -> Keymap Tools にある『Remove』ボタンをクリック
▼ショートカットの有効化
3D View ->ToolShelf -> Japanese Edit -> Keymap Tools にある『Regist』ボタンをクリック
辞書への語句登録
辞書への登録は『Encode』ボタンで行います。
▼操作手順
辞書に登録したい語句をFace選択
3D View ->ToolShelf -> Japanese Edit -> Game Engine Tools にある『Encode』ボタンをクリック
ダイアログボックスの『Key』にこの語句を呼び出すためのキーを入力(例:登録語句が『凱旋』の場合、キーは『gaisenn』)
OKボタンをクリック
テキストエディタでjapanese_edit.pyを開き32行目にある『dict={}』の{}内の適切な位置にカーソルを合わせてCtrl+Vでペースト
登録した語句を適用する場合はRunScriptをクリック
読み方が重複する語句を辞書に登録する場合は、キーの末尾に_1、_2…という書式で通し番号を付加します。こうすることで漢字変換の際にスペースキーを押すごとに読みが重複した語句が通し番号の順で表示されます。
Japanese Edit