【vvvv】知ってるだけでトラブル回避!現場で失敗しないためのTIPS!

  • 7
    いいね
  • 0
    コメント

vvvvはすごい。すごいがゆえに…。

vvvvはリアルタイムにプログラムが実行されています。
しかも、実行状態を維持したまま、いくらでも編集することができます。
enoki.gif
これってすごいことですよね。ProcessingでもoFでも、ビルドしないことには動きません。
同じビジュアルプログラミングのPureDataだって、Bangデータを流さなければ、その流路は処理されません。

さらに専門的なことを知らなくても、ある程度は処理がGPUに投げられています。

しかし、だからこそ、vvvvは癖のある挙動を起こすことがあります。

でも大丈夫。ちょっと気を付ければ回避できるものも多くあります。

今回はそんなノウハウを紐解いてゆきましょう。

ケース1 Rendererが消えた!?

考えられる要素はざっと3つ。

1.単純にパッチの下に隠れている

→パッチを最小化して、下から出てきたRendererのウィンドウを選択して「Ctrl+T」これで、常にパッチの上に表示されます。

2.デュアルディスプレイで作業したままのウィンドウ位置で保存されてしまっている。

ディスプレイが2枚接続されているデスクトップPCで作成して、ノートPCで実行するときなど、Rendererが画面外の位置でとどまってしまい、表示できなくなってしまいます。
もし困らないのであれば、Rendererを出しなおしてつなぎなおしましょう。

それができないときはこちら→ ウィンドウがどこかへ旅立った時にチェックするべきこと

3.「Alt+3」非表示にされている。

Rendererはウィンドウを選択時に「Alt+3」を選択すると非表示になります。表示させるときはノードのRendererを選択して、「Alt+1」をしましょう。

ケース2 Rendererが映らない。

1.起動しているvvvvのバージョンが意図したものか確かめましょう。

32bit版でしか使えないノード、64bit版でしか使えないノード、あるいは最新版だとエラーが出るノードなどなど、そういうのもあり得ます。
vvvvパッチャーならPCの中に複数のバージョンが入っていることもザラだと思いますが、パッチをダブルクリックするだけでは、デフォルトで紐づいているvvvvのバージョンが起動するので注意が必要です。

2.vvvvを立ち上げた後に、プロジェクターなどを接続している。

このケース、すごく多いです。というか絶対覚えておいてほしいノウハウ。
vvvvを立ち上げた後にプロジェクターを接続すると、そのプロジェクター画面だけ、Rendererが映らないということが発生する可能性があります。
これを回避するには単純に、プロジェクターや外部ディスプレイを接続した後にvvvvを立ち上げればOKです。
手順.png

3.「DX11toDX9 texture」などを利用している。

DX11toDX9 textureのノードは内部でSharedMemoryなどを利用しています。
share.PNG

このノード、かなり不安定で、実行環境が変わったりすると正常に動かないことなどがあります。
これを現場で使うときは本番環境でしっかり挙動を確認しましょう

個人的にはDX11とDX9を併用して怖い目に合ったことがあるので、パッチ内では統一したほうがいいのでは…と思います。

ケース3 やけに重い。パフォーマンスがおかしい。

1. ウイルス対策ソフトが悪さをしていませんか?

NortonやAvast、ESETで不具合が出ているのを見たことがあります、挙動がおかしい、TCP、OSCなどが送られないなど、様々なことが起こりえます。

2.ノートPCでグラフィックユニットが使われていない。

このケース度々起こります。
ノートPCではリソースを節約するために、不用意なソフトにGPUなどを使わせないような設定になっていることがあります。なので、この罠にvvvvがはまってしまうと、GPUが封じられ、vvvvのパフォーマンスが劇的に悪化します。これは、NVIDIAコントロールパネルなどから、vvvvで使うグラフィックプロセッサを「高パフォーマンスNIVIDIAプロセッサ」にしてあげるなどすれば解決されます。
が、外部GPUなど特殊な機構を採用しているPCではこの設定がうまく反映されないこともあるので、そういう時は、右クリックして「グラフィックプロセッサと共に実行」から「高パフォーマンスNVIDIAプロセッサ」を選択すれば大概うまくいきます。
グラフィック.png

