日本語版: Maya DomeText - zicher3d-org/domemaster-stereo-shader GitHub Wiki

目次

はじめに

「DomeText」ツールは、Mayaで手軽に平面タイトルやスクロールするクレジットを作成するためのツールです。このツールでタイトルを作成すると、テクスチャノードとしてMayaのシーンに追加されます。このため、DomeTextで作ったタイトルは再編集や加工も簡単にできます。

DomeTextツールはオープンソースのImageMagick libraryによって、様々な画像出力形式に対応しています。Windows 64bit環境では、ImageMagickはDomemaster3Dに含まれています。Linux環境では、ImageMagickはすでにOSにインストールされているかもしれません。 Mac OS X環境でDomeTextツールを使用する場合は、ImageMagickライブラリを別にインストールする必要があります。技術に詳しいMacユーザーであれば、ImageMagixをXcodeとMac Ports toolを使って下記のターミナルコマンドからインストールすることができます。 sudo ports install ImageMagick

Mac OS X版のImageMagickは、こちらからも入手可能です。http://www.imagemagick.org/script/binary-releases.php#macosx

DomeTextのユーザーインターフェース

下図はDomeTextのGUI画面です。DomeTextのウィンドウはドッキング可能なので、別ウィンドウとしても、MayaのGUIの左側か右側にドッキングしても使用できます。

DomeTextウィンドウのGUI

文字列設定のコピー

DomeTextツールを使って作成されたタイトル文字列は、**[Copy Text Settings From]**プルダウンメニューから更新できます。このプルダウンメニューからは、DomeTextツールで作成された「ハイパーシェード」にあるすべてのファイルノードの中から選んだ文字列の設定を、現在のウィンドウに読み込みなおすことができます。プルダウンメニューを選択すると、ファイルノードの[追加のアトリビュート]欄から作成時の文字列設定が現在のDomeTextウィンドウに読み込まれます。

新しいタイトルを作成すると、"dometextFileNode1"のようなデフォルトの名前がファイルテクスチャノードに付けられます。この名前を使って、次回以降は**[Copy Text Settings From]**プルダウンメニューから設定を再利用できます。

もっときちんとMayaのシーンを管理したい場合は、ファイルテクスチャノードの名前を「ハイパーシェード」や「アトリビュートエディタ」ウィンドウから変更してください。次回以降にDomeTextツールで**[Copy Text Settings From]**プルダウンメニューからこの名前で参照できます。

[Text Entry]

タイトルを作成する際には、[Text Entry]入力欄に文字列を入力または貼り付けします。入力欄には英語でも日本語でも自由に入力できます。(注意: 確認したところ、現在はバグがあり日本語が使用できません。)タイトルには空白やタブ、改行なども使うことができます。DomeTextツールは長い文字列を自動的に折り前しますので、手動で改行を挟む必要はありません。

もし長いタイトルや文字列をはっきりと見せたい場合は、[Image Controls]欄にある[Image Height](および[Image Width])の値を手動で大きくします。これによって、タイトルの一部が欠けたり荒いドットで表示されるのを避けることができます。もしタイトルが非常に長文で縦に伸びてしまう場合は、[Image Height]を(auto)に設定しておくと、1:1になっているテキストのアスペクト比をから文字列の長さに合わせて調整されます。

[Font Styles]

**[Font]**プルダウンメニューでは、OSのフォントフォルダにインストールされたすべてのフォントが表示されます。デフォルトではクラシックなサンセリフ体の"Arial"フォントが選択されています。

Windows環境でのフォントフォルダ:

C:\Windows\Fonts\

Mac OS X環境でのフォントフォルダ:

/Library/Fonts/
/System/Library/Fonts/
~/Library/Fonts/

Linux環境でのデフォルトのフォントフォルダ:

/usr/share/fonts/

