#Unity
VRChatで動くボードゲームを作る
掲題の通り、VRChat 上で動作するボードゲームを先日公開した。自分自身の備忘録また同様の制作を行いたく情報を探している人向けの制作記録として機能することを願って作業記録を残すことにする。
作るもの
Knucklebones(ナックルボーン)と呼ばれるボードゲームを作ることにした。本家はCult of the Lamb 作中に登場するゲームであり、今回の制作は非公式ファンアートの位置づけである。
サイコロを振って並べるという単純明快なルールでありながら、駆け引き要素がよくできたゲームである。(高得点を狙うほど、相手から一網打尽にされるリスクが上がっていく) もちろん、Knucklebones だけでなくゲーム自体の完成度もすばらしいのでぜひ遊んでみてほしい。
制作手順
おおよそ以下の手順で進めた。あくまでいち参考として見ていただけるとありがたい。
- ゲームシステム試作
- モデリング
- VCC 配布可能な Unity Project 作成
- モデルの Unity Setup
- ゲームロジック 実装
- 動作確認
- サンプルワールド作成
- 配布準備
U# assembly definition が定義されていない旨のエラー対処
公開用に Packages/
側で U# のアプリケーションを作っているときに、以下でビルドエラーになったのでの備忘録。
'/Packages/XXX/XXX.cs' does not belong to a U# assembly, have you made a U# assembly definition for the assembly the script is a part of?
エラーメッセージの通りで書き残すほどでもない気はするが、U# Assembly Definition についてあまり情報がなかったので書き残す
記事を書いている途中に公式ドキュメントを見つけました。 https://udonsharp.docs.vrchat.com/migration/#does-not-belong-to-u-assembly
Assembly Definition (asmdef) について
asmdef は定義済アセンブリを明示するための設定ファイル。
Unity C#で記述した Script がコンパイルされる際、 asmdef で定義を明示しない場合は Assembly-CSharp*
にまとめられる。
自分の書いた Script とその他無関係の Script が同一のアセンブリにビルドされるため、クラス名の衝突であったりコンパイルの時間増加等の問題につながるため、特別な理由がなければ定義しておくほうが無難。
2024年5月時点 VRChat Avatar Upload環境memo
Zenn 執筆環境構築のテスト記事も兼ねてアバター導入環境について言及。多分もっと丁寧な記事があると思うので備忘録程度。
必要な環境とその手順
- VRChat アカウント
- VRChat には Trust Rank という概念があり、作りたてのアカウントでは Visitor となっている
- やり込んで Rank を上げるか、課金することで New User 以上の権限を持つアカウントになることで Upload 可能
The transition between “Visitor” and “New User” is a special one — when a Visitor becomes a New User, they gain the ability to upload content to VRChat as long as they’re using a VRChat account. Users receive a notification when they have passed this rank, and are directed to the VRChat documentation page to get started with creating content.
- Unity Hub
- Unity は複数バージョンを共存させることがあり、これの管理に(?)Unity Hub を使用する
- Unity.com から DL してセットアップしておく、また起動後アカウントやライセンス認証を求められる場合は Unity のアカウントも取得しておく
- Unity 2022.3.6f1
- VRChat 公式によるとこのバージョンが推奨のため、 Unity Hub 導入後に VRChat の現時点での最新バージョンをいれる
- (筆者は 2019 を使ったことあるが 2022 が初なのでせっかくなので本記事を書き残す) > The current Unity version used by VRChat is 2022.3.6f1. If you have Unity Hub installed, you can click this link to install the correct version of Unity. 2022.3.6f1 is also available in the Unity editor release archive.
- VRChat Creator Companion (VCC)
- VRChat が Unity 向けに提供している Avatar, World 向けの SDK などを手軽に導入・管理(?)するためのツール
- VRChat アカウント取得後なら https://vrchat.com/home/download から DL できる
- (VCC 代替) ALCOM
- anatawa12 さんが作成している VCC 互換ツール。 vrc-get/vrc-get - GitHub の GUI FrontEnd
- 使ってみた感じ本家よりかなり高速で快適に使用できているので、オススメしたい。以後の説明で VCC を使い箇所は ALCOM で読み替え可
- https://vrc-get.anatawa12.com/alcom/ から DL 可能
- 何らかの画像エディタ
- アバターの改変用。筆者はクリスタ常用 (だが、どちらかといえば PSD 同梱してくださる方が多い印象)