また、GPUを使えない状況だと、使えないノードも出てくるので注意が必要です。

3.「MainLoop」ノードが使われている。

MainLoopはfpsを制限するノードです。これを意図しないうちに使っていると、自ずからパフォーマンスが制限されます。

4.Rendererをパッチ内に埋め込んでいる場合(Alt+2の状態)で、パッチの表示領域外にRendererがいっている。

画面外.PNG

Rendererをパッチに埋め込んでいる場合、その場所が画面外に移動するとフレームレートが劇落ちします。
なので、ウィンドウモード(Alt+1)にするか(ATL+3)で非表示にしましょう。

5.「φ」が値として受け渡されている。

センサーなどを使う場合、センサーがアクティブでないとき値は「φ」が渡されます。
このφが厄介で、この値が受け渡された流路は、すべて動きを止めます。
もしtransformなどにφが受け渡された場合、その先のプリミティブがRendererから消えます。
これを回避するには「AvoidNIL」というノードを使いましょう。デフォルトではφが来たとき「0.000」を出力してくれます。
avoid.PNG

ケース4 ノードが赤くなっている。

ノードが赤くなっているときは、何かしらのエラーが発生しています。

1.不適切な値がノードに渡されている

vvvvはもともとエラーが出にくいようにはなっていますが、割り算の分母にゼロをもってくるなど、与えてはいけない値を渡したりすると、エラーを吐きます。ゼロ除算.PNG

なので、該当部分にどんな値が渡されているか、まず確認しましょう。

2.バージョンが対応していない。

ここはバージョンの影響も受けやすいところです。意図するバージョンで動いているか、よく確認しましょう。最新版では動かないノードなど、たまにあります。

3.なんかのパスが通ってない。

そのままですが、ありえます。

4.圧縮ファイルのなかのパッチをきちんと解凍せずに開いている。

解凍しましょう。

ケース5 フルスクリーンの挙動がおかしい。

vvvvは「Alt+Enter」でフルスクリーンモードにすることができます。
しかし、この方法、元に戻らなかったりなどするので、しばしば別の方法が用いられます。

その方法は、Windwsを最大化して「Ctrl+8」これで、ウィンドウの枠が消えて、疑似的にフルスクリーンにすることができます。安定の方法です。

その他うまく行かないケース。

◆「プロジェクター写ってるし、接続確認必要ないよね!!!」
ちょっと待って!!!あなたが出力しようとしているのはただの映像ではありません!!
リアルタイムレンダリングの結果です!
それはプロジェクターで映画を見るのとは訳が違います。
必ずvvvvが意図する映像を出力しているか、かならず確認しましょう。

◆「PCに映像出力端子が2つ以上ついてるから、マルチプロジェクション(プロジェクター2台接続)余裕だぜ!!」
→絶対事前に正常に出力されるか確認してください。映るだけではなく、fpsが正常かなど、しっかりと確認してください。
ここはかなりの鬼門です。
繋がるから大丈夫だろうは、死を見ます。
当日、うまく行かないことが初めてわかったりした日には、悲惨としか言いようがありません。とにかく慎重になりましょう。

◆「家では動いていた」
あるある。現場では思いがけない理由で、うまく行かないことがたくさんあります。
かならず!かならず確認しましょう!!!

HDMIを20m延長してませんか?
機器の接続しすぎで、電圧降下が起こっていませんか?
会場のネットワークは不安定ではありませんか?
近くにネオン管が置いてありませんか←New!!(ネオン管とPCは離して置け!

◆「何か編集がロックされたんだけど!?」
Ctrl+Eでロックモードの設定/解除ができます。

個人的な鉄則

現場用のPCは前日までに最新のwindows update を当てておき、再起動を済ます。その上で問題なく動作するか確認する。

また、万が一vvvvが本番中に停止したことを鑑み、デスクトップ背景は黒一色、タスクバーは非表示にしておく。

また、何かと必要になるショートカット集はこちらからPDFで落とせるので参考にしてみてください。
don't panic

よきvvvvLifeを!

この投稿は vvvv Advent Calendar 201611日目の記事です。