**[Text Encoding]**プルダウンメニューでは、国際文字セットからUTF-8形式への変換方法を選択します。これは、文字列入力欄で英数字以外の文字を入力できるようにするためのものです。[Text Encoding]プルダウンメニューは非常に広範な93種類のエンコーディング形式に対応しています。

デフォルトのテキストエンコーディング形式はMicrosoft Windowsで標準とされている"Western Europe"または"windows-1252"です。

もしDomeTextツールに英語以外のキーボードで入力する場合は、OSの「コントロールパネル」/「システム環境設定」ウィンドウから現在のキーボードの種類と「地域と言語」の設定を確認してください。

DomeTextツールではすでに中国語の文字セットと"Traditional Chinese Big5"テキストエンコーディング形式、および中国語フォントの組み合わせでの動作を確認しています。

注意: 中国フォントで長い段落の文字列を入力する場合は、手動で改行を挟む必要があります。これは、ImageMagikライブラリがマルチバイトのUTF-8テキストブロックの長さを間違って計算してしまうためです。

**[Font Style]**プルダウンメニューはImageMagickによるフォントの装飾を制御します。これは主に、文字を細くあるいは太く表示するために使用します。

**[Alignment]プルダウンメニューは、画像内での文字列の寄せ位置をコンパスの方角で指定します。[Center]では文字列が画像の中央に配置されます。[North]では文字列が画像の上端に、[South]では文字列が画像の下端に、配置されます。もし[Image Height]を(auto)から特定のサイズに変更している場合、垂直の文字寄せにも影響があることがわかります。大抵の場合はデフォルトの[Center]**を選択しておくと良いでしょう。

**[Convert Characters to]プルダウンメニューでは、文字列を別の形式に変換します。[Upper Case]や[Lower Case]では大文字や小文字に、[Hex]で(6e 65 61 74)、また[Binary]で(01100010)のような形式に変換されます。[Hex]と[Binary]では、変換された文字列がDomeTextの画像を埋め尽くすように表示されます。[Single Column]**オプションの付いたメニューを選択すると、文字グループごとに改行が挟まれます。これと文字列アニメーションを組み合わせて縦に長い文字列を作ると、Matrixのデジタルの雨のような文字列の帯を作成できます。

[Font Size]アトリビュートでは、画像化されたDomeText文字列の幅と高さをポイント単位で制御します。デジタルタイポグラフィーの用語では、72ポイントは1インチの高さの文字列になります。有効な設定範囲は6ポイントから2048ポイントになります。DomeTextのデフォルトのフォントサイズは96ポイントです。

[Kerning]では文字列内の文字間隔を制御します。これは、文字列の段落を詰めて表示したり、ゆったりも時間を広げて表示したりする場合に便利です。文字間はポイント単位で指定し、負の値を設定することもできます。正の値で文字間が広がり、負の値ではデフォルトよりも文字間が狭くなります。これは、太字のロゴやタイトルで文字同士が重なってしまうな場合にも利用できます。有効な設定範囲は-1024ポイントから2048ポイントです。

[Color Styles]

[Color Styles]欄ではDomeText文字列の色と背景色、および背景の透明度を設定することができます。

**[Foreground Color]**スォッチをクリックして、文字列の色を指定します。もし色相と彩度をそのままに文字列を明るくまたは暗くしたい場合は、カラースォッチの右にあるスライダーを使用します。

「カラースォッチ」ウィンドウでは、HSV(色相、彩度および輝度)またはRGBで指定して色を変更することができます。[HSV]ポップアップメニューから[RGB, 0 to 1.0]または[RGB, 0 to 255]を選択することで、RGBの色指定に切り替えます。RGB 0-255にすることで、Adobe Photoshopの熟練ユーザーが一番慣れ親しんだカラーパレットになります。

**[Background Color]**スウォッチでは、文字列の背景色を設定します。ここで設定した背景色は、Mayaのテクスチャファイルノードの"デフォルト色"として設定され、DomeTextの文字列がスクロールアニメーションた時のUVテクスチャ座標領域外の色として見えることがあります。もしこの単色の文字列背景色を表示したい場合は、[Transparent Background]のチェックを外す必要があります。

