1月にUE4でVJをした記録。
Live
#ue4 でVJしました。
— Shampagne (@Shampedelica) 2021年2月1日
KIYOさんの音楽がとても気持ち良かったので、音楽に寄り添えれば、と思って作りました。#publicvisuals 2021.01.31 pic.twitter.com/6RujtMXWds
MV
作成の背景
live出演依頼
2020年12月25日、ToruIzumidaさんから「ライブに出てみない?」とのお誘いあり。 初めてのライブ出演というクリスマスプレゼントでした。深く考えずに快諾。
ドローンアンビエント&方針転換
今回コラボして頂いたKiyoIgarashiさんの作風はアンビエントということで、 年末年始にTouchDesignerでアンビエント向けのスケッチを作成しました。 しかし、それ以上続けてもライブ向けに膨らむ気がしなかったため、思い切ってUE4での制作に変更。 これは、以下2つが判断理由。
構成
UE4
シーン作成し、そのままstandalone gameモードで映像出力。
本当はTouchDesignerに映像返してCompositした映像を出そうとしていたが、後述の性能問題により断念。
TouchDesigner
シーンごとのカメラパスの生成、シーン切り替え、各種パラメタのコントローラ。
OSCでUE4に送信。
UE4でトライしたこと
OSC制御
カメラ制御
比嘉さんのワークショップで頂いたモジュールを利用。
UE4.25向けだったので、UE4.26向けにリビルドする必要があった。
#TDSW Unreal Engine Vol.001 で頂いたプラグインがUE4.26で無事に動作したことをご報告いたします。
— Shampagne (@Shampedelica) 2021年1月10日
UE4: 4.26
VisualStudio: Community 2019 16.8.3
.NET Framework SDK: 4.8
↓リビルドのときに助けてもらったところhttps://t.co/kk5QtfmrO7
現場からは以上です!
その他パラメタ制御向け
チュートリアルを参考に勉強した。
おかげさまでBluePrintと仲良くなれた。
Water
UE4.26で利用可能になったプラグインを利用。
非常に簡単で美しいが、やや重い。今回の制作の半分くらいはWaterのパラメタ調整と性能問題の調査をしてたかも。
Ultra Dynamic Sky
超有名アセット(らしい)。
太陽、月、星、空、雲、Fog、オーロラなど、設定がまとまっててすごい楽になった。
Niagara
TouchDesignerと連動できるところまで作ったが性能問題によりカット。 無念。
ハマったこと
性能
メモリとGPUが枯渇し、レンダリングが間に合わない事態に。
性能を考慮した制作を出来ていないのだけれども、去年PCを新調するときに「今の実力ならこんなところ(16GB, 1660Ti)かな」と判断したことを後悔。
SceneCapture2D
制作の途中、TouchDesigner側に送られてくる映像が変(Waterがレンダリングされていないなど)という事象が発生。
UE4側の映像は問題ないのに。
調べたところ、カメラ画像をSpoutで送る際に利用しているSceneCapture2Dが要因のようで、これは再レンダリングを実施しているらしい。
そのため、軽い絵だったら問題ないが、重くなると送信している絵の方だけレンダリングが間に合わない、という事象がでていたっぽい。
解決策として、再レンダリングを伴わないFrameGrabberを利用する方法を模索していた。
しかし制作が間に合わないリスクがあったので、映像はUE4だけでいくことにした。
おかず先生のFrameGrabberをUE4.26に持ってきて、
— Shampagne (@Shampedelica) 2021年1月11日
FrameBuffer->Material->RenderTarget とすることで問題解消した。
(SceneCapture2DよりFrameGrabberのほうが軽いとのこと)
Materialを経由しないようにできないか、調べる。https://t.co/VgbkeB4lQu
Water
レンダリングが間に合わなくて顕著に影響を受けてたのがWater。
波のシミュレーションがカクついたり、水面反射がレンダリングされなかったり。
(ライブの当日に現場で泣いた)
UE4.26でのOSC受信 from TouchDesigner
ちゃんと理解していないが、UE4側のOSC受信が変更(厳密化?)されたっぽく、OscOutChopで送ったデータがUE4で受信できなくなった。 OscOutDatで送信するとUE4側で受信してくれる。
Akiyamaさんに教えてもらわなかったら制作間に合わなかったもしれない。大感謝。
僕も同じ症状でたのですが、もしかしてTouchdesignerからosc out chopで送っていますか?
— Akiyama (@shoichi316) 2021年1月15日
僕の場合はdatのほうのosc outで送ったら今までどおり受信できました。
おわりに
自分にとって、はじめて締め切りのある制作だった。
フォローさせてもらっている本番一発勝負な製作者様たちに対する尊敬の念が高まりました。
一歩でも近づけるよう、引き続き精進します。