Vket2022 Summer 制作記
Swishfです。本日8/13から8/28まで開催されるVket2022 Summerに出展したのでブースの紹介と制作の流れを書こうと思います。
前回のVket2021に参加した時もnoteを書いているのでよかったら見てください。
出展内容
豊滝の栄湖カスカアクア 漁獲祭とQuestワールドのVket学園電市祭 昼の部の2つに出展しました。
豊滝の栄湖カスカアクア
夏を感じられるブースを作りたいなと思い海の家を作成しました。
ブース内では海やセミ、風鈴など夏っぽい音が流れています。
Vket学園 電市祭
4つのアーケードゲームを作りました。実際に遊ぶことができます。
レーシングゲーム
道路からはみ出ずに走れる時間を競います。次第にスピードが上がります。
道路を走っているときは煙、草むらにはみ出たときは草のパーティクルが出るようになっています。
スティックを切り返すと微妙にスティック操作音が鳴ります。
じゃんけんマシーン
シンプルなじゃんけんマシーンです。先に3回勝つと勝利です。
ダーツ
5本投げた得点を競います。得点板は回転しています。
ダーツがブース外に飛んでしまうと顔文字のパーティクルが出るようになっています。
モグラたたき
50回出てくるモグラを何回叩けるかを競います。次第にモグラの速さが上がっていきます。叩いた時にパーティクルと音が出るようになっています。
Booth展示物
以下で今回の展示物の一部を無料配布しています。良ければ是非ダウンロードしてみてください。
出展準備
申し込み~提出開始
出展抽選応募時点で「夏っぽいものが作りたい → 海の家」と考えていました。海の家と一番雰囲気が合いそうだったカスカアクアに応募しました。
また、Udonギミックの出展もしてみたかったのでギミックメインの展示をQuestワールドで行おうと考えました。こちらはワールドに寄せたデザインにはせず手早く作ろうと思っていました。明るい雰囲気のワールドに展示したかったので電市祭 昼の部に応募しました。
Quest展示のギミックは入稿開始 (締め切りまで残り1か月) までに8割程作成しました。Udonはグラフの方でサンプルのスイッチギミックを触ったことしかなくUdonSharpのC#制限とVket展示でのUdonSharp制限が良くわからなかったので早めに作ってテストしていました。
物理もどこまで動作するのか分からなかったのでコライダーを使わずUdonSharpで当たり判定をとることにしました。
ピックアップ制限が5個だったのでギミックどうしでピックアップを共有しプレイヤーの位置によって差し替えるようにしました。
マルチに関しては他の人がギミックを使っている様子が見えたほうが絶対に楽しいと思っていたのですが対応と動作確認の時間が掛りそうだったので同期は行わずローカル動作にしようと最初に割り切りました。
間に合わなかったもの
入稿開始時点で1週間ほどスケジュールが押していました。余裕を設けて作業を割り振っていたのですが他の予定も入ったりして最終的に目標としていた8割程度の完成度になってしまいました。
最後のブラッシュアップが間に合わずデザインが草稿の時点のままになっているものが多々あります。
Questのアーケードゲームの方はプレイ中や最高得点を取った時の演出、デザインが間に合いませんでした。
モデリング、テクスチャ周りは経験を積んでもっと早くこなせるようになりたいです。
Vket進捗どうですか集会
今回もろれるさん主催でVket進捗どうですか集会が毎週開かれていました。
出展者の方もそうでない方も集まってVketやモデリング、アバター制作などの雑談をする集会です。様々な話が聞けたり他の人が作ったアバターやブースが見られたりとても楽しかったです。
ろれるさんはVket開催後もVket関連の集会を行われるようです。Vket2021ではVketワールドを巡りながらそのワールド製作者の方にお話を聞ける集会が特に楽しかったので今回もとても楽しみです。
使用したツール
Blender
モデリング、レイアウトは全てBlenderで行いました。
コレクションをStaticとDynamicに分けて出力は別々で行っていました。
(出力したいコレクションのみ表示→すべて選択→FBX出力)
Unity
Udonギミック、アニメーション、パーティクル作成を行いました。
Gimp
テクスチャ作成、まとめたテクスチャの最終的な出力を行いました。
Clip Studio
ラフ、テクスチャ作成 (Gimpにエフェクトがない場合) を行いました。
Substance 3D Painter
テクスチャ作成を行いました。適当にモデルを通すだけでいい感じにしてくれるのでかなり時短になりました。Blender側ではStaticをSubstance 3D Painterに出力する部分としない部分の2種類のコレクションでまとめていました。
Sourcetree (git)
バックアップ、バージョン管理として使用しました。
今回の入稿期間中もプロジェクトが壊れて作り直しをしていた方やバックアップをプロジェクト丸まるコピーで行っていた方を見かけましたが、Sourcetreeを使えばシンプルで分かりやすくバージョン管理が行え過去の変更内容を見たり過去の作業地点に戻ったりすることができるのでお勧めです。導入についてはVket2021制作記の方に書いています。
知らないうちに変更されたプレハブやmetaファイルやアニメーションのパラメータも表示してくれるので急に動作がおかしくなった時にもすぐに原因がわかります。UdonSharpはスクリプトがおかしくなくてもエラーを出し始めることがあるのでスクリプトに変な変更が入っていないかなどの確認がすぐにできました。(その場合はUnity再起動でだいたい解決します)
自分は作成物はほぼgitで管理しておりこれがないと変更内容の確認、保証ができないので作業には必須なものとなっています。
モデリングから入稿まで
以下のように作業していました。
Blender 1プロジェクト内にブースのモデル全てを直接作成
テクスチャは事前に2048で1枚だけ用意しておきモデルを作るたびにテクスチャ上に小領域を確保
Substance 3D Painterを使う場合はその都度モデルをSubstance 3D Painterに渡す、出力したテクスチャの該当モデルの部分のみマスクしてGIMPでレイヤーとして重ねる
バッチファイルでデザインリソースをUnityに移動してUnity側で作業
今回はモデルが少ないのと切り出さなそうだったので取り込み、UVベイクの手間を減らすためにこのようにしてみました。
3DモデルがUnityプロジェクトへコピー後に表示がおかしい場合はメッシュのRevertを行うと戻る場合があります。(Inspectorの項目の左側に青色の線が入っているものはプレハブ上で何かしらの変更が行われていてコピーしたデータより優先される状態になっています)
ポリゴン数、バッチ数
海の家
ポリゴン数: 約60,000
Set Pass Calls: 5
Batches: 8
アーケードゲーム
ポリゴン数: 約6,700
Set Pass Calls: 3
Batches: 9
感想
夏に夏っぽいものが作れて楽しかったです。夏の風物詩や過去の体験に思いを馳せながら本当に楽しく作業を進められました。
テクスチャの質感などデザイン面で悩むことが多かったのでここが得意になればもっと楽しく作れるだろうなと思いました。
次回のVket2022 Winterは早い段階で発表されていましたが、今度はどのようなものを作ろうかなと今から考えています。
今回のVketはさらにイベントの数が多くなっているのでたくさん楽しもうと思います。