**[Transparent Background]**チェックボックスにチェックを入れることで、DomeTextの背景が透明になります。この背景はデフォルトで透明になっています。

注意: [Transparent Background]が有効な場合、文字列のαチャンネルはアンチエイリアスがかかったスムーズなテクスチャになっていますが、RGBカラーチャンネルにはアンチエイリアスがかかっていません。これは、メンタルレイのプレマルチプライドαチャンネルによるレンダリングで正しく滑らかな文字列レンダリングを行なうためです。このようなアンチエイリアスのかかっていないRGBカラーチャンネルを使用することで、Mayaの飽和したカラフルなIBL背景のあるシーンでエッジの部分が暗く色付いてしまう問題を避けることができます。

この[Transparent Background]のチェックを外すと、文字列はアンチエイリアスのかかったRGBカラーチャンネルでレンダリングされます。

[Image Controls]

[Image Controls]欄ではDomeTextの生成する画像ファイルの保存フォルダやファイル名、画像フォーマットや画像解像度を設定できます。

**[Save Image As]**入力欄では、DomeTextの生成した画像ファイルの保存先とファイル名を設定します。

デフォルトでは、DomeTextの生成する画像ファイルは自動的にsourceimages/text_string_2013-11-10_00.01.14.pngのようなファイル名が付けられますが、独自のファイル名を付けることもできます。フォルダアイコンをクリックすることで保存先を指定するファイルダイアログが開きます。

デフォルトではタイトル文字列は.png形式で保存されますが、他のtiff、targa、jpg、bmpおよびpsdなどの形式で保存することもできます。保存したい形式の拡張子を設定してください。

一般的に、DomeTextの生成画像は作業中のMayaのプロジェクトのsourceimagesフォルダ二保存することをお勧めします。これにより画像ファイルを見つけやすく、またバッチレンダリングやネットワークレンダリングソフトウェアでも利用しやすくなります。

**[Image Width][Image Height]**では、DomeTextで生成する画像の解像度を設定します。[Image Width]は幅を、[Image Height]は高さをそれぞれピクセル単位で設定します。

もし[Text Entry]に長い文字列を入力する場合は、どのように文字列が装飾され折り返されるかを[Image Width]および[Image Height]によって設定し、希望する文字列ブロックのアスペクト比になるよう調整する必要があります。

[Image Width]には以下のいずれかの値を設定できます。

  • 64 px
  • 128 px
  • 256 px
  • 512 px
  • 1024 px
  • 1536 px
  • 2048 px
  • 3072 px
  • 4096 px
  • 8192 px

[Image Height]には以下のいずれかの値を設定できます。

  • (auto)
  • 64 px
  • 128 px
  • 256 px
  • 512 px
  • 1024 px
  • 1536 px
  • 2048 px
  • 3072 px
  • 4096 px
  • 8192 px

[Image Height]に(auto)を設定すると、入力された文字列全体がレンダリングされるよう自動的にDomeTextの高さが調整されます。この(auto)ツールの欠点は、レンダリングされる文字列が1:1のアスペクト比になるようにMayaの[スケール]ツールを使って手動でこの生成されたシェイプを修正する必要があるという点です。

[Shape Controls]

**[Align Text to Camera]**プルダウンメニューでMayaのシーン内のカメラを選択することで、DomeTextの文字列がそのカメラを向くようにエイムコンストレイントが設定されます。もし文字列やカメラを動かしても、文字列は自動的に選択されたカメラの方向を向くよう追従します。

**[Texture Node]**プルダウンメニューでは、DomeTextでどの種類のシェーディングノードを生成するかを選択します。アニメーションするDomeTextを作成したい場合、通常は"Lambert"テクスチャノードの使用をお勧めします。"Lambert"を選択すると、Mayaの通常のファイルテクスチャノードが生成され、そのマテリアル色と自発光のアトリビュートが使われます。その他にサーフェースシェーダーやmia_material_x_passesテクスチャノードを使用することもできます。これらの欠点は、Mayaのビューポートでリアルタイムにプレビューが表示できないことです。また現在のところ、DomeTextのアニメーション制御はLambertとサーフェースシェーダーのみで利用可能です。

