会社行事
コロナ禍が収まったおかげで会社の色々な行事が復活し、4月の新人歓迎会が今から戦々恐々な皆さんこんにちは。わが社では新人歓迎会で既存の社員一人一人が壇上に立ち新入社員に対して自己紹介するという地獄のコーナーがあるので本当に憂鬱で仕方ありません。頑張って新人相手に自己紹介したところで3年以内に1/3は辞めるし意味ないのになぁ。
謎解き×謎解きなゲーム
ストレートな謎解きの一歩手前でその問題の意味自体を解読するという謎解きで包んだゲームが丁度セールで安くなっていたので購入しました。
多民族がそれぞれ異なる言語で分断された世界を舞台に、主人公(プレイヤー)が各々の民族が語る言葉の意味を解き明かしながら、民族間の軋轢を解消していく、という形でゲームは進みます。
「軋轢を解消していく」とは言え、主人公が民族間の紛争に積極的に介入していくというわけでなく、各民族が暮らすそれぞれの世界へ侵入し、そこで交わされている言葉と行動を見ながら各民族が使う文字の意味と文法を理解して、間接的に民族間の会話の翻訳者となり、それにより民族間の誤解が解けていく、というストーリーとなっています。
各民族の世界では主人公(プレイヤー)は歓迎されたり、敵視されたり、助けを求められたりするので、それらの問題に対処するための解決法を探り、提示された謎解き(パズル)を行っていきます。
謎解き(パズル)自体は記号の順序立て(並べ替え)やスライドパズル、お使い系(必要なアイテムを探してくる)といった既存のADVゲーム、脱出系ゲームにありがちなもので目新しさはないのですが、その問題を解くために先程の言語解読という謎解きを行う必要があるため、そういった二段構えの謎がプレイヤーの探求心をそそり、ゲームプレイを奥深いものにしています。
言語の解読というと難しいテーマに思われがちですが、想像よりもかなり遊びやすくデザインされており、プレイヤーが途中で挫折しないよう色々と仕掛けが練られて非常に完成度の高い作品だと思います。謎解きが好きな方はチャレンジをお勧めします。
素材提供
詳細は省きますがつい先日、大物Vtuberの方が自身のMVの一部を合成用素材として公開されています。
t.co有難い事に綺麗なブルーバックの動画となっているので、これならUnityでも気軽に合成してゲーム内に取り入れられるのでは?と思いチャレンジしてみました。
上記の公開されている動画はYoutubeからダウンロードしてUnityのProiectウィンドウ内にドラッグ&ドロップすればプロジェクト内に取り入れる事ができます。
Unityで動画を再生するのは非常に簡単で、まずは動画を表示するためのオブジェクト(PlaneやQuad)をゲーム内に作成します。
中央の白い四角がスクリーン用オブジェクト
スクリーン用のオブジェクトは出来るだけ動画のアスペクト比に合うようにサイズ調整します。
次にオブジェクトにInspectorウィンドウのAdd Componentから、VideoPlayerコンポーネントを追加します。
後はVideoClip欄に再生したい動画ファイルを指定してデバッグを実行すれば自動的に動画が再生されます。
動画を再生
これはVideoPlayerの「Render Mode」の設定に「Material Override」が指定されているので、スクリーンオブジェクトのマテリアルに動画の映像が上書きされている為ですが、このままの指定だと上の動画のようにブルーバックも表示されてしまう結果となります。
クロマキーシェーダ
ブルーバックを消す(透過させる)にはクロマキーシェーダを使用する方法が最も手軽な方法でしょう。
クロマキーシェーダとはその名の通り特定の色を透過させるシェーダで、アセットストア上には有料アセットとして存在していますが、今回は凹みTipsさんが公開しているクロマキーシェーダを使用します。
このクロマキーシェーダでは使用するTextureに対して指定した色を透過させてオブジェクトを表示します。
このTextureにVideoPlayerが再生する画像を指定すれば良いわけです。
VideoPlayeが再生する画像をTextureに描き出すには先程の「Render Mode」の設定を「Render Texture」に変更します。
RenderTextureはProjectウィンドウ上で右クリック→Createから作成します。
作成したRenderTextureは解像度(サイズ)を再生したい動画のアスペクト比に合うように設定します。
そして先程のVideoPlayerコンポーネントのTargetTexture欄に作成したRenderTextureを指定します。
クロマキーシェーダはスクリーン用オブジェクトのマテリアルのシェーダに設定します。
シェーダのTextrureにVideoPlayerコンポーネントで指定したRenderTextureを指定、ChromaKeyのColor欄に動画のブルーバックの色(青)を指定します。
実行結果はこちら、Unityのゲーム空間内に大物Vtuberさんの動画を合成させる事ができました。
別バージョンがこんな感じ、違和感なく動画を合成できます。
宣伝
数学的脱出ゲーム「W.T.」早期アクセス版リリース中です。
歯ごたえのある脱出ゲームとなっているので腕に自信のある方のチャレンジ、お待ちしております。