VRChat Marker Pro
- Personal Licenseダウンロード商品¥ 2,250
- Commercial Licenseダウンロード商品¥ 6,000



# VRCMarker Pro A VRChat Worlds prefab for drawing 3D lines ## Try it out in VRChat: https://vrchat.com/home/world/wrld_bd718520-e6ab-434b-a070-ee35b42f0d5f ## Features - In-game customization (adjust colors, width, smoothing) - Rounded line renderer for PC and Android - Late join sync - Per line segment eraser and undo - Subvidision on PC (Catmull Rom) - Gradients and solid colors - Time and pulled string smoothing - Write on surface mode - Desktop Hotkeys - No vertex limit - Json export ## Usage - Create or open a VRChat world project with VRChat Creator Companion - Download and import the Unity package. The imported assets end up in the Packages folder (Not assets) - Import TMP essentials if you havent already `Window > TextMeshPro > Import TMP Essential Resources` - Drag the marker prefab into your scene and adjust settings ### Write On Surface - Enable `Collision Detection` GameObject - Setup include and exclude layer masks on the rigid body and sphere collider ## Changelog ### [4.0.0] - 2025-12-25 - Complete rewrite - In-game customization - More desktop hotkeys and tooltips - Removed vertex count limits and overwriting - The geometry subdivision shader is now 3 times faster - Improved anti-aliasing - Reduced vram usage, the position texture is now dynamically resized like a list instead of a fixed constant size - Reduced mesh memory by using 16bit indices and multiple submeshes instead of one 32bit submesh for the line renderer - Holding erase now shows duration progress - Added distance culling - Fog can now affect the line renderer - Late join sync is now on by default ## Techical Details This prefab doesn't use the unity line renderer component. It is a custom line renderer built with Udon and Shaders. This allows for more flexibility so things like dynamic subdivision and per segment erasing is possible. The eraser can erase any point and intersection tests are done on the GPU. All of the data is stored in a texture, once it is erased it leaves empty unused space. A defragmentation pass is also implemented in order to compact the texture. Remote smoothing is entierly shader based, using precalculated timestamps when line segments should appear. ### Json Format - `version` Version number - `createdAt` ISO 8601 in UTC - `boundsMin`, `boundsMax` Axis-aligned bounding box - `colorType` Color (0) or Gradient (1) - `color` Vector3 color value - `gradient` Vector4 array with XYZ for color and W for gradient time - `positions` Vector3 array bytes encoded as Base64 string, line breaks marked with (0,0,0) #### Example ```json { "version": "4.0.0", "createdAt": "2025-12-25T14:42:54.5482376Z", "boundsMin": [2.560598,0.6142347,5.235921], "boundsMax": [2.764225,0.8806038,5.483546], "colorType": 0, "color": [1,1,1], "positions": "AAAAAAAAAAAAAAAAuFAqQKfVRz/XJaxAP1kqQNoMRT+VI6xA4W4qQJt3Pj+tL6xATX8qQNO/OT9LQ6xANX8qQCSHOT/oOaxAhG8qQH0SPT8eA6xAzWMqQH0gPz8lxKtAdWMqQMniPT+ikatAJmgqQAmAOz9zcKtA+G0qQEgNOT90WqtA1G8qQO5GOD+xU6tAAAAAAAAAAAAAAAAASlMqQHhwPj+r5apAtVUqQNFlPT+f26pAWloqQCmyOz9/06pAeV4qQD87Oj/1zapAnmEqQM0LOT8wx6pA8WUqQHGHNz8jwqpA5WcqQBfYNj/ev6pAAAAAAAAAAAAAAAAAPEcqQPjmQj99/KpA" } ``` ## Contact https://discord.gg/bw46tKgRFT ## Terms of use ### Personal Under the **Personal License**, you are permitted to: - Create modifications of the asset. - Upload the asset and its modifications to both personal public and private worlds. However, the following actions are **prohibited**: - Reselling the asset on its own. - Including the asset in any world package for sale or distribution. ### Commercial Under the **Commercial License**, you are permitted to: - Include the asset in world packages for sale, provided that the total price of the world package is **higher than the original price of the asset**. - Upload the asset to other users' accounts. The following restrictions apply: - Redistribution of the asset by itself, either in its original form or as a modification, is strictly prohibited. - Any asset sold or transferred under this license retains the same rights and restrictions as a personal license for the recipient. The package contents for both licences is identical.
日本語
# VRCMarker Pro 3Dライン描画用のVRChatワールドプレハブ ## VRChatで試してみる: https://vrchat.com/home/world/wrld_bd718520-e6ab-434b-a070-ee35b42f0d5f ## 機能 - ゲーム内カスタマイズ(色、幅、スムージングの調整) - PCとAndroid向けの角丸ラインレンダラー - 遅延結合同期 - 線分ごとの消しゴムと元に戻す機能 - PC(Catmull Rom)での細分化 - グラデーションと単色 - 時間および引っ張られたストリングのスムージング - サーフェスへの書き込みモード - デスクトップホットキー - 頂点数制限なし - JSONエクスポート ## 使用方法 - VRChat Creator CompanionでVRChatワールドプロジェクトを作成または開きます。 - Unityパッケージをダウンロードしてインポートします。インポートされたアセットはPackagesフォルダ(アセットフォルダではありません)に保存されます。 - TMP の基本リソースをまだインポートしていない場合は、`Window > TextMeshPro > Import TMP Essential Resources` でインポートします。 - マーカープレハブをシーンにドラッグして設定を調整します。 ### Write On Surface - ゲームオブジェクトの「衝突検出」を有効化します。 - リジッドボディと球体コライダーのレイヤーマスクの包含と除外を設定します。 ## 変更履歴 ### [4.0.0] - 2025年12月25日 - 完全な書き換え - ゲーム内カスタマイズ - デスクトップホットキーとツールチップの追加 - 頂点数制限と上書きの削除 - ジオメトリサブディビジョンシェーダーの速度が3倍に向上しました。 - アンチエイリアシングの改善 - VRAM使用量の削減、位置テクスチャのサイズが固定サイズではなくリストのように動的に変更されるようになりました。 - ラインレンダラーで、1つの32ビットサブメッシュではなく、16ビットインデックスと複数のサブメッシュを使用することでメッシュメモリを削減しました。 - 消去を長押しすると、処理の進行状況が表示されるようになりました。 - 距離カリングを追加しました。 - 霧がラインレンダラー - Late Join Sync がデフォルトでオンになりました ## 技術的詳細 このプレハブは Unity のラインレンダラーコンポーネントを使用しません。Udon とシェーダーを使用して構築されたカスタムラインレンダラーです。これにより柔軟性が向上し、動的なサブディビジョンやセグメントごとの消去などが可能になります。消去機能は任意のポイントを消去でき、交差テストは GPU 上で実行されます。すべてのデータはテクスチャに保存され、消去後は未使用の空き領域が残ります。テクスチャを圧縮するために、デフラグメンテーションパスも実装されています。リモートスムージングは完全にシェーダーベースで行われ、ラインセグメントが表示されるタイミングを事前に計算したタイムスタンプを使用します。 ### JSON 形式 - `version` バージョン番号 - `createdAt` ISO 8601(UTC) - `boundsMin`, `boundsMax` 軸に沿ったバウンディングボックス - `colorType` 色 (0) またはグラデーション (1) - `color` Vector3 の色値 - `gradient` XYZ を色、W をグラデーション時間として持つ Vector4 配列 - `positions` Vector3 配列のバイト列を Base64 文字列としてエンコードしたもの。改行は (0,0,0) でマークされます。 #### 例 ```json { "version": "4.0.0", "createdAt": "2025-12-25T14:42:54.5482376Z", "boundsMin": [2.560598,0.6142347,5.235921], "boundsMax": [2.764225,0.8806038,5.483546], "colorType": 0, "color": [1,1,1], "positions": "AAAAAAAAAAAAAAAAuFAqQKfVRz/XJaxAP1kqQNoMRT+VI6xA4W4qQJt3Pj+tL6xATX8qQNO/OT9LQ6xANX8qQCSHOT/oOaxAhG8qQH0SPT8eA6xAzWMqQH0gPz8lxKtAdWMqQMniPT+ikatAJmgqQAmAOz9zcKtA+G0qQEgNOT90WqtA1G8qQO5GOD+xU6tAAAAAAAAAAAAAAAAASlMqQHhwPj+r5apAtVUqQNFlPT+f26pAWloqQCmyOz9/06pAeV4qQD87Oj/1zapAnmEqQM0LOT8wx6pA8WUqQHGHNz8jwqpA5WcqQBfYNj/ev6pAAAAAAAAAAAAAAAAAPEcqQPjmQj99/KpA" } ## お問い合わせ https://discord.gg/bw46tKgRFT ## 利用規約 ### 個人 **個人ライセンス**では、以下の行為が許可されます。 - アセットの改変版を作成すること。 - アセットとその改変版を個人のパブリックワールドとプライベートワールドの両方にアップロードすること。 ただし、以下の行為は**禁止**されています。 - アセット単体での再販。 - アセットをワールドパッケージに含めて販売または配布すること。 ### 商用 **商用ライセンス**では、以下の行為が許可されます。 - ワールドパッケージの合計価格が**アセットの元の価格よりも高い**ことを条件として、アセットをワールドパッケージに含めて販売すること。 - アセットを他のユーザーのアカウントにアップロードすること。 以下の制限が適用されます。 - アセット単体(元の形式または改変版)の再配布は固く禁じられています。 - このライセンスに基づいて販売または譲渡されたアセットは、受領者にとって個人ライセンスと同じ権利と制限が適用されます。 両ライセンスのパッケージ内容は同一です。