Mayaの通常のファイルテクスチャノードを使用する際、レンダリング結果にぼやけた線状のゴミが発生する可能性があります。この回避方法については、こちらのTips & Tricks Wikiの記事を参照して下さい。

**[Texture Node]**プルダウンメニューで[Skip Node Creation]を選択すると、新しいDomeText画像を生成する際にファイルテクスチャノードをシーンに追加しません。注意: [Update Existing Node]はまだ実装されていません。

[Supporting Shape]プルダウンメニューでは、DomeTextを平面([Plane])または曲面([Cylinder])の形状に適用します。

**[Orientation Axis]**プルダウンメニューでは、DomeTextで生成したオブジェクトをシーンのどの方向に向けるか、[Right(X)]、[Top(Y)]、[Front (Z)]の中から選択します。

**[Shape Height]**では、DomeTextで生成した文字列オブジェクトのシーン内での大きさを設定します。ここで高さを指定すると、[Image Controls]欄の[Image Width]および[Image Height]からアスペクト比を計算してオブジェクトが生成されます。値はシーンで使用している単位で設定します。

もし円柱オブジェクトの直径を大きくしたい場合、[Image Controls]欄の[Image Width]の値を増やすことで、円柱の直径を大きくし画像のノリシロを増やすことができます。

[Texture Placement]

**[Flip Text Direction]**にチェックを入れると、文字列を水平方向に反転してレンダリングすることができます。これは円柱オブジェクトを生成して、その中にカメラを配置して内側から文字列を読ませたい場合に便利です。

**[Text Wrapping]のチェックボックスでは、DomeTextの文字列をplace2Dtextureノードの[テクスチャオフセット]でスクロールさせた際に、水平または垂直に文字列を無限に繰り返して表示するかどうかを設定します。[WrapU]アトリビュートで水平方向、[WrapV]**アトリビュートで垂直方向の繰り返しを設定します。この[WrapU]と[WrapV]の名前はUVテクスチャ座標系を意味しています。

もしスタッフロールのように文字列をスクロールさせる場合、[WrapV]のチェックを外すことで垂直方向に一度だけ文字列が表示されるようになります。

[Text Animation Controls]

[Auto Scroll Direction]ポップアップメニューでは、文字列のスクロールする方向をプリセットから選択できます。プリセットとして選択できるのは[Off][Scroll Left][Scroll Right]、**[Scroll Up]および[Scroll Down]**のいずれかです。

文字列を静止させておくには**[Auto Scroll Direction][Off]**に設定します。

よくあるスタッフロールを作成するには**[Scroll Up]**を選択します。

**[Start Frame]および[End Frame]**では、文字列が[Auto Scroll Direction]で選択された方向に一回スクロールするまでの期間を設定します。デフォルトでは文字列は線形速度に移動します。これはMayaの「グラフエディタ」ウィンドウで他のアニメーションカーブスタイルに変更することもできます。

**[Loop Animation]にチェックを入れると、文字列のスクロールを簡単に繰り返すことができます。文字列のスクロールは[Start Frame][End Frame]**で設定された速度で、[ポストインフィニティ]で指定された方法で無限にスクロールし続けます。

注意: 文字列をスクロールさせ続けたい場合は、[WrapU]と[WrapV]にチェックを入れて文字列を繰り返し表示にしておくことが重要です。

例として、スクロールする文字列を円柱オブジェクトとして作成し、**[Scroll Left]または[Scroll Right]**方向にスクロールさせることで、リング状に回転し続ける文字列を作成できます。

