自動カメラワークVCIの使い方

※重要※
アップデートについて

main.luaを既に編集中の場合、スクリプト内の変更内容は自動でアップデートされません
その場合、_main.luaから譜面データ以外のコードをコピーペーストして、手動でのアップデートを行ってください

このVCIは協力者、VCI制作スキルの有無に関わらず、誰でも簡単に音楽ライブ等のカメラワークを作り、バーチャルキャスト内で音楽に合わせて再生することが可能なVCIです
取り込みはこちらからお願いします

譜面データの書き方

譜面データはスクリプトに直接書き込む形になります
デフォルトの状態ならば
C:\Users\ユーザー名\AppData\LocalLow\infiniteloop Co,Ltd\VirtualCast\EmbeddedScriptWorkspace\自動カメラワーク
内の_main.luaの頭にある_を消した状態にファイル名を変更して、メモ帳等でファイルを開いてください
(後に紹介する中級、上級者向けの使い方をする場合は、バーチャルキャストwikiのチュートリアルに従ってVS Codeを使用し、編集してください)

開いてもらうと、1行目に

local BPM = 120

という記述があることがわかるかと思われます
BPMというのは、音楽のテンポのことで、こちらを適切に設定していただくことで、音楽に合わせてカメラが正しく動きます
BPMの確認方法は「BPM 確認」などで検索していただくと、自動、手動、さまざまなツールが公開されており、そちらを使用することで確認することが出来ると思います
確認が出来たら、「120」を曲に合わせた数値に変更してください

次は、二行目以下に

local camMove = {}
camMove[1] = {name ="A1",time =4,target = 1}
camMove[2] = {name ="A2",time =4,target = 1}
camMove[3] = {name ="A3",time =4,target = 1}
.
.
.

と、文字がズラーッと並んでいると思います
これが、このVCIでカメラワークを再生する譜面データになります

camMove[数字]が再生する順番になります
前後が逆になっても一応再生されるかと思いますが、基本的には上から順番になるように記入してください

name = "アルファベット数字" がカメラワークのパターンになります
Aがカメラの角度を固定して移動
A数字aがカメラの角度を固定して、素早く移動
Bが固定
Cがカメラを顔に向けて移動

となります
数字はプリセットですので、ソース内に(書くのを忘れてなければ)動きの詳細が書かれています
また、デフォルトの譜面データが一覧になっておりますので、再生して確認してもいいかもしれません

time = 数字 は、1の場合に設定したBPMの4/4の一拍の時間を返します
曲に合わせてパンパンパンパンと手拍子をした際の一回の手拍子の時間です

target = 数字 は基準になるユーザー、もしくはオブジェクトの設定になります
1の場合、もしくは記述がない場合、枠主を基準に、2以降は入ってきた凸者順に基準になるはずです(2人以降未検証)
また、一度凸者が抜けるなどすると、順番がめちゃくちゃになる可能性があります
その際は一度部屋を閉じてから、再度入り直してください
100の場合、VCIを出したときに出現する、三角錐とキューブが重なったようなオブジェクトを基準にします
尖ってるほうが正面です
こちらは設定値より3倍遠距離からカメラが移動します
全体を映すとき等に使用ください

非常に大変な作業になるかと思われますが、いずれ記述用のGUIアプリケーションを作成するつもりなので、今はこの形式で我慢してください

【追記】お茶を濁すような形にはなりますが、少しでも楽に編集できるように、ODSファイルを用意致しました

Excel、OpenOffice、Googleスプレッドシートなどで開き、A~Dに上の記述方法を参考に記述し、Eのコードをコピーして、main.lua内の3行目以下にペーストしてください

Vキャス内での操作

Vキャス内ではまず、私の配布しているこちらのVCI等でVキャス内でのボーン追従が有効になっているかどうか確認してください
https://seed.online/items/938eedeefdf2d48c88e2ebb82b65e2f2d8c098db0b646af0be4344c8715f0dc4
初期状態ではボーンが正しく追従されないエラーが必ずありますので、何度か出し入れをして、ボーン追従を確認したのちに自動カメラワークVCIを出現させてください

出現させたら、ボール状のオブジェクト、三角錐にキューブが重なってるようなオブジェクト、どちらでもいいので持った状態でトリガーを押すと再生されます

現状は音楽との同期は手動で行わないといけないため、曲のイントロの一部に始点を合わせるか、曲開始前にメトロノーム音を入れるなど、曲側を合わせやすいようにしてください

オブジェクトは配信に映らないような設定が好ましいかと思われます

中級、上級者向けの使い方

このVCIはスクリプトの改変が可能となっております
そのため、新しく自分好みのプリセットやパターンを組むことが可能です
プリセットの変更方法は

            elseif camP["name"] == "A or C 数字" then
              moveA(or C)(camP["time"](固定),Vec3(0,0,1)(基準点からの距離),Vec3(-0.3,0,0)(始点),Vec3(0.3,0,0)(終点),target(固定),outSine(イージング、下記の画像参照))

            elseif camP["name"] == "B数字" then
               moveB(camP["time"](固定),Vec3(0,0,0.5)(基準点からの距離),target(固定))

画像1

これらを参考に数値を変えて、update内、 if camP["name"] == "A1" thenから始まるif分の末尾に追記してください

上級者向けの方法として、Luaスクリプトが書ける方は、新しくパターンを作ることも出来ます
解説は後日いたします

終わりに

このVCIを使って、是非いろんな動画を撮っていただきたいです
よろしければ、この動画、配信に使ったよ、という方は下記のTwitterまで教えていただけると幸いです!

それでは、よいVキャスライフを!

この記事が気に入ったらサポートをしてみませんか?