大阪電気通信大学

ジェネラティブVJソフトウェアの開発を容易にするシステム

概要

ジェネラティブVJと呼ばれるリアルタイム映像演出をより多くの人が体験できるようにするために、Unityのエディタ拡張としてノードベースプログラミング環境また周辺のVJ向けソフトウェアを開発しました。

VJとは

作者が過去行ったジェネラティブVJの一例

VJとはVisual Jockeyの略であり、音楽イベント等でリアルタイムに行われる映像演出である。その中でもジェネラティブVJとは、リアルタイムCG技術を用いたVJであり、Unity, TouchDesigner, p5.jsなどのツールを用いて開発したビジュアル生成ソフトウェアを用いて行われる。通常のVJは事前に生成済みのプリレンダ映像を組み合わせて行われるのに対して、ジェネラティブVJはリアルタイムに映像が生成されるため、事前に生成済みの映像では出来ない表現ができるという特徴がある。しかしジェネラティブVJは、先述の開発環境を使いこなして自らジェネラティブVJ専用のソフトウェアを開発する必要がある上に、リアルタイムCGに関する知識も必要になるため、難易度が高い。

未踏IT人材発掘・育成事業

本プロジェクトは2024年度未踏IT人材発掘・育成事業(主催:独立行政法人情報処理推進機構)に採択されました。
2024年6月より月に一回のミーティングや、PMによるサポートの元本プロジェクトは開発されました。成果内容は2025年2月15日の第31回 未踏IT人材発掘・育成事業 成果報告会にて発表予定である。

ノードベースプログラミング環境

これは本プロジェクトのノードベースプログラミングによってGUIとオブジェクトのアニメーションを紐づけるプリミティブなデモ映像である。

通常のノードベースプログラミングと比較して、VJというドメインに特化しているためノードの数や複雑さが軽減しており、より容易にインタラクティブな映像表現が行えるようになっている。

どのくらい容易になったか

左はUnityに標準で搭載されているUnity Visual Scriptingというノードベースプログラミング環境であり、右が本プロジェクトである。

オブジェクトと回転させるという単純なアニメーションを実装するだけでもこれだけノードの数に差があり、本プロジェクトがよりジェネラティブVJソフトウェアを開発するという目的においては最適であるといえる。

これによりプログラミング知識のないアーティストがジェネラティブ表現を始めることが容易になる。

開発者向けの機能

本プロジェクトはアーティスト向けの機能だけではなく、C#プログラマにも向けて開発されている。

テンプレートに沿ってC#コードを書くことにより、エンジニアは自由自在にノードを追加することが可能である。

関連するVJ向けソフトウェア

本プロジェクトと合わせて開発を進めていたプリレンダVJソフトウェアのPV

またより多くの人がジェネラティブVJに興味を持つため、よりオーソドックスなVJであるプリレンダVJソフトウェアの機能改善も進めた。(プリレンダVJとは複数の映像を組み合わせることでリアルタイムに映像演出を行うVJである。)

このプリレンダVJソフトウェアは「ジェネラティブVJソフトウェアの開発を容易にするシステム」と連携を強くするためOSCと呼ばれる通信プロトコルに対応したり、またジェネラティブVJに興味を持つきっかけになるため簡易的にジェネラティブを行えるようfragment shader(.hlsl)による映像をユーザーが実装できるようにした。

作者プロフィール

椎名貫太

 

学部:総合情報学部
学科:デジタルゲーム学科
所属:情報デザイン研究室

Software Engineer(2021/1~) / VJ(2021/6~)
Unity、C#、Shaderを中心に様々なソフトウェア、ツール等を開発、それを利用したVJパフォーマンスも行う。
詳細はポートフォリオにて確認出来ます。

コメント