ここで高さを低く、直径の大きな円柱を作成いたい場合は、[Image Width]の値をを"8192"、[Image Height]の値を"512"や"256"などの値に設定します。

[Custom ImageMagick Text Options]

DomeTextの文字列画像の生成には、非常に強力なImageMagickライブラリが使用されています。**[Custom ImageMagick Text Options]**入力欄にImageMagick用のコマンドラインオプションhttp://www.imagemagick.org/script/convert.phpを記述することができます。

the Imagemagickのヘルプウィザードアイコンをクリックすると、使用可能なコマンドラインオプションを確認することができます。このアイコンは、ImageMagick Convert Toolのウェブサイトへのリンクになっています。 http://www.imagemagick.org/script/convert.php

この入力欄では、250を超えるコマンドラインオプションを使用することができます。文字列枠の回転や変形、発光やぼかしなどの画像フィルタコマンド、SVG画像や独自の背景画像の読み込みなども可能です。

"-draw"コマンドを使うことで、DomeTextのレンダリング領域にベクターグラフィックスを描画することもできます。

http://www.imagemagick.org/script/command-line-options.php#draw

文字列の生成

**[Create Text]**ボタンをクリックして、シーンにDomeText文字列をシーンに追加します。

生成した画像をリアルタイムでビューポート内で確認できます。[スムーズシェード]と[ハードウェアテクスチャリング]を有効化してください。

**[Load Image in Render View]**ボタンをクリックすると、DrawTextで生成された画像を「レンダービュー」ウィンドウ内で見ることができます。「レンダービュー」では通常操作でズームやパンも行えます。メニューやツールバーから、カラーとαチャンネルの表示切替も行えます。

「ドームビュー」でDomeText画像を表示する際、[Transparent Background]の設定によって、レンダリングエラーを避けるためにαチャンネルではスムーズにアンチエイリアスのかかったエッジ、カラーチャンネルではアンチエイリアスのかかっていないエッジになっていることに注意してください。

DomeTextの再編集

DomeTextでタイトル文字列を作成すると、これを再編集できるようにテクスチャノードの[追加のアトリビュート]に作成時の設定が保存されます。

また、ファイルテクスチャノードのメモ欄に入力された文字列が保存されます。

DomeTextの作成時のデータは、「ハイパーシェード」や「アトリビュートエディタ」で確認することができます。ファイルテクスチャノードを選択し、「アトリビュートエディタ」の[追加のアトリビュート]欄を開くと、作成時のすべてのオプションが確認できます。

DomeTextのタイトル文字列を再編集するには、これらの[追加のアトリビュート]を再読み込みします。ここで実際に試してみましょう。

いくつかDomeTextタイトルを作成したら、「DomeText」ウィンドウの一番上にある**[Copy Text Settings From]**プルダウンから既に作成したDomeTextタイトルを選択して、その作成時の設定を読み込み直します。

DomeTextの設定を変更したら、[Create Text]ボタンをクリックして編集したDomeTextタイトルを作成します。

タイトルの手動アニメーション

文字列の位置を手動でアニメーションさせたい場合は、[Vertical Translate]と[Horizontal Translate]から制御します。これらはMayaのファイルテクスチャノードの[追加のアトリビュート]内にあります。

実際にDomeTextツールで試してみたところでは、シンプルなスタッフロールにはリニア接線が一番適していました。アニメーションの接線は「グラフエディタ」から調整することができます。

文字列を[WrapU]や[WrapV]を有効化した状態で作成した場合、文字列をスクロールさせると境界を越えて繰り返し表示されます。文字列を繰り返さずひとつだけ表示させたい場合は、[WrapU]および[WrapV]を無効化します。

アニメーションさせる文字列に不透明な背景色を設定すると、DomeTextツールは画像内と同じ背景色をMayaのテクスチャファイルノードの**[デフォルトカラー]**に設定します。これにより、文字列がスクリーンから消えても違和感無く背景色が残るようになっています。

スタッフロール作成のチュートリアル

Mayaでスタッフロールを作成してみましょう。

