Blenderで日本語入力が直接出来ないのを何とかしよう、というスクリプトbl2unitxt3dの解説?ページの解説ページ(?)です。
今回はTour-1ということで、文字を新規に入力する、入力された文字を変更する、ということに挑戦したいと思います。もちろん、日本語で。
まあ、これは某所からのコピペなんですが。
bl2unitxt3d
- Tour-1 -2007.04.30 まんだ
■某所からのコピペ完了。
2007.02.11
隊長〜!。某所からのコピペ(Cut&Pasteとは言わんのか?)完了しました〜。
[Ver0.09 Pythonスクリプト:bl2unitxt3d.py
]
*********以下本文*******
このドキュメントは拙作、bl2unitxt3dの操作説明書として作りました。このスクリプトは
に対して従来のやり方よりももう少し日本語入力を簡単にするもので、特にテキストを直接編集したい場合に効果を発揮します。
今回は既に2.40以上のバージョンのBlenderがインストールされているものとします。出来れば最新のバージョンを。
操作のスタートとして、Blender起動時のデフォルト状態からの
を説明したいと思います。準備がやたらに長いのでめげないでくださいね :-)
ちなみに想定する動作環境は
です。
もしあなたが日本語OSを使っているのであれば、日本語表示用のTrueTypeフォントがどのディレクトリにあるかを探してください。
そうでなければ、オンライン上にあるTrueTypeフォントを入手してください。
入手したフォントファイルはOSで使用できるようにインストールする必要は必ずしもありませんが、表示を確認するために*使用できる状態*にしておくのが望ましいです。
フォントが置いてあるディレクトリ・パスをメモしておきましょう。
日本語入力用のプログラムが必要です。
また、Tkinterと文字列のやり取りを行うのでUNICODEをサポートするデスクトップ環境が必須です。
KDEデスクトップ環境でも動作すると思われますが、動作確認は行っていませんので、悪しからず。
このスクリプトにはUnicode文字列をオブジェクトとしてサポートするPython2.4以上が必要です。以前のバージョンでは動かないかもしれません。少なくとも現時点においてバージョン2.4でしか確認が出来ていませんので特に注意してください。
インストールの方法は各自にお任せしますが、その前に、Blenderが「どのバージョンのPythonに対応しているか」を確認してください。もし Python 2.3以前に対応しているBlenderであれば、2.4以上に対応する新しいバイナリをインストールしてください。
bl2unitxt3d.pyのアーカイブ内ドキュメントにも書いていますので、殊更ここに書くまでもないのですが、
を所定の場所にコピーする必要があります。注意すべきは「コピー先のィレクトリ」です。
このファイルのやっていることは単純で、デフォルトで扱う文字コードを"UTF-8"に変更する、それだけです。ただ、この操作を怠ると、扱える文字は"ASCII"だけになってしまいます。要注意です。
Blenderのスクリプトファイルが置いてあるディレクトリ、そこに"bl2unitxt3d.py"をコピーします。スクリプトメニューから使用できるようにするためです。
ここでも「コピー先のディレクトリ」に注意。
準備が終了したのでBlenderを起動させます。Blenderインストール直後にBlenderを起動させた画面、これを起点として説明します。
スクリプトを起動させるのには2つの方法がありますが、今回は簡単にメニューから起動させる方法にします。
下の長細い画面、これを分割してスクリプトメニューを出せるようにしておきます。
画面の分割には右ボタンクリックではじめます。。ウィンドウの境界上で右クリック、"Split Area"を左クリックで選択します。すると分割線が出てきますので、好きなところで左クリックします。分割して新しく作る画面はメニュー表示が出来ればいいのであまり幅は必要ありません。
次に分割して出来た画面を「スクリプトウィンドウ」に割り当てます。ヘッダの左端にあるアイコンをクリックするとウィンドウメニューのポップアップが出ますので、そこから蛇のマークのアイコン、
を選択します。
これは説明しやすいように画面構成を変更するものです。かならずしも同じ画面構成にする必要はありま
せん。
スクリプトの起動方法はスクリプトウィンドウ、メニューから選択して行います。
以上のように選択してください。起動に成功するとTkのウィンドウが出てくるはずです。
しかし、デフォルト状態からではTkのウィンドウは出ず、何かポップアップがちょこんと出てきて終わるだけだと思います。
新規に文字列を作ってみましょう。例文として
というのにしてみましょうか。"Blender"は半角、「で作る日本語」は全角で作ってみましょう。
エディットモードで、なおかつオブジェクトを選択していない場合にはテキストオブジェクトを新規で作成します。
デフォルトでは画面真中の立方体(Cubeオブジェクト)が選択されています。全てを非選択状態にしたいので
[A]キーを1回だけ押してください。
[テンキー7]もしくは3Dウィンドウのヘッダから
と選択して、3Dウィンドウの視点を変更します。
テキストオブジェクトを新規で作成する場合、そのオブジェクトが配置される位置は「3Dカーソル」と呼ばれるものの位置が基準になります。
1.及び2.が終了した時点で、立方体がある位置から少し上にマウスカーソルを置いて、左クリックしてみましょう。すると十字に赤白の丸が現れたと思います。これが「3Dカーソル」です。
テキストの一行目、左端のベースラインの位置に相当する、ということくらいを覚えておいてもらえればいいでしょう。
4.スクリプトの実行
スクリプトウィンドウのメニューから先ほど説明した方法でスクリプトを起動させます。するとTkウィンドウが出るはずなので、
とテキストボックスに入力した後、左下の"Apply"ボタンを押して下さい。するとダイアログが出てきますが、そのままOKを押してください。するとウィンドウが閉じてBlenderの画面に復帰します。
すると…。3Dカーソル位置にテキストが表示されています…けど日本語部分が表示されてませんね。これは対応する文字のフォントではないためで、日本語フォントに変更して表示を行います。
日本語Truetypeフォントをロードして、日本語フォントでの表示をさせてみましょう。
ボタンウィンドウのEditingから、Fontパネル、Loadボタンを押してください。すると3Dウィンドウからファイルセレクタの画面に切り替わったと思います。
このファイルセレクタの使い方は他の文献をあたってもらう(!)として、とにかく日本語のフォントを探してロードしてください。ロードに成功するとLoadボタンの右側にファイル名が出てきます。
その時点で3Dビューのテキストを見てみると…。
さて、ここで先ほど入力した
を
に変更したい場合、どうすればいいでしょうか?「楽しい」という文字を挿入すればいいわけです。さあ、やってみましょう。
Viewモードでテキストオブジェクトを一つ選択して、このスクリプトを実行させた場合、そのテキストオブジェクトの文字列を変更できます。
どうですか?上手くいきましたか。
このスクリプトが少しでも皆さんのお役に立てばと思います。Happy Blending!!
■複数行の入力、他アプリからのCut&Pasteについて
出来ます、出来ますとも。ただ、表示言語の変換が上手くいかない場合もありますのでご注意の程を。
■これまでの入力方法について
「これまでの入力方法」には触れていません。時間に余裕のある方は調べてみてください。
※Windows Vista 搭載PCの提供とMacOS X搭載マックの提供、Windows日本語版に他言語のIMEをインストール、入力する方法等の情報の提供があったらtour-2,3と続くかもしれません :-)
*********以上、おわり*******
■はじめに
このドキュメントは拙作、bl2unitxt3dの操作説明書として作りました。このスクリプトは
- Blenderのテキストオブジェクト内の文字(以下"テキスト")
に対して従来のやり方よりももう少し日本語入力を簡単にするもので、特にテキストを直接編集したい場合に効果を発揮します。
今回は既に2.40以上のバージョンのBlenderがインストールされているものとします。出来れば最新のバージョンを。
操作のスタートとして、Blender起動時のデフォルト状態からの
- 日本語フォントで表示されたテキストオブジェクト作成
- 作成したテキストオブジェクトの文字列変更
を説明したいと思います。準備がやたらに長いのでめげないでくださいね :-)
ちなみに想定する動作環境は
- Windows 2000以降
- Linux , GNOME デスクトップ環境( Freetype サポート)
です。
■準備 1:フォントの入手
もしあなたが日本語OSを使っているのであれば、日本語表示用のTrueTypeフォントがどのディレクトリにあるかを探してください。
- 拡張子が".ttf"または".ttc"のファイル
- 2MB以上だと漢字なども含まれるフォントの可能性が高い
そうでなければ、オンライン上にあるTrueTypeフォントを入手してください。
入手したフォントファイルはOSで使用できるようにインストールする必要は必ずしもありませんが、表示を確認するために*使用できる状態*にしておくのが望ましいです。
フォントが置いてあるディレクトリ・パスをメモしておきましょう。
■準備 2:日本語入力の確認
日本語入力用のプログラムが必要です。
- Windows - IME
- Linux - Kinput2 , SCIM , IIIMF 等フロントエンドとAnthy ,Canna ,Wnn等かな漢字変換エンジン
また、Tkinterと文字列のやり取りを行うのでUNICODEをサポートするデスクトップ環境が必須です。
- Windows 2000 以降
- GNOME 環境(バージョンについては未確認)
KDEデスクトップ環境でも動作すると思われますが、動作確認は行っていませんので、悪しからず。
■準備 3:Python(2.4以上)の入手、インストール
このスクリプトにはUnicode文字列をオブジェクトとしてサポートするPython2.4以上が必要です。以前のバージョンでは動かないかもしれません。少なくとも現時点においてバージョン2.4でしか確認が出来ていませんので特に注意してください。
インストールの方法は各自にお任せしますが、その前に、Blenderが「どのバージョンのPythonに対応しているか」を確認してください。もし Python 2.3以前に対応しているBlenderであれば、2.4以上に対応する新しいバイナリをインストールしてください。
■準備 4:Python のデフォルト文字コードの変更
bl2unitxt3d.pyのアーカイブ内ドキュメントにも書いていますので、殊更ここに書くまでもないのですが、
- sitecustomize.py
を所定の場所にコピーする必要があります。注意すべきは「コピー先のィレクトリ」です。
このファイルのやっていることは単純で、デフォルトで扱う文字コードを"UTF-8"に変更する、それだけです。ただ、この操作を怠ると、扱える文字は"ASCII"だけになってしまいます。要注意です。
import sys
sys.setdefaultencoding('utf-8')
■準備 5:bl2unitxt3d.pyのコピー
Blenderのスクリプトファイルが置いてあるディレクトリ、そこに"bl2unitxt3d.py"をコピーします。スクリプトメニューから使用できるようにするためです。
ここでも「コピー先のディレクトリ」に注意。
■Blenderの起動
準備が終了したのでBlenderを起動させます。Blenderインストール直後にBlenderを起動させた画面、これを起点として説明します。
■スクリプト起動メニューを表示させるために
スクリプトを起動させるのには2つの方法がありますが、今回は簡単にメニューから起動させる方法にします。
下の長細い画面、これを分割してスクリプトメニューを出せるようにしておきます。
画面の分割には右ボタンクリックではじめます。。ウィンドウの境界上で右クリック、"Split Area"を左クリックで選択します。すると分割線が出てきますので、好きなところで左クリックします。分割して新しく作る画面はメニュー表示が出来ればいいのであまり幅は必要ありません。
次に分割して出来た画面を「スクリプトウィンドウ」に割り当てます。ヘッダの左端にあるアイコンをクリックするとウィンドウメニューのポップアップが出ますので、そこから蛇のマークのアイコン、
- "Scripits Window"(スクリプトウィンドウ)
を選択します。
これは説明しやすいように画面構成を変更するものです。かならずしも同じ画面構成にする必要はありま
せん。
■スクリプトの起動方法
スクリプトの起動方法はスクリプトウィンドウ、メニューから選択して行います。
- "Scripts"(ヘッダ)
- Object
- Change text object with UTF-8
- Object
以上のように選択してください。起動に成功するとTkのウィンドウが出てくるはずです。
しかし、デフォルト状態からではTkのウィンドウは出ず、何かポップアップがちょこんと出てきて終わるだけだと思います。
■新規文字列の追加
新規に文字列を作ってみましょう。例文として
- Blenderで作る日本語
というのにしてみましょうか。"Blender"は半角、「で作る日本語」は全角で作ってみましょう。
エディットモードで、なおかつオブジェクトを選択していない場合にはテキストオブジェクトを新規で作成します。
1.全てを「非選択状態」にし、視点をトップビューにする
デフォルトでは画面真中の立方体(Cubeオブジェクト)が選択されています。全てを非選択状態にしたいので
- [A] - Select/Unselect All
[A]キーを1回だけ押してください。
2.トップビューに切り替える
[テンキー7]もしくは3Dウィンドウのヘッダから
- メニュー
- View
- Top
- View
と選択して、3Dウィンドウの視点を変更します。
3.「3Dカーソル」を移動
テキストオブジェクトを新規で作成する場合、そのオブジェクトが配置される位置は「3Dカーソル」と呼ばれるものの位置が基準になります。
1.及び2.が終了した時点で、立方体がある位置から少し上にマウスカーソルを置いて、左クリックしてみましょう。すると十字に赤白の丸が現れたと思います。これが「3Dカーソル」です。
テキストの一行目、左端のベースラインの位置に相当する、ということくらいを覚えておいてもらえればいいでしょう。
4.スクリプトの実行
スクリプトウィンドウのメニューから先ほど説明した方法でスクリプトを起動させます。するとTkウィンドウが出るはずなので、
- Blenderで作る日本語
とテキストボックスに入力した後、左下の"Apply"ボタンを押して下さい。するとダイアログが出てきますが、そのままOKを押してください。するとウィンドウが閉じてBlenderの画面に復帰します。
すると…。3Dカーソル位置にテキストが表示されています…けど日本語部分が表示されてませんね。これは対応する文字のフォントではないためで、日本語フォントに変更して表示を行います。
■日本語フォントのロード
日本語Truetypeフォントをロードして、日本語フォントでの表示をさせてみましょう。
ボタンウィンドウのEditingから、Fontパネル、Loadボタンを押してください。すると3Dウィンドウからファイルセレクタの画面に切り替わったと思います。
このファイルセレクタの使い方は他の文献をあたってもらう(!)として、とにかく日本語のフォントを探してロードしてください。ロードに成功するとLoadボタンの右側にファイル名が出てきます。
その時点で3Dビューのテキストを見てみると…。
■文字列の変更
さて、ここで先ほど入力した
- Blenderで作る日本語
を
- Blenderで作る楽しい日本語
に変更したい場合、どうすればいいでしょうか?「楽しい」という文字を挿入すればいいわけです。さあ、やってみましょう。
Viewモードでテキストオブジェクトを一つ選択して、このスクリプトを実行させた場合、そのテキストオブジェクトの文字列を変更できます。
1.Viewモードで先ほど作ったテキストオブジェクトを選択します。.
2.スクリプトを起動させます。
3.テキストボックス内の文字を編集して「Blenderで作る楽しい日本語」に変更します
4.Applyボタンを押して変更の適用を行います。
どうですか?上手くいきましたか。
このスクリプトが少しでも皆さんのお役に立てばと思います。Happy Blending!!
■複数行の入力、他アプリからのCut&Pasteについて
出来ます、出来ますとも。ただ、表示言語の変換が上手くいかない場合もありますのでご注意の程を。
■これまでの入力方法について
「これまでの入力方法」には触れていません。時間に余裕のある方は調べてみてください。
※Windows Vista 搭載PCの提供とMacOS X搭載マックの提供、Windows日本語版に他言語のIMEをインストール、入力する方法等の情報の提供があったらtour-2,3と続くかもしれません :-)
*********以上、おわり*******
■お問い合わせ等
bl2unitxt3dに関してはlab1092@hotmail.co.jp(全角の@を半角にしてください)で受け付けています。件名の先頭に
BL2UTXT_を付けてください。サポートではないことに注意してください。
ただ折角メールを頂いたとしても、こちらからまったく反応がないか、あったとしてもかなり遅くなってしまう(ほぼ「窓口を設けてます」状態)ことは覚悟してくださいませ。