【無料】CSEmulator V3(Cluster ScriptをUnity上で再生できるようにするやつ)
- 【無料】CSEmulator V3.04ダウンロード商品¥ 0
- 支援はpixivFANBOXで受け付けています。お願いします。ダウンロード商品¥ 0
- 過去版ダウンロード商品¥ 0







★★★★★★★★★★★★★★★★★★★★ V3から利用規約を変更しました。 どうかどうか、ご協力お願いします…!!! ★★★★★★★★★★★★★★★★★★★★ 今(CCK3.1.0)のところ、ClusterScript ( https://docs.cluster.mu/script/index.html ) は、Unity上でプレビュー再生できません。 これを再生できるようにした非公式のUnityアセットです。 CCK3.1.0(ベータ機能含む)に対応。 Unity 6000.2.6f2専用。2021.3.4f1では今のところ動きません。 UniVRM v0.127.0(VRM1.0系)必須。 Post Processing必須。 コンポーネントとか本当にめちゃくちゃ色々いじるので、 導入は自己責任でお願いします…。
V2からの移行方法
★★このツールはUnity2021からの移行を想定していません。 ★★この方法にはアセットの削除が伴います。 ★★申し訳ないのですが、自己責任で行ってください。 ★★とはいえ、移行や導入が上手くいかないという事がありましたら、FANBOXの方に連絡ください。 ★★できる限りの協力をしたく思います。 CSEmulator V3は、V2およびUniVRM0.x系のファイルが存在していると動きません。 以下のフォルダを削除してください。 ・Assets/MeshUtility ・Assets/VRM ・Assets/VRMShaders ・Assets/KaomoLab/CSEmulator もし、上記フォルダを削除せずにV3やUniVRM1.0を導入した場合は、 上記のフォルダと、以下のフォルダを削除してください。 ・Assets/VRM10 ・Assets/UniGLTF Unityエディタ上に、やたら長い変な名前のタブが残っていたら削除してください。 ここで一度再起動してください。 コンソールにエラーが出ていないことを確認してください。 準備完了です。 後述の「導入方法」の手順で導入してください。
導入方法
★★★★★★★★★★★★★★★★★★★★★★★★ V3からはUniVRMとCSEmulator本体の導入順が重要です 必ずUniVRMを先に導入してください ★★★★★★★★★★★★★★★★★★★★★★★★ 1、★UniVRM v0.127.0が必要です★ https://github.com/vrm-c/UniVRM/releases/tag/v0.127.0 の「VRM 1.0 Import/Export」から「VRM-0.127.0_d320.unitypackage」をダウンロードしてインポートしてください(VRM 0.xの方ではありません)。 2、★PostProcessingが必要です★ https://creator.cluster.mu/2020/04/01/howto-postprocessing/ を参考にインストールして下さい。 3、ダウンロードしたzipファイルを展開します。 4、「KaomoLabCSEmulator304.unitypackage」をプロジェクトにインポートします。 5、上部メニュー>Window>かおもラボ>CSEmulator で設定画面を一度表示します。(初期設定反映のため) ★★利用規約もご確認ください。V3から新しくなっています。
使い方
・上部メニュー>Window>かおもラボ>CSEmulator にて設定画面を表示できます。 ・上部メニュー>Window>かおもラボ>CSEmulatorOscMonitor にて、プレビュー中に受信したOSCのデータを確認できます。 ・上部メニュー>Window>かおもラボ>CSEmulatorStateWatcher にて$.stateの値を確認できます。 ・purchase周りのテストを行う場合は、設定画面で商品名と商品ID(clusterのwebサイトのワールド内課金商品詳細でコピーできるID)を追加してください。 (商品画像みたいにしてください) ※非公開商品の挙動は、テストスペースではなく通常スペースでの挙動に寄せてます(CCK2.21.0.2現在) ・$.state._pauseFrameに値を入れると、プレビューを一時停止させることができます。 このキー名は設定画面で変更できます。 ・★WorldItemTemplateIdを使わず★に$.createItemで生成したい場合は、 プレハブの「Item」が付いているGameObjectに、「CSEmulatorPrefabItem」コンポーネントを追加します。 IDには$.createItemで指定するIDを指定してください。 (商品画像みたいにしてください)
ダミープレイヤーについて
ダミープレイヤーは、マルチプレイ時のテストに利用できます。 ▼使い方 シーン上にある、空のGameObjectに「CSEmulatorDummyPlayer」コンポーネントを追加します。 必要なコンポーネントが自動で追加され、プレビュー時にダミープレイヤーとなります。 サンプルボイスを同梱しています。プレビュー中にループで再生されます。 必要に応じてミュートして下さい。 ▼制限や注意事項 制限については「主な未対応機能や既知のバグ」を参照して下さい。 PlayerLocalUIは操縦プレイヤーと共有されます。 「CSEmulatorDummyPlayerLocalObjectReferenceList」コンポーネントを追加することで分離させることが可能です。 (商品画像を参照して下さい)
外部連携APIについて
CSEmulatorの機能を、他のエディタ拡張などから利用できるAPIを公開しています。 ・ログ出力API https://zenn.dev/vkao/scraps/0208c5a6db2435 ※APIのリクエストがありましたらご連絡ください!可能な限り対応したいと思います。
主な未対応機能や既知のバグ
後述の「よくある質問」もご覧ください。 バグや怪しい挙動、他にも何かありましたら、X(twitter)やclusterの方などで連絡ください。 ▼Shape系コンポーネント ・raycast系関数にのみ対応しています。 ▼ClusterScript ・ItemHandle/PlayerHandle.send (v2.65より)流量制限していません。 ・callExternal (v2.71より)流量制限していません。 ・computeSendableSize (v2.17より)特定の条件で数値が小さく計算されます。 ▼PlayerScript ・setPlayerStorageData (v2.53より)サイズ制限を行いません。 ・isVr (v2.39より)true時の特殊な挙動に対応していません。 ・computeSendableSize (v2.59より)特定の条件で数値が小さく計算されます。 ▼スクリプト以外 ・サブ音声のテストはWindows環境以外ではモノラルになります。 ・RidableItemのGrip系に対応していません。 ・HUDv2時にFキーでインタラクトできません。 ▼ダミープレイヤーまわり ・起動時に非Active状態のダミープレイヤーの挙動については未定義です。 ・操縦できません。(シーンビューで移動させることは可能) したがって、onGrabやonRideなども発生しません。 ・UIで操作や入力を求めるものは、常にBuzyとなります。 ・Itemのオーナーになれません。$.requestOwnerは無視されます。 生成したItemのオーナーは、操縦しているプレイヤーになります。 ・プレビュー中にSpawnできません。事前にシーンに配置して下さい。 ・PlayerLocalUIは操縦しているプレイヤーと共有します。 CSEmulatorDummyPlayerLocalObjectReferenceListを追加することで分離させることが可能です。 (商品画像を参照して下さい)
よくある質問
・OSCの受信はデフォルトでポート9001を指定しています。 clusterがデフォルトでポート9000を利用しているため、これに衝突しないようにしています。 必要に応じてOSCアプリケーションの設定を変更してください。 プロジェクトを複数開いている場合、同時に実行すると衝突します。適宜変更してください。 ・プレビュー開始時に大量のmissingのwarningが出る場合があります。 これは特にAudioLinkを導入している場合に発生します。AudioLinkControllerなどがVRChat用コンポーネントを使用しているためです。 設定画面「ItemTemplateIdの参照先」>「CSEmulatorPrefabItemを参照する」をOFFにして運用することで、waningの出力を抑制できます。 ・CSEmulatorの設定が変えた覚えがないのに変更されている explorerでコピーしたプロジェクトやclusterのテンプレートプロジェクトは、同一プロダクト名となります。その影響で、元のプロジェクトと設定が共有されます。 ・PlayerHandle系やプレイヤーの物理挙動系(よじ登りや動く床など)の動作確認は参考程度でお願いします。 ・raycastのrayが見えないことがある。 ディスプレイの画面更新が追いついていないのかもしれません。 設定画面でFPSの制限を30にしてみてください。 ・$.setVisiblePlayersの処理にてGameObjectのLayer:3を使用しています。 ・$.onReceiveでメッセージが受信できません。 「メッセージ[PlayerHandle>xxx]は受け取れません。」というようなワーニングがログに出ているかもしれません。 そのような場合は、$.onReceiveのoptionsを確認してください。 ・Itemの物理挙動がcluster上のそれと異なる。 詳細調査中です。cluster上の方が抵抗が少ない? ・$.getOverlapsでプレイヤーが範囲内にいる時に取得できるHandleの数が違う。 よく分からないけどclusterの方が多い。 ・HapticsEffectが反映されていない? 「システムで制御された振動」が優先されるため、インタラクト時の短い振動等に上書きされている可能性があります。この処理をCSEmulatorではエミュレートしていません。 ・CharacterItemをsetPositionで動かした場合、接地していないと、重力表現の影響で下方向に振動する。 プレビュー再生の時に振動します。cluster上では振動しないようです。 ・LayerをVenueLayer0などにしたら色々動かなくなった。 CCKのプレビューの矢印アバターのレイヤーは「24:Audience」です。「16:OwnAvatar」などとはCollision Matirxの設定が違うので確認してみてください。 ・「You are trying to create a MonoBehaviour using the 'new' keyword.」 っていうWarningが出る。 中で行ってるあれこれの影響です。 動作自体には影響ない(はず)です。 ・onUseとかonInteractが動かなくなった。 追加した覚えのない「UseItemTrigger」や「InteractItemTrigger」があったら削除してください。 上記の処理を拾うために、内部で「UseItemTrigger」や「InteractItemTrigger」を追加しています。 再生終了時にそれらが削除されずに残っていることがあるかもしれません。 残っていた場合は処理が競合し、onUseとonInteractは動かなくなります(これ自体はClusterScriptの仕様です、たぶん)。
更新履歴
長くなるので以下の記事にまとめます。 https://kaomo.fanbox.cc/posts/10652381
利用規約
★★特殊な利用規約にさせていただきました。 ★★どうか、ご協力をお願いいたします。 このツールを使ったワールド、クラフトアイテム、アセットの概要欄で「CSEmulator」を宣伝して欲しいです。 イベント専用ワールドの場合はイベントの概要欄で、BOOTH配布の場合は商品紹介文などで宣伝して貰えると嬉しいです。 宣伝文句に「CSEmulator」の単語が入っていれば内容は自由です。 宣伝文句の例「CSEmulatorのサポートにより作られました。」 コードを改変したい場合は連絡ください。コードの改変をせずに実現できるAPIを作成する準備があります。 (バグとかありましたらできるだけ直したいので、教えてほしいです!) 再配布は禁止です。 特定個人・団体への誹謗中傷や、政治・宗教活動、公序良俗に反する利用は禁止です。
アンインストール方法
・Assets/KaomoLab/CSEmulator のフォルダを削除してください。 V1、V2、V3で共通です。 (商品画像を参考にしてください)
免責事項
本データを使用し発生した損害・損失等につきまして、当方(かおも)は責任を負わないものとします。
連絡先
▼連絡先&更新情報 https://kaomo.fanbox.cc/ ▼cluster https://cluster.mu/u/vkao ▼X(Twitter) https://twitter.com/vkaotech ▼販売ページ https://vkao.booth.pm/