[Domemaster3D]シェルフで[DomeText]ツールをクリックします。

下記の文章を[Text Entry]入力欄にコピー&ペーストします。

Domemaster3D
Title Generator

A long time ago in a galaxy far, far away....there was a need for fast, editable title cards on a stereo fulldome screen. 

Only one tool dared to challenge this power... DomeText. 

DomeText possessed a strength the world had never seen. A strength surpassed only by the power of his heart. 

Wherever there was evil, wherever an innocent artist would suffer, there would be... DomeText.

[Font Styles]欄では**[Alignment]プルダウンメニューから[North]**を選択し、文字列の上端を画像の上端に寄せます。

**[Font Size]"150"**ポイント変更して大きめに表示します。

[Color Styles]欄を編集して文字列の色を白に、背景を透明に設定します。

[Image Controls]欄では**[Save Image As]**入力欄にファイル名sample_credits.pngを入力します。

[Image Width]を"2048"に、[Image Height]を"4096"に設定します。これによってスタッフロール用の縦に長いシェイプが作成されます。

[Shape Controls]欄では[Texture Node]を"Lambert"二設定します。

ここでは文字列をポリゴンの板の上に配置したいので、[Supporting Shape]にはデフォルトの"Plane"を選択します。

[Orientation Axis]は**[Front(Z)]**のままで、フロントビューの方を向くようにします。

[Shape Height]を"35"に設定し、Mayaのシーン内でポリゴン板の高さを35単位に設定します。

ここではスタッフロールを作りたいので、[Texture Placement]欄の[WrapV]のチェックを外します。これによって文字列をスクロールさせた時に垂直方向に繰り返し表示されないようになります。

[Text Animation Controls]欄で[Auto Scroll Direction]を"Scroll Up"に設定します。これによって文字列が下から上にスクロールします。

[Start Frame]を**"1"に設定し、最初のフレームでスタッフロールが動き始めるようにします。[End Frame]を"360"**に設定し、15秒の長いスタッフロールアニメーションを作成します(Mayaで24fpsの動画フレームレートの場合)。

[Loop Animation]のチェックを外し、スタッフロールが一度だけアニメーションするようにします。

DomeTextの設定が終わったら、タイトル文字列オブジェクトの作成準備が整いました。

**[Create Text]**ボタンをクリックして新しいタイトル文字列オブジェクトを作成します。

ビューポートで新しいタイトル文字列の様子を確認するには、[スムーズシェード]と[ハードウェアテクスチャリング]を有効にしておきます。Mayaのタイムラインの終了点を360フレームにしておくことで、アニメーションの長さに合わせることができます。Mayaのタイムラインをドラッグすることで、スタッフロールが上に流れていく様子を確認することができます。

DomeTextフォントフォルダ

DomeTextツールはPCのデフォルトのフォントフォルダ内でインストールされたフォントを探します。これはシェルフでDomeTextアイコンをクリックするために自動的に行われ、フォントのリストが更新されます。

Windows環境でのフォントフォルダ:

C:\Windows\Fonts\

Mac OS X環境でのフォントフォルダ:

~/Library/Fonts/, /Library/Fonts/, and /System/Library/Fonts/

Linux環境でのフォントフォルダ:

/usr/share/fonts/

DomeTextのサンプルドーム映像

http://www.youtube.com/watch?v=94i571O2E9o

"DomeText Code Uplink Animation"は文字列を16進数の1列表示に変換し、DomteTextのアニメーション機能を使って未来的なMatrixのデジタルのデジタルの雨の世界を表現しています。

おわりに

DomeTextに新しい機能追加の要望があれば、NINGグループの掲示板にある**[Issue]**機能で気軽にコメントをお寄せください。 https://github.com/zicher3d-org/domemaster-stereo-shader/issues


(翻訳: 株式会社オリハルコンテクノロジーズ 高幣俊之)
⚠️ **GitHub.com Fallback** ⚠️