https://www.image-line.com/support/FLHelp/html/plugins/ZGameEditor%20Visualizer.htmの訳と補足。
訳者注:2018/05/23
このページは原則的に「2016末頃」に書かれた物です。
FL Studio20がリリースされ、ZGameEditor Visualizerのバージョンも"2.63"とされています。
基本的な仕組みは変化していないようですが、「ウィザード」の追加「見栄えのするプリセットの増強」など「とっつきやすい方向」で大幅にアップデートされているようなので、このページの内容が役に立たない可能性が結構あります。
翻訳元のHelpも更新されているようなので、興味の赴くままにぼちぼち更新予定。
このページは原則的にFL Studio12以前(ZGEViz2.0?)のドキュメントを元に書かれています。また、「結構大きい単位で豪快に意訳している」場合があります。
また、このページでは個人的に調べたメモを大量に追記してますが、追記事項は原則的に「訳注:」とか明記してわかるようにしています。たまに書き忘れていたりすることもあるかも知れません。
ビジュアルエフェクト
「ZGameEditorビジュアライザ」はビジュアル・エフェクトプラグインです。
「ZGameEditorビジュアライザ」はリアルタイムで再生するほか、レンダリング結果を動画ファイルとして出力することができます。
ビデオチュートリアルはこちら。
「ZGameEditorビジュアライザ」は、フリーのオープンソースソフトである「ZGameEditor(公式サイト)」を元に作られています。「ZGameEditor」を使うと、FL Studioの「ZGameEditorビジュアライザ」用のビジュアライズオブジェクトを新たに作成することもできます。
(訳注:このドキュメントは「チュートリアルではない」ので、あんまり「使い方」については書かれていません)
「ZGameEditorビジュアライザ」では、専用のビジュアルオブジェクトを最大50層のレイヤーとして組み合わせて、映像を作成できます(訳注:ちなみに、FL12.2以前は3層固定、FL12.5あたりでは25層だったようです)。
レイヤーの階層は、画面左が下(背景)、画面右が上(前景)となっています。エフェクトを作成する際は、通常は背景から順番に作成して行くのがよいでしょう。
各レイヤーは「他のレイヤーの出力結果」を利用することができます。あるレイヤーが他のレイヤーの出力結果を利用する場合、右にあるレイヤーが左にあるレイヤーの出力を入力として参照します。
レイヤーの順序は、各レイヤー画面の右上にあるメニューから変更できます。
各レイヤーで選択する「オブジェクト」は、それぞれが独自のコントロール(訳注:多くはスライダで表現されている)を持っています。各コントロールは、他のFL Studioのプラグインと同様にオートメーションすることができます。いくつかのオブジェクトではMIDI入力も利用できます。
また、オートメーションとは別に、多くのビジュアルオブジェクトは入力されたオーディオに対して反応します。
| レイヤ画面上部(◎A <> ヽΨ Λ日 ▼) | |
| ◎A, B, C... | レイヤのON/OFFスイッチとレイヤのタイトル名です。レイヤは最大50個定義することができます。レイヤ名は、後述の「Layer menu」から変更することができます。 |
| Effect presetアイコン < > | 定義済みのエフェクトリストを前後して、エフェクトを選択します |
| Color selectorアイコン ヽΨ | 選択中のエフェクトが「Hue, Saturation, Color」といった色設定用コントロールを持っていた場合、ここから専用のダイアログで色の選択ができます。 |
| Move layerアイコン Λ日 | このアイコンをクリック&ホールドしてドラッグすると、レイヤーの順序を移動することができます。 |
| Layer menu:▼ | |
| Insert layerコマンド | このレイヤの左に、新たなレイヤを追加します。 |
| Clone layerコマンド | このレイヤの右に、このレイヤの複製を追加します。 |
| Move layer left/rightコマンド | レイヤの順序を移動します。……というコマンドも用意してありますが、前述の「Move layerアイコン」をドラッグ&ドロップする方が簡単かも知れません。 |
| Rename layerコマンド | このレイヤのレイヤ名を変更します。各レイヤには、デフォルトではA、B、Cといった名前が付けられますが、これを好きな名前に変更できます。 |
| Collapse layerコマンド | このレイヤのレイヤ画面の表示幅を縮小します。大規模なプロジェクトで有効です。元に戻すには、縮小したレイヤをクリックしてください。 |
| レイヤ画面中部 | |
| Audio Source AUDIO SRC | ミキサートラックを選択します。SendToされるトラックか、サイドチェインされる対象のトラックを選択します。 |
| Image Source IMAGE SRC | レイヤーで利用する画像を選択します。利用する画像は、「Add content > Imageタブ」画面で画像ファイルをあらかじめ選択しておきます。ビットマップイメージのほか、ビデオファイル、WebCamの出力が利用できます。 |
| Mesh MESH | 3Dメッシュ(立体を表すモデルデータ)を選択します。利用するメッシュは、「Add Content > Meshesタブ」であらかじめ選択しておきます。 |
| To Buffer ◎TO BUFFER | ONにすると、このレイヤの出力する映像を、再後面レイヤ扱い(つまり、他の全ての、To Bufferされていないレイヤよりも「右」にある状態)とし、「imageBuffer」に送ります。 このimageBufferは、他のレイヤの「Image sourceドロップリスト」から選択して、そのレイヤの入力として使うことができます。 To Bufferを指定したレイヤの次のレイヤ、つまり右にあるレイヤは、clean slateから新たに描画される(訳注:言い換えれば、一番左のレイヤと同じく、画面クリアの状態から描画開始する)ことになります。 こうした手順を必要なだけ繰り返し、最終的な映像を作り出すことができます。 (訳注:image bufferの中身がUIで視覚化されないとこがわかりにくいかと思いますが、imageBufferを激しく利用するタイプのエフェクトの代表である「BufferBlender」の解説 https://forum.image-line.com/viewtopic.php?t=160974 あたりは参考になるかも知れません) |
| レイヤ画面中部 | |
| [Effect Selector] | レイヤーで利用するエフェクトを選択します(訳注:画面上ではAUDIO SRCのさらに上にあるドロップリスト)。標準添付のエフェクトのほか、独自のものを作成して利用することも可能です。独自オブジェクトを作成する場合は「ZGameEditorを使って新たなオブジェクトを追加する」を参照してください。 |
| エフェクトのカテゴリ(前景寄り/背景寄り/加工/なんとも) | |
| Background(5) | 主に背景として利用するために作られたエフェクトです。 |
| Blend(2) | 他のレイヤーをブレンド(混ぜ合わせ)して利用するタイプのエフェクトです。 |
| Canvas effects(16) | 背景キャンバス用に作られた、動くテクスチャです。 |
| Feedback(8) | 入力されたビデオやイメージを加工してフィードバックするスタイルのエフェクトです。 |
| Hardware(1) | 「DMX lighting control」です。これは外部機器の「DMXコントローラ」を制御するためのエフェクトです。利用するDMXコントローラは、「Settings > Enable DMX output」であらかじめ設定しておきます。 |
| Image effects(11) | 入力されたイメージを利用するタイプのエフェクトです。イメージは、ビットマップやビデオファイルのほか、Webカメラのリアルタイム入力が利用できます。 |
| Internal controllers(2) | |
| Midi(3) | (訳注:マニュアルに記述がないようですが、「音声」の替わりに「MIDI入力」を扱うタイプの視覚エフェクトです。利用するにはZGameEditor VisualizerのSettingsタブなどで手動で設定する必要があります) |
| Misc(5) | 「その他」のエフェクトです。 |
| Object Arrays(11) | 多数の3Dオブジェクトを表示するエフェクトです。 |
| Particles(7) | パーティクルを扱うエフェクトです。 |
| Peak effects(11) | 音声のピーク入力に反応するタイプのエフェクトです |
| Physics(4) | 「重力」や「衝突」といった、物理シミュレーション的な動きを扱うエフェクトです。 |
| Postprocess(22) | 「ポストプロセス」です。「左側にある他のレイヤーの出力を利用して加工する」タイプのエフェクトです。「このエフェクトが利用するレイヤー」の指定は、利用されるレイヤー側であらかじめバッファにSend(TO BUFFERトグルをON)、そのバッファをImage Srcで選択、という手順で行います。 |
| Scenes(7) | 「3Dシーン」型のエフェクトです。リアルタイムにレンダリングされるシーンであり、さまざまなコントロールが行えます。 |
| Terrain(2) | 「3Dテレイン」型のエフェクトです。 |
| Text(3) | 「テキスト」型のエフェクトです。テキストは「Add Content > Text」、「Add Content > HTML」であらかじめ指定しておきます。テキストの一行一行は、各レイヤーで個々に扱うことができます。詳細は「Add Content > Text」、「Add Content > HTML」の説明を参照してください。 |
| Tunnel(3) | 「トンネル」型のエフェクトです。 |
(訳者注:各エフェクトについては、「ZGameEditorビジュアライザのエフェクト」ページにちょっとまとめてます(一部)。)
ヒント:
(訳注:「'Randomize'プリセット」で面白げなエフェクトが出てくることはたしかにありますがあんまり期待しないほうが良いでしょう……'Randomize'は本当に「ランダムで2つのエフェクトを並べて」、「パラメータをテキトウにセットする」という動作をしているようで、仕組み上「一瞬で消える」とか「画面上に見えるところには何も出ない」とか、それこそ「何から手をつけていいかわからない」なんてこともよくあるようです(2レイヤしかないのにIMAGE SRC指定なしでBufferBlenderでBuffer8を指定したりとかいうこともままあります)。
「リセットマラソンが大好き」という人でないなら、まずは「Randomizeプリセット」じゃなくその上に並んでいる「普通のプリセット」を一通り試してみるのをお勧めします。「プラグイン画面右上の〈 〉で表示されるプリセット」は「エフェクトのプリセット」じゃなく「エフェクトの組み合わせのプリセット」であり、「見栄えがするように人間が調整した完成品」なので、まずはその辺から選んで「鑑賞する」、「気に入るのを探す」、「ちょっと手を入れてみる」、「なぜそう動くのか考えてみる」とかするのがいいんじゃないかと思います)
この画面では、画像、HTML、テキスト、メッシュ(3Dモデル)、ビデオなどといったカスタム素材を指定できます。ここで指定した各種素材は、各エフェクトの画面上部にあるIMAGE SRC、MESH SRCといったドロップリストで選択して利用します。
| Images | ビットマップ画像です。ほとんどの画像フォーマットがサポートされています。いくつかのエフェクトで利用できます。利用する際は、利用するエフェクト画面のIMAGE SRCドロップリストで指定します。Add pictures等のボタンを押すとファイル選択ダイアログが開きます。追加されたファイルは画面下のリストに表示されます。 Add pictures:画像ファイルを選択します。多くの画像フォーマットに対応しています。 Add videos:動画ファイルを選択します。動作中のPCで扱えるCODEC(訳注:ビデオファイルの内部形式)であればほとんどのフォーマットを扱えるはずです。 Add WebCam:ウェブカメラを選択します。複数選択することもできます。OSがサポートするWebカメラであれば利用可能です。 Add FL Window:PlaylistやMixerなど、FL Studioのウィンドウが選択できます(訳注:(FL 12.4(Build29)では)使おうとすれば気がつくと思いますが、「見切り発車の実験的実装なので公式フォーラムでバグレポートしてね」、「縦横倍率設定できるけどExport時にしか反映されないよ」、「対象のWindowは開いてないと画面にでてこないよ」といった注意事項が設定画面に書かれています。実際、すごく重くなることがあるとかいった問題はあるようです。余談ですが、個人的には「Lantern」で使うのがかっこいい気がしました)。 Remove:下のリストで選択中の画像や動画などをリストから削除します。 |
| HTML | HTMLに似たコードを記述してをテキストフォーマットとして利用します。「Text > TextTrueType」エフェクトで利用されます。コードの仕様については、このタブ画面の右にあるヘルプに使用例があるので参照してください。またチュートリアルビデオ「FL Studio Guru|ZGameEditor Visualizer Text & Lyrics」があるので、そちらも参考にしてください(訳注:英語ですが「"FL Studio Guru"らしい、気合の入った見て楽しいビデオかと思います)。 |
| Text | テキストです。「Text > TextTrueType」、「Text > MeshText」、「Text > TextDraw」の各エフェクトで利用されます。各エフェクトの「Text Line」スライダで指定した行が1行ずつ利用されます。(訳注:「TextTrueTypeで日本語を使うにはFL12.4以降推奨」、「MeshTextとTextDrawでは日本語はどうやっても使えない」です。「ZGameEditorビジュアライザのエフェクト」ページのTextカテゴリも参照) |
| Meshes | メッシュ(3Dモデル)を指定します。「.3dsフォーマット」の3Dメッシュが指定できます。いくつかのエフェクトで利用できます。(訳注:.3dsはAutodesk社のソフトの標準フォーマットです。ニンテンドー3DSとは関係ないです。.3dsフォーマットは対応する3Dソフトが多い=ほかの3Dフォーマットでも、どうにかして.3dsファイルには変換する方法があると考えてよいと思います) |
| Video cue points | ビデオの再生開始位置となるキューポイントを、秒単位(小数指定可)で、70個まで指定できます。(訳注:当然ですが'Video cue points'はビデオを利用するエフェクトでないと意味がありません)。ビデオの利用は「'Image Effects > Image'」エフェクトでIMAGE SRCドロップリストで指定するのが一番簡単でしょう。 セットアップ:SettingタブでMIDI INポートをMIDI Outポートと合わせる(MIDIチャンネルも合わせる)。 キューポイントのトリガ:MIDI Outチャンネルで演奏されたMIDIノートが、設定したcue pointからの再生のトリガとなる。Cue-pointはリストの1行目をC5として、以下自動で設定される。 特殊な指定:キューポイントのリストでは、秒指定の替わりに「play」、「stop」という記述もできる。 |
HTML(「Text > TextTrueType」エフェクト)の使い方補足:
<p align="center">[textline]</p>
| MIDI port | エフェクトのいくつかは、MIDI入力やコントロールを利用します。ここでは、ZGameEditor共通で利用するMIDIポートを0から255の値で指定します。「...」を指定するとMIDIポートを利用しません。MIDI OutとZGameEditorのポートは同じ値となります。 MIDIチャンネルについて:MIDIを利用するレイヤーが複数ある場合、MIDIを利用する最初のレイヤーから16番目のレイヤーまでにMIDIチャンネルの1から16番が自動的に割り当てられます。MIDI Note colorsやMIDI Outを分ける等の工夫をすると良いでしょう。 |
| Antialias | ONにすると、Open GLの4xオーバーサンプリングを利用してグラフィックを滑らかにしようとします(訳注:PCのグラフィックボード(とOSの設定)次第と思われます。ONにして良くなるならONにすると良いでしょう。「Anti-alias(アンチエイリアス)」という用語は「ビットマップ画像を拡大するとギザギザになるのをどうにか見栄えよくする」といった意味でCG方面でよく使われますがDTM方面でも似たような意味で使われてた気がします)。 |
| Stereoscopic | 3D系エフェクトでの立体視(平行法)モードのオン/オフです。(訳注:Stereo-scopicと書くとくどくてわかりやすいかも) |
| Enable DMX output | ZGameEditorから「DMXデバイス」ハードウェアを利用するための設定です。DMXとはMIDI機器の一種で、照明機器の制御を行うための機械です。おもしろい機械で驚くほど安いのでeBayをのぞいてみると良いでしょう(訳注:と、マニュアルには書いてあります。「eBay」はアメリカの汎用通販サイトで日本から利用するのは根性が要るかもしれません。あんまりどこにでも売ってる機械ではないようですが「DMXコントローラ」で検索すると国内でも販売店が見つかると思います)。 |
| Spectrogram band count | 「周波数スペクトル」型エフェクトでのバンド数を指定します(訳注:FL Studioユーザーなら言葉になじみがなくてもWave CandyプラグインとかEQUOイコライザプラグインとかで見たことはあると思います。「EQUOの縦棒の数」と思えばだいたい合ってるはずです)。バンド数を増やすとかっこいいですがCPU負荷は高くなります。 |
| Internal FFT precision | 音声信号処理の際の、内部的なバンド数を指定します。値を大きくすると正確さが増す一方、処理の遅延の原因となります(訳注:FFTはFast Fourier Transform=高速フーリエ変換。音声信号とかをデジタル処理するときによく使う計算法。らしいです。上の"Spectrogram band count"の「中の人」と考えればだいたい合ってると思います) |
| Export to video | ムービーファイルとして出力します。出力の際は詳細な設定(Advanded export settings...)も可能ですが、通常は'Preset'のどれかを選択することをお勧めします(訳注:と、マニュアルにはありますが、個人的な経験(Win7SP1,ATI RADEN5750ユーザです)から言えば「特定のエフェクトを使った場合特定のエンコーダで特定の解像度で出力しないとクラッシュする」とかいうことが「とてもよく」あります。性質上グラフィックカードの性能やドライバに強く依存しているためのようで、フォーラムを見ても「エクスポートできないー」、「映像が乱れるー」、「クラッシュしたー」という質問(?)が多くあり、それに対して「ビデオカードのドライバを更新してみて」と応える、というやり取りがしばしば見られたような気がします)。 |
| Reset defaults | 設定をいじりすぎてわけがわからなくなった時に押してみましょう。あなたの混乱は治ります。多分。 |
| Internal Controllers | (訳注:FL12.4以降で実装されたようです) オンにするとプラグインの映像出力がフレーム単位で解析され、内部的に、「Red(赤)」、「Green(緑)」、「Blue(青)」、「Luminance(明度)」4つのコントロールソースが生成されます(訳注:オンにしなくてもコントロールソースは参照できるようです)。 例として、「全面が赤いビデオ出力」であれば「Red=1, Green=0, Blue=0, Luminance=0.2(概算)」となります。 各値は、以下の2つのモディファイアで調整可能です。 Base:元の値のオフセットを設定します。 Volume:元の値の倍率を設定します。 (訳注:仕組み的には「リアルタイムで変化する0から1の数字を出力する」というものであって、使い方は他のFL StudioのInternal Controller(Fruity Keyboard Controllerとか)と大差ないので、そちらのチュートリアルとかが参考になるかなと思います。「何に使うのか」というか「どういう時使いたくなるか」というあたりは、まだよくわかりません。さしあたって「画面の色とライトを同期させる(画面が赤いときは部屋が赤くなる)」とかいう仕組みを作ることはできるかなと思います) |
エフェクトを「コントロールする方法」は3種類あります。「各エフェクトがコントロールに対してどういう反応をするか」については、各エフェクトのデザイン次第です。
(訳注:「各エフェクトが、どのコントロールに対して、どういう反応をするか」については本当に色々で、「音には反応しない」、「テンポには反応する」、「スライダ以外にはまったく反応しない」、「反応の度合いを調整できる」とか、かなりの幅があります。「実際に触ってみてね」ということと思います。「ビジュアルエフェクト」なので言うまでもないかも知れませんが「他のレイヤの映像や映像のバッファの影響も受ける」ので、それらも入力(=コントロール)と考えることもできるかもしれません)。
| 「音声データ」によるコントロール | オブジェクトの多くはオーディオ入力に反応するパラメータを持っています。低音、中音、高音それぞれの周波数に対して、それぞれ違った視覚的反応をするようにデザインされているものも多いです。 ヒント:「エフェクトに影響を与えるミキサートラックを、一旦Fruity Peak Controllerプラグインにリンクする」、「ピアノロールやパターンクリップをFruity Envelope Controllerプラグインにリンクする」など、他の制御用プラグインを経由することで、パラメータやスライダを狙い通りにコントロールすることが可能です。 (訳注:Fruity Peak ControllerプラグインでZGameEditorを操作する手順やメリットなどについてはYoutubeの(Image-Line公式でない)動画「How to master the ZGameEditor Visualizer 2 in FL Studio 12 - Tom Solid explains」で詳しく解説されています) |
| DAWの「オートメーション機能」によるコントロール | 操作したいスライダなどで右クリックメニューから「Edit events」、「Create automation clip」、「Link to controller」といったコマンドを使えば、FL Studioのおなじみの機能を使ってビジュアルを制御することができます。 |
| 「MIDI Input」によるコントロール | 1)プロジェクトにMIDI Outチャンネルをロードする。 2)MIDI Outのポート番号とZGameEditorビジュアライザのMIDI inputポートの番号を合わせる。 3)以上の手順で、MIDI OutチャンネルのMIDIノートやコントロールデータからZGameEditorビジュアライザのコントロールパラメータが制御できます。 |
新たなオブジェクトを追加するには、
があるので、そこに自作の「*.zgeproj」ファイルをコピーします(訳注:例えば、ZGameEditorビジュアライザに標準でついてくる「8x8x8_Eggsオブジェクト」は「01. 8x8x8_Eggs.zgeproj」というテキストファイル(=XMLファイル=ZGameEditorのプロジェクトの保存形式)で定義されています。こういうファイルを自作して、上記ディレクトリに置くと利用できるようになる…はずですがまだ試していません)(訳注:FL12.3では、"ZGameEditor Visualizer\FgAndBg"じゃなく"ZGameEditor Visualizer\Effects\"にカテゴリごとのディレクトリを作ってそこに置くのが正解のような気もします)。
新たなオブジェクトを作るには、「オープンソースソフトのZGameEditor」を(訳注:くどいようですが「ZGameEditorビジュアライザ」プラグインとは別の「ZGameEditor開発環境」のことです)ダウンロード、インストールする必要があります。ZGameEditorは公式サイトからダウンロードできます。
インストールができたら、以下のビデオチュートリアルを視聴してZGameEditorの使い方を学習するとよいでしょう:
(訳注:ビデオは操作をなぞるもので丁寧且つボイスなしなので英語の問題はなかったりします。具体的に手を動かす参考になる一方で、概念的な説明は全くないので、「開発環境」一般の予備知識がないなら「テキストの方のチュートリアル」も目を通した方が良いような気がします)
| ビデオタイトル | 概要(訳者コメント) |
| 準備 | |
| 01 - Getting Started | はじめに: 公式サイトの見つけ方、ダウンロード、インストール、起動、までのガイド(サイトは2016/09時点ではレイアウトが変わってるようですが)。 |
| 基本操作:(おおむね公式サイトのTutorial1に相当) | |
| 02 - Designer Layout | ZGameEditorの画面レイアウトとその基本操作。 ごく一般的なUIです。 |
| 03 - Project Tree | プロジェクトの構造。 プロジェクトはツリー構造で表現されています。画像リソースの識別子の宣言とかコードで書いちゃいそうな要素も全部ツリー構造で表示されるのは特徴かも知れません。よく知りませんが。 ビデオはアプリ制作時の基本操作の紹介にもなっています。 |
| 04 - Real-Time Preview | リアルタイムプリビュー 完成時のイメージや各種プログラム要素を開発環境の中でで表示する機能の紹介。開発時には頻繁に使う機能で、ほかのチュートリアルでも何度も使われているようです。 |
| 05 - Component Properties | 「プロパティ」の扱い。 UIからのプロパティ設定操作。またコードを記述してアニメーションする操作例。 プロパティって何?という人はとりあえず「画面に『絵』を表示するときにそれが画面上の『どこ』に『どんな大きさで』表示するかを『数字で表現する』もの。それが『絵』のプロパティ」とか思っておくと遠くないはずです。その応用で、「どんな絵か」とかに名前を付けてプロパティでその名前を指定したりとか「どんな風に表示するか」とかいうのをプログラミングしてそれに名前を付けておいて、プロパティで指定することで「そんな風」に表示されたりとかいう場面がチュートリアルビデオでしばしば出てきているようです。プロパティという言葉はコンピュータ言語一般で(特にオブジェクト指向言語で?)わりとよく使われる言葉です。Windowsでファイルを右クリックするとメニューの一番下に出てきたりするかも知れません。 |
| 06 - Build Executable | 単純なアニメーションをするアプリの定義、プロジェクトの保存(2:06-)、開発環境内でのテスト実行と停止(2:19-)、 ビルド&ラン=開発環境がなくても起動できる.exeファイルを生成して実行(2:28-)してみるというビデオです。 「ビルド&ラン」のとこはFLの文脈だとFLが内部処理で自動でやってるはずなので別にここでやらなくてもいいと言うこともできるのかも知れませんが、エフェクトを自分で開発している段階では何度もテスト実行をする機会はあると思うのでしっかり確認しておいてもバチは当たらないと思います。 本題は「実行」のところだけなわけですが、そこまでに相当「応用的なこと」をやっているように思います。ビデオ01から順番に見てきただけでは全部理解できるものでもないと思うので、あんまり深く考えずビデオを止めながら実際手を動かして流れをなぞってみて、ほかのビデオを見たりしばらくしてからもう一度戻って来て、いろいろ発見したり手際のよさに感心したり自分でもできるようになってることに感動したりするとよいのかも知れません。 |
| 入力とか出力とか | |
| 07 - Texture Mapping | テクスチャマッピングの扱い方。 プロジェクトへのビットマップテクスチャの追加(0:09-1:16)、プロジェクトへのメッシュ(注:3Dモデルです。3Dソフトでは割と一般的に使う用語のようです)の追加と簡単な設定(1:16-1:50)、プロジェクトへのモデルの追加、モデルとさっき登録したメッシュやテクスチャとの関連付けとテクスチャのための各種プロパティの紹介(1:51-4:05) |
| 08 - Bitmap Font | 文字を表示する ここでは文字が描かれたビットマップファイルを加工して文字として表示しています(ちゃんと見ないとわかりませんがもしかしたらOS上でいう文字を表示する機能は「ない」のかも知れません。だとすると日本語を扱ったりするのはこの方法を使って強引なことをやるしかなかったり。想像ですが)。 プロジェクトにビットマップテクスチャの追加(0:08-0:48)、プロジェクトに「フォント(注:OSのフォントと関係なく「文字が並んだビットマップを1文字ずつ切り出してフォントっぽく扱う機能」のようです。Fluity Danceプラグインと似てるかも)」を追加(0:49-1:07)、プロジェクトに、さっき作った「フォント」を扱うためのマテリアルを追加(1:07-)、 「リアルタイムプリビュー」を常に行うように設定(1:32-1:39) レンダリングに使うマテリアルをOnRenderイベントで宣言、テキストを画面表示するためにRenderTextを追加して文字列を設定(1:39-2:04) RenderTextコンポーネントの各種プロパティ調整の操作例(2:04-2:29)。 注:このビデオではDina.bmpだかいう128x128のファイルを使ってるんですがこれがどこかで調達できるかは不明。入手のアテがない場合でも、Windowsのペイント(ペイントブラシ)でもGimpでも、ドット単位で絵が描けるソフトを使える人を調達してこの動画を見せればあとは人徳かお金で何とかなるかもと思います。 |
| 09 - Keyboard Input | キーボード入力の扱い方 注:ちゃんと見てませんが、これはZGameEditorで「ゲームを作る場合」に超重要な機能で、「FL Studioの文脈で使う場合」は関係ないかも知れません。「BitPadZ」みたいな、自身に編集機能があるような特殊なエフェクトでは需要もあるのかも知れません。 |
| 10 - Play Sound | サウンドの再生 オーディオエディタ 注:「自体をシンセサイザーとする」機能のようです。これもZGameEditorとしては重要(というかおもしろい)機能と思われますが、「音声出力はしないはず」のFL Studioの「ビジュアル」オブジェクトを作る上では、縁がない機能かも知れません。ちゃんと見てませんが。 |
| 11 - Audio Editor | |
| 12 - Import 3DS | 3DSファイルをインポートする ビデオを見ると一目瞭然ですが「3Dモデルを読み込んで表示する」という話題です。ビデオではさしあたって"Plane.3DS"という飛行機の3Dモデルデータを使っているのですが入手方法とか「とりあえず使ってみるためのデータ」がどこかにあるかは不明です(ちなみに"Plugins/Fruity/Effects/ZGameEditor Visualizer/Content/Meshes/"にある"Plane.3ds"は「飛行機のプレーン」じゃなく「平面のプレーン」のモデル) 。「とりあえず何でもいいから3DSデータが欲しい」という場合は、"Plugins/Fruity/Effects/ZGameEditor Visualizer/Content/Meshes/"にある"Monkey.3ds"あたりを使うと良いかもしれません。「実用上は位置やスケール合わせ(ビデオで3DSやビットマップの読み込みの時に、データに合わせていろいろ調整しているところ)」とかそれほど簡単でもない問題もあると思います。「MMDデータを踊らせる」とかいう話になるとまだ何段階かハードルがあるような気がしますが、2016/08頃から、「Adobe Fuse+mixamo」で製作したモデルを躍らせる「Mixa-Dance」というエフェクトがImage-lineの公式フォーラムで配布されています。mixamoはボーン付けとアニメーション付けに特化したWebサービスで、べつにAdobe Fuse以外で作ったモデルを与えることもできるようです。実際「mixamoとblenderの連携」なんてページもmixamo公式にあったりするようです。 |
| プログラミング | |
| 13 - Writing Expressions | 「式」の記述 いわゆる「プログラミング」、あるいは「コーディング」の話題です。ちなみに言語が何かということについては公式サイトをざっと見る限り「Cみたいなスクリプト言語」という以上の説明はないようです(コンポーネント名としての"ZExpression"というのが便宜上「言語の名前」になってるような気もします)。ビデオの内容は「Unityとか扱える人」ならカンで理解できると思うので、そういう人を確保できると基礎知識の習得のショートカットができるかも知れません。「ZGameEditorのソースコードエディタ」の補完機能はそこらのWeb開発環境よりしっかりしてる(というより開発環境や言語が理論上補完可能な仕様になっている)印象なので、言語を知らなくても書いていけるようになってるように思います。使い込んでませんが。 |
| 14 - Create Model | 「モデル」の作成。 ここでいうモデルはZGameEditorでのプログラム単位としてのモデル…ということのような気がしますがまだよくわかってません。本質的に理解するにはたぶん「OpenGLプログラミングでのデータ構造」とかの知識が必要なような気もします。 ビデオは「総合的、応用的な話題」のようで、すごくいろいろやってます。見た目上「マウス操作」が多いですが、やっていることは「変数の宣言」とか「フラグの定義」とか「イベントの定義」とかいった、ガチガチの「プログラミング、コーディング」がほとんどのようです。 |
| 15 - Spawning Clones | 「Spawn」する。 すいません。まだよくわかってないです。が、この機能はZGameEditorVisualizerのエフェクトで多用されているので要チェックです。たぶん、「Java屋から言うとmodelをクラス宣言としてインスタンスを作る」、「Unity屋から言うとプレハブのインスタンス化」みたいなことをやってて、同じモデルで座標だけ異なるものを、このビデオでは4つ作ってるんだと思います。 とか説明してわかるような人なら説明しなくてもわかるような気もするのでよくわかってないなりにもうちょっと噛み砕くと、「画面に4つ、絵を表示させたい」場合に「プロジェクトツリーに絵を4つ定義してそれぞれ表示する」のでなく「絵をひとつ定義して「それと似たもの」を4つ表示させる」という方法の話です。たぶん。 |
| 16 - Collision Detection | 衝突判定 すいません。あんまり詳しく見てないんですが「衝突判定」です。画面上(というか3D空間上)に描かれてるものがぶつかった時の処理です。シューティングゲームとかで「自機が、敵機とぶつかると、爆発する」とかいう話で、この動画では「Cursorというのが自機でマウスカーソルについて動くという仕組みを定義」、「Sphereというのが敵機で、縦横比16x9の画面上のランダムな場所出現する仕組みを定義」、「敵機が何かとぶつかったらもっともらしく吹っ飛ぶ仕組みを定義」したあと、「自機と敵機はぶつかるけど敵機と自機はぶつからないと定義」、「自機を1つ敵機を8つ出現させる」、ということをこの手順でやってるようです。とか言ってこれも読んで意味がわかる人は読まなくても意味がわかるような気もしますが。 実際のところZGameEditor Visualizerのビジュアルエフェクトに必要かと言えば「必須ではない」と思いますが、使えば面白いエフェクトになることはあるかと思います。……とかいいつつFL Studio添付のビジュアルエフェクトの中で衝突判定していそうなもの(Phisicsカテゴリのいくつか)を見てみたんですが、衝突判定にはこの機能じゃなくZgeBulletというライブラリを使ってるような気もします。よくわかりませんが。 |
| リリース | |
| 17 - Compress Build | .exeファイルの圧縮 簡単なアニメーションを表示するアプリケーションを定義(0:00-)した後、実行してエラーがないことを確認する(1:25-)ところまでは、ビデオ「6 - Build Executable」と同様ですが、そのあと.exeファイルのサイズが44kbytesであることを確認した後、圧縮してサイズが29kbytesまで小さくなっているのを確認している(1:52-)ようです。 ちなみに文字通りに圧縮しているようで、公式サイトのチュートリアルに「UPXに感謝を」とか書いてある通り、コマンドラインツールのUPXを使っているようで、ビデオでも「黒い画面」が一瞬表示されています。アプリケーションやスクリーンセイバーを作って「再配布」する時にはこちらの手順を踏むとよいのでしょう。 それはそれとして、FL Studioの「ZGameEditorビジュアライザ」では、プロジェクトファイルから自前で実行形式にしていると思われるので、この手順が必要になることはないと思います。要は「FL Studioユーザーには関係ないビデオ」と考えてよいと思います。 |
訳者注:ZGameEditor(Visualizerじゃなく開発環境の方)のバージョン
FL12.3のZGameEditor Visualizer2のエフェクトは、ZGameEditor3.0(2016/09/21現在の「ベータでない最新安定版」)では編集できないものがあるようです。ざっと見た感じ、zgeprojファイルのタイムスタンプが2014年以降のものはZGameEditor4.0betaで開く必要がある、ということのようででした。ZGameEditorのダウンロードページには「It is recommended that you use the latest beta version.」と書いてあるので、ZGameEditorについてはベータという表現に対して変に気を使わず「言われた通り最新ベータを使う」のがよさそうです。
(おまけの訳注:開発に関しては、上記ビデオ以上に「簡単な」チュートリアルはない(というよりZgeViz4の現行の開発リソースを使う限りこれ以上簡単に説明するのが理論上でも不可能)と思ってた方がよいかも知れません。「入り口」としては「ZgeViz用エフェクト開発の手引き(原文はZgeViz: effect development documentation)」があります。とはいえ実際のところ「既存のエフェクトの.zgeprojファイル」を「開発環境にロードして」、「動かして」、「目で読んで」、「流用、改造する」のが「最短の方法」かなと思います)
Pluginクレジット: Ville Krumlinde (ZGameEditor Visualizer), Tsviatko Jongov (Video encoder), JPH Wacheski (scripts) Steven Magyar (development testing).