[VRCSDK3] CHIKUWA VEHICLE SYSTEM 2 (旧:チクワカーシステム)
- ダウンロード商品CVS2/CCS1¥ 3,000
- ダウンロード商品CVS2用ゆるふわカー¥ 0
- ダウンロード商品説明書のみ¥ 0
VRCSDK3(ワールド)用、乗って操作できる乗り物を作るためのシステムです。
注意!
※ Chikuwa Vehicle System 2を略してCVS2と呼称します。 ※ 前バージョン、チクワカーシステムV1についてはCCS1と呼称します。 ※ Finally!! The English version of the manual is now available!! CVS2 v2.27をリリースしました。 ラジコンの追加がデカめの新機能ですが不具合修正もかなり含まれています。 前バージョンからかなり変わっているのでバージョンアップは慎重にお願いします…。 推奨バージョン: ★ Unity 2022/VRCSDK 3.7.3 の場合 CVS2: ChikuwaVehicleSystem227 CCS1: ChikuwaCarSystem112 ★ Unity 2019/VRCSDK 3.4.2 の場合(非推奨) CVS2: ChikuwaVehicleSystem213 CCS1: ChikuwaCarSystem110c VRCSDK 3.7.1~3.7.3を推奨します。(今のところ) VRCSDK 3.7.4, 3.7.5, 3.7.6 ではSDKの不具合により正常に動作しません。 Canny: https://feedback.vrchat.com/sdk-bug-reports/p/vrcobjectsyncsetgravity-setkinematic-causes-exception-in-sdk352 ★★★★ v2.22以前からv2.22以降に更新するとUIManagerのプリセットが壊れます ★★★★ "Load Default Presets" でデフォルトプリセットを読み込み直してください。 カスタマイズしていた場合は設定し直してください。 ★★★★ v2.16からv2.17以降に更新する時は色々見直しが必要です★★★★ 詳しくは説明書を参照してください。 ★★★★ v2.16以前からv2.16以降に更新する時はUIManagerからCVS2Configへの設定移行が必要です★★★★ 詳しくは説明書を参照してください。 ★★★★ v2.11以前からv2.11以降に更新するとUIManagerのプリセットが壊れます ★★★★ "Load Default Presets" でデフォルトプリセットを読み込むと直せるのでとりあえず押してください。 カスタマイズしていた場合は設定し直してください。
概要
VRCSDK3(ワールド)用、乗って操作できるクルマなどの乗り物を作るためのシステムです。 今のところクルマとバイクしか作れませんが今後機能を追加していきます。 CVS2に加え、CVS2向けの乗り物アセットをインポートすることでワールドに置いて乗ることができます。 説明書は無料ダウンロード可能としていますので、購入前に使いこなせそうか確認してください。 特に自力で1から乗り物をセットアップするのは正直かなり大変です。 CCS1はCVS2にリニューアルしましたがCCS1も引き続き利用可能なので、既存のワールドを無理にCVS2に更新する必要はありません。 とはいえ今後CCS1は最低限の更新しかしないので、可能ならCVS2に乗り換えた方が良いです。 !!CCS1とCVS2は互換性がないため、同じプロジェクトにインポートしないでください!!
CVS2更新履歴
フルの履歴はドキュメントを参照してください 2025/03/17 v2.27 ラジコン+細かい新機能+不具合修正多数 ■ 新機能・追加アセット ● CVS2_Control_Car_RC RCカー用コントロールコンポーネントを追加しました。 ● CVS2_RCTransmitter ラジコン用送信機コンポーネントを追加しました。 ● CVS2_Engine_ElectricMotor モーター(永久磁石式DCモーター想定)コンポーネントを追加しました。 ● 車両リフレクションプローブ CVS2_VehicleReflectionProbeController コンポーネントを追加しました。 Prefab: #CVS2VehicleReflectionUI を追加しました。 ● 環境制御 環境制御Prefab: EnvironmentalSettings を追加しました。 ● CVS2_EntityProxy (新コンポーネント) 通常Entityの配下にないと初期化などが行われないコンポーネント(例えばメータードライバーとか)を、本コンポーネントの配下に置くことでEntityの配下に置かずに動作させることができます。どのEntityの配下に配属されるかは EntityProxy 側で設定が必要です。初期化の時に紐づけをするだけなので、動作中の負荷はありません。 車両の外にスピードメーターを付ける事等が可能になります。 ● CVS2_OwnerIndicator 乗り物の上に乗り物のオーナーを表示するコンポーネントを追加しました。 ● CVS2_MeterDriver_CarControl ハンドル、アクセル、ブレーキ、クラッチ、サイドブレーキ操作を反映できるメータードライバー(?)を追加しました。 ● CVS2_Gearbox_CVT CVS2_Gearbox_Standardと同様に、回転数・トルクをAnimatorに出す機能を追加しました。 ● CVS2Config アクセス権として「環境制御」の項目を追加しました。 言語設定の変更を反映しない設定、IsAutoUpdateLanguageByVRCを追加しました。 インスタンス開始時間を取得できる機能を追加しました。(内部向け) ネットワークの処理詰まりに関する情報を提供する機能を追加しました。(内部向け) ● VehicleUI3 リスポーンボタンを押したときに、同じ親の配下にあるVRCObjectSyncをリスポーンさせる設定、 IsRespawnAdditionalObjects を追加しました。 ● CVS2_Wheel_Advanced ダンパーの硬さをサスの伸び縮み方向に応じて切り替える機能、DynamicDamperCoefficientを追加しました。 バック方向のトルクが掛からない設定、IsFrontOneWayを追加しました。 ● その他 ギアメーター2用のAnimator Controller、GearMeter2_RND を追加しました。 簡易スリップストリームメーターのPrefabを追加しました。 RCカー用ベースPrefab、CarRCSet-Fundamental を追加しました。 RCカー用ホイールエフェクトPrefab、RCWheelEffects を追加しました。 RCカー用クラッシュ音のファイルを追加しました。 乗り物のオーナーを表示するPrefab、OwnerIndicator を追加しました。 OwnerIndicatorの設定を調整するPrefab、OwnerIndicatorConfigを追加しました。 ライブカメラの画面にカメラを近づけるとカメラを乗っ取って全画面で映るようにしました。 CVS2_DynamicDragコンポーネントを追加しました。(誰か使うのか…?) DSEG7Classic-BoldItalic フォントを同梱しました。(by けしのみ工房様) Projector Multiply シェーダーの場所をCVS2からちくわ屋CommonPackageに移しました。 ■ 修正 ● CVS2_Gearbox_CVT バックギアに入れた時ギア比が変わらない(変速しない)問題を修正しました。 ● CVS2_Entity LateJoinerがJoinしてきた時の処理を見直しました。 LateJoinerへの状態同期をVehicleUI3に任せ、Entityでは行わないようにしました。 初期の状態同期が終わるまでは、他コンポーネントから見て準備完了としないように修正しました。 乗り物を出す/消す時にOwner権を取得するかどうか指定できるようにし、指定がない場合は取得しないようにしました。 乗り物を出す/消す時にアクセス権をチェックするかどうか指定できるようにし、他からの同期など権限が必要ない場合は権限がなくても乗り物が出る/消えるようにしました。 乗り物のアクティブ状態(エンジン掛かっているか)の同期が、乗り物表示/非表示の同期を行った直後に行われるよう変更しました。 Join直後にネットワークが落ち着いたかどうかを判断する部分が正常に動作していなかったため修正しました。 一部のログ出力を強化しました。 初期化前に何らかの指令(色々)を受けても死なないよう、各所に対処を入れました。 アクティブ状態を、同期変数で同期するようにしました。(素直な方法に変更しました) 場合によっては子コンポーネントの初期化が行われない可能性があった不具合を修正しました。 タイミングによってリスポーンが効かない場合があった事について対策を入れました。 ● VehicleUI3 乗り物を出す/消すボタンを押したときはOwner権を取得するように明示的に追加しました。他の理由で乗り物を出す/消す時はOwner権の移動が行われなくなります。 LateJoinerへの状態同期を、Join後3秒~6秒の間で分散して行うようにしました。 LateJoinerへの乗り物表示/非表示の同期を、乗り物のオーナー主導で行うよう変更しました。 ● VehicleUI3, CVS2_Entity LateJoinerへの乗り物表示/非表示の同期を、ネットワークの処理詰まり状況に応じて調整するようにしました。 ● SlipStreamGenerator SlipStreamGenerator Prefab の ParticleSystem の Emitter Velocity Mode を Rigidbody から Transform に変更しました。リモートの乗り物から出るスリップストリームパーティクルの量が適切になります。 ● CVS2_SparkEmitter LateJoinerがコンポーネントの初期化に失敗する場合がある不具合を修正しました。 ● VehicleUI3 初期化処理、表示更新、乗り物のステータスチェック等のタイミングを調整しました。 ● CVS2_Seat 乗り物の準備が完了していない場合は椅子に座れないようにしました。 (LateJoinerがクルマを出して0.5秒以内とかに座るとエンジンが掛からない問題への対処) インタラクトしたが座れない時のログ出力を詳細にしました。 自分が座っていても他人から要請されるとオーナー権を渡してしまう不具合を修正しました。 Entity配下にないSeatでControlが指定されている場合、そのControlがEntityの配下にあれば、Seatも同様にそのEntity配下に入れてもらい動作するようにしました。 (何かというと、クルマの外にSeatを置いてクルマを運転できます。要望 by こむはちさん) 椅子から降りたときにプレイヤーの移動を許可するようにしました。(SeatedがオフのVRCStationがまともに利用できるようにしました) ● UIManager, UIManagerBike InputMethod が Oculus のとき(Quest単騎かまたはPCのOculus版VRChat)、XとY、AとBボタンが入れ替わっている問題を修正しました。 ● CVS2_EngineSound_Standard クルマを出してから5秒以内にクルマに乗るとエンジン始動音が出ない不具合を修正しました。 エンジン始動音の禁止期間を、CVS2_Entity/VehicleUI3 の初期化処理の変更に伴い9.5秒に変更しました。 UnityEditorのコンソールおよびVRCのログに "Attempt to set pitch to a negative value in AudioSource ~" という警告メッセージが大量に出る場合がある不具合を修正しました。 乗り物がアクティブかではなく、エンジンが動作しているかどうかでエンジン音を出す判断をするよう修正しました。 エンジン逆転時も音が出るよう修正しました。(モーターで必要) ● CVS2_Wheel_Advanced, CVS2_Wheel_Standard ホイール滑り値について、0~1の範囲で切り捨てて同期していましたが、0~2の範囲で同期するようにしました。(タイヤ痕が他人から見えない不具合への対処) ● CVS2_Wheel_Advanced RemoteでIsPlaceAnimatorOnSurfaceの設定が働いていない不具合を修正しました。(タイヤ痕が他人から見えない不具合への対処) UnityEditorのコンソールに "Look rotation viewing vector is zero" という情報メッセージが大量に流れる(VRCのログには出ない)不具合を修正しました。 VehicleTester3へのトルク表示で、トルクが小さい場合は小数点以下4位まで表示するようにしました。 大昔に、発進時にWheelColliderが固まる現象への対処として0.01Nmのトルクを掛けていましたがこれをやめました。(BrakeLerpFactorが犯人であることが判明しているため&ラジコンに影響が出るため) ● CVS2_Control_Car_Advanced 椅子(CVS2_Seat)からの報告に頼らず、エンジンのオンオフ状態を同期するように変更しました。(ついでに OFF, ACC, ON の3状態を作りましたが、利用は今後) LateJoiner向けの同期処理を、Networking.IsNetworkSettledがfalseの間は行わないようにしました。(LateJoinerが入ってくるとヘッドライトが消えるなどの不具合が無くなることを期待) ● CVS2_MeterDriver_Gear Animator欄にAnimatorがセットされていないと死ぬ/初期化前にイベントを受信すると死ぬ不具合を修正しました。 ● CVS2_Engine_SimpleNA 燃料コンポーネントとの連携が行われない不具合を修正しました。 場合により開始時に即死する不具合を修正しました。 ● CVS2_MeterDriver_EngineRPM, CVS2_MeterDriver_EngineRPMDigital アイドル回転数が5rpm以下のエンジンが誤って停止したと判断されその後元に戻らない不具合を修正しました。 ● Atmosphere_SunCycleCalculator_Realtime 初回の Atmosphere_SunDriver への座標設定を、UpdateTimerの設定に関わらず0.5秒遅らせるようにしました。(反映されないため) ログが無駄に多く出力されていたので控えました。 ● CVS2_Control_Car 抽象クラスのPublicプロパティとしてClutchOp(クラッチペダルの操作状態)を追加しました。 関連するクルマ系Controlコンポーネントにもこれに伴う改修を加えました。 ● CVS2_TorqueDistr_Simple デバッグ表示(VehicleTester3向け)が無かったので付けました。 ● VehicleUI3CarAdvancedSettings, VehicleUI3BikeAdvancedSettings ログのtypoを修正しました。
チクワカーオーディオ更新履歴
フルの履歴はドキュメントを参照してください 2025/03/17 v1.04 AudioLinkSwitcherを追加しました。 動画を再生中かどうかを外部から取得可能にしました。(AudioLinkSwitcher用) VideoSourceMesh, VideoDestinationMesh, SpectrumMeshの指定をNoneにしてもエラー落ちしないよう修正しました。 デスクトップモードでの操作について、左CTRLキーでも操作可能にしました。(ノートPC用などで右CTRLキー自体がないケースがあるようなので‥) デスクトップモードでの操作方法を説明するPrefabを追加しました。(原案Special Thanks: かるめさん)
利用規約
本パッケージを利用する場合はこの利用規約に同意頂く必要があります。 利用された場合、この規約に同意頂いたものとみなします。 本パッケージは、含まれるファイル群を現状のまま提供するもので、作者は動作について保証する責任を負いません。 作者は、故意又は重大な過失がある場合を除き、本パッケージの利用に起因して利用者が被った損害を賠償する責任を負いません。 本パッケージに含まれるファイルのうち、UdonSharpソースコード(拡張子 .cs のファイル)以外を、元のファイルが容易に参照できる形で再配布することを禁止します。 「容易に参照できる」とは、例えばZIPで圧縮したファイルを直接渡すなどです。VRChatのワールド(Publicも含む)としてアップロードする場合はこれに含まれないものとします。 ワールドデータをローカルにダウンロードして表示している以上、データを取り出すことはできるはずですが、これは「容易ではない」という解釈です。 UdonSharpソースコード(拡張子 .cs)については以下の条件を守れば改変したものを含め再販を許可します。 ・引用元を明記する(作者名、作者のTwitterアカウント、配布元URL) ・4,500円を下回らない価格で販売する ・この利用規約を適用する 本パッケージを参考に1から書いたコードに関してはこれに含まれません。ご自由にしてください。 本規約は予告なく変更される場合がありますが、変更にあたっては利用者に対し事前連絡を行うよう可能な範囲で努めます。
ワールド
以下のワールドで実物を確認できます。 CHIKUWA CAR PORTAL https://vrchat.com/home/launch?worldId=wrld_8d77aa04-d228-4d2a-9a97-1d4ae45bb631 ちくわ屋備品置き場 https://vrchat.com/home/launch?worldId=wrld_fab75199-fbc5-407a-8fa0-40204ab2d278