Skip to content

Desuq Cafe

近日公開

Weft

スタイライズされた Unity アバターのためのクロスとヘア。触り心地が正しく感じられるように作られています。

ブラウザ上で動くライブなクロスシミュレーションです。Unity ソルバーの趣を再現しています。

Unity 6.3(6000.3)以降。サードパーティ依存はなく、ファーストパーティの Unity(Burst、Collections、Mathematics)のみです。

触れられるために

さらにライブなトイたち。それぞれソルバー機能の趣を再現しています。スカートやヘア、やわらかな頬も、片手でも両手でもつかめます。そして触れれば返事が返ります。頭をなでれば頬が染まり、ハイタッチで小さなハートが立ちのぼります。

触れれば返事が返る

頭をなでる

頭のてっぺんをなでてみてください、つかむ必要はありません。耳がぴんと立ち、頬が染まり、小さなハートがふわりと立ちのぼります。リアクションフックがなでに応えるように。

同意を手ざわりで

各ゾーンを試す

4 つのゾーン、4 つのルール。Open は自由に引っぱれ、Keyed はクリックで解錠、OwnerOnly と Closed は見知らぬ人のつかみを拒みます。

耳としっぽ、生きている

しっぽをはじく

決定的なドライブで自らゆれ、ぴくっと跳ねるしっぽ。そして触れれば応えます。つかみの手ざわりはアニメ向けで、リアリズムよりスカッシュとフォロースルーです。

テンションのしわ

バンドを握る

テンション駆動のしわマップと異方性のフォールドヒンジが、布が寄るところに折り目を作ります。

ホーズ(靴下・タイツ)

靴下をくしゃっとさせる

脚に沿い、履き口でくしゃっと寄り、編み地が寄るところにちょうどしわが入り、きついバンドの少し上で肌がやわらかく盛り上がる靴下やタイツ。

ソフトボディ

つついてみる

本物のボリュームを持つ頬やしっぽ。押せばつぶれて跳ね返り、下のボーンが動くあいだ揺れ続けます。つつくだけでなく、片手でも両手でも手のひらいっぱいにつかむこともでき、ホストのリグが手足をあなたの手へ伸ばせます。つつく強さはソルブから測られ、そっと押せばささやき、素早く突けばどんと響きます。

しずくと濡れ

水で描く

しずくが張りつき、離れ、重力で布を伝い落ち、ゆっくり乾いていく濡れた跡を残します。つやは黒ずみより先に消え、裾では滴り落ちずにフェードします。フルイドシムではなく、レンダーに描かれるスタイライズされた表面効果です。

重なりとドレープ

風を操る

オーバースカートがメインスカートの上に重なり、風が吹くとその上を滑ります。突き抜けることはありません。上の一枚が下のスカートを「乗るための面」として読み、そこに寄り添います。片方向の接触なので下のスカートは乱れず、衣装が正しい重なり順で垂れます。

手ざわりは物理精度のダイヤルではなくプリセットです。SoftShoujo、CrispAction、FloatyEthereal という名前付きの出発点を、目で見て調整します。

Weft を特別にするもの

Weft を際立たせる決断。

はじめから同意が中核機能

ゾーンごとのモード(Open、Keyed、OwnerOnly、Closed)と、Stranger から Owner までの信頼のラダーが、誰が何に触れてよいかを決めます。同意はつかんでいる間も毎フレーム確認され続け、途中でアクセスが取り消されれば、そのつかみは放り投げも跳ね返りもなく、即座に穏やかに解放されます。共有空間での安全のための仕組みで、誰が誰なのかはあなたのゲームが管理します。

触れれば返事が返る

出荷可能なリアクションフックが、つかむ動作をひとつの場面に変えます。頭をなでれば頬が染まり、ハイタッチで小さなハートが弾け、くしゃっとなでれば笑い声が返ります。タッチの強さはヘアでもクロスでもソフトボディでも同じように読めるので、そっと触れたのか強く押したのかにリアクションが応えられます。はじめから健全で、拡張も自由です。

ビット単位で同一の再生

記録と再生は、記録時と同じビルド・プラットフォーム・ソルバー設定であればビット単位に同一です。両手でのつかみも一つに束ねたストリームとして記録できます。その証明はテストスイートに同梱されます。テストやツール、ロックステップのネットコードに最適です。

ファーストパーティの Unity のみ

サードパーティのソルバー依存はありません。Burst、Collections、Mathematics を使う Unity だけです。VRM は薄いアダプター経由の任意で、必須ではありません。

決定的なスプリングボーン

見慣れたスプリングボーンの形をした単一ボーンのゆれスプリング。soft、medium、firm という名前付きの手ざわりを備え、胸元や揺れる小物に使えます。スプリングボーン系は評価順序を未定義のままにしがちですが、Weft はそれを決定的に固定するので、同じビルドとプラットフォームなら同じゆれがビット単位で再生されます。

アニメーションになじむ

毎フレームのテザーがそのままアニメーションブレンドです。シミュレーションは常にライブのアニメーションポーズに対して動き、それと張り合いません。ヘアは休息姿勢へ跳ね戻る代わりに、キーを打った Animator や Timeline の動きに追従でき、ブレンドシェイプや表情は、レンダラーが実際に見せているポーズをシミュレーションに渡します。

手持ちのアバターをそのまま

Weft が既存のリグを読み取り、セットアップ一式を提案します。

MMD と PMX

PMX 自動セットアップが、変換済みモデルのリジッドボディ、ジョイント、ボーンを読み取り、チェーン、コライダー、タッチゾーンを見直せる通常のコンポーネントとして提案します。物理を読み取るだけで、モデルはインポートしません。

VRM は任意で

薄い任意のアダプターが VRM アバターのスプリングボーンチェーンを読み取り、Weft のフロントエンドを組み立てます。VRM や UniVRM への依存はパッケージにありません。

ゼロから始めても

どんな Transform 階層でも動きます。ストランドを足し、ボディコライダーを自動フィットし、タッチゾーンをペイントして、再生するだけです。

VRChat クリエイター向け

VRChat へ持ち込む

Weft のソルバー自体は VRChat の中では動きませんし、これからも動きません。アバターのホワイトリストがアップロード時にカスタムコードを取り除くからです。ですが、できる範囲を PhysBone に焼き込む任意のアダプターがあり、Weft で作り込んだアバターは、ゼロから手作業で調整するよりずっと先の地点から始められます。

コライダーはそのまま書き出し

ボディ、突き、プロップのコライダーが、PhysBone の球・カプセルコライダーへ 1 対 1 で変換されます。推測ではなく幾何的な書き出しです。落下テストでは、焼き込んだコライダー表面が 5 ミクロン以内で一致しました。

チェーンは調整済みの出発点に

ヘアーとスカートのチェーンは、PhysBone の初期値より Weft の感触に近づくよう調整された PhysBone チェーンへ焼き込まれるので、一歩先から始められます。実際に作り込んだリグでは、焼き込んだヘアーもスカートも Weft 本来の動きに対して良好と評価されました。あとは、どの PhysBone チェーンとも同じように、目で見て仕上げます。

6.3 で調整、2022.3 で焼き込み

チェーンは Unity 6.3 のプロジェクトで調整し、小さなファイルに書き出して、2022.3 の VRChat プロジェクトで焼き込みます。作り込みのために古いエディターに縛られることはありません。

これはオーサリングの近道であって、Weft がそのまま動くわけではありません。スタイライズされたグラブ、メッシュのクロス、ソフトボディのボリュームは引き継がれず、焼き込んだチェーンはどれも、どの PhysBone とも同じように目で見て仕上げます。得られるのは、正確なコライダーの書き出しと、はるかに良い PhysBone の出発点です。アダプター自体はまだどの VPM リストにも公開されておらず、本体パッケージの近日公開とは別の話です。

共有空間のために

2 人のプレイヤーの間を渡っても生き残るタッチ。

1 枚のクロスを 2 つの手で。スクリプトのピアが自分のループで手を伸ばす間、あなたもつかめます。ピアがつかんでいる点を狙ってみてください。先着所有がそれをピアのものとして保ち、あなたのつかみをフラッシュで拒みます。

バイトを出し入れするだけ

タッチはトランスポート非依存のエンベロープにシリアライズされます。すでに使っているネットワークに渡すだけで、ソケットや RPC ライブラリは組み込まれていません。

2 人で 1 枚のスカート

2 体のアバターが同じクロスをつかめます。競合した点は先着所有で決着し、綱引きではなく決定的なタイブレークになります。

ズレを検知

相関キーがピア間でつかみを対応づけ、順序付きのチェックサムが 2 つのピアがずれた正確なフレームを知らせます。

あとで頭をなでる

タッチメッセージは小さく永続的です。友だちが次にログインしたときに受け取るなでなでを送れます。相手の同意ゾーンが許せば、の話です。

インポートから約 20 分で遊べる

ソルバーのコードは不要。コンポーネントとペイントだけです。

  1. 01

    パッケージをインポート

  2. 02

    ヘアストランドを追加

  3. 03

    ボディコライダーを自動フィット

  4. 04

    タッチゾーンをペイント

  5. 05

    再生して目で見て調整

MMD モデルをお持ちですか?PMX 自動セットアップが既存の物理を読み取り、リグ一式を提案します。

プレビュードキュメントを読む

本格的なエディターツールキット

Weft の大半は、ソルバーのコードを書くのではなく、Scene view でのクリックとペイントで作ります。

ワンクリックの Auto-Fit

Auto-Fit From Avatar がヒューマノイドリグを読み取り、腰、胴、腕、脚にボディコライダーを一度でフィットします。その後もすべてのカプセルは手で編集できます。

Scene view でペイント

タッチゾーン、ピンマスク、ボーンごとのテザーとリストアのウェイトをメッシュに直接ブラシで描けます。青から赤へのライブなヒートマップ付きで、左右対称のストロークにも対応します。

再生する前にプレビュー

Live Preview パネルが Scene view の中で衣服を重力で落ち着かせるので、Play mode に入る前に垂れ具合を確かめられます。

セットアップウィザード

PMX Auto-Setup が変換済みの MMD モデルからリグ一式を提案し、Sphere-Pack がメッシュからコライダーを詰め、Stiffness-Fit がドロップクリップを初期剛性へ読み取ります。

読み取れるギズモ

コライダーの種類ごとに Scene view で固有の色で描かれます。ボディカプセルはシアン、プロップはオレンジ、ポークは黄色。重なり合うツールもひと目で見分けられます。

prefab と Undo に安全

どのブラシもツールも prefab を意識し、Undo に対応するので、オーサリングがバージョン管理や手の慣れと衝突しません。

あらゆるパーツに専用インスペクター

Weft のどのコンポーネントにも、ひとつのバイオレットのテーマでそろえた平易なカスタムインスペクターがあります。Add Component メニューにカテゴリー分けされ、生のフィールドではなくツールチップと適切な範囲が付きます。同意モードはゾーンごとに言葉で設定でき、グラバーはつかむタッチゾーンを名前で選べます。

風・つつき・スプリングのエディター

シーンビューの専用エディターが、風ソースとつつきコライダーのギズモをソルバーが読むそのままの姿勢で描きます。バッチ調整ツールは soft、medium、firm と名付けたプロファイルをゆれスプリングに適用します。どれも Undo に対応します。

メニュー一つで開くウォークスルー

Weft/Open Walkthrough が、Unity の中から直接、手順を追った作り込みガイドを開きます。パッケージのフォルダーを掘る必要はありません。

要所で速い

計測した実機を公開し、マシンも手法も全ラングも包み隠さず載せています。

0.68 ms

3,000 頂点の衣装 1 点を 90 fps の VR フレームで

<10%

フルアバター 1 体で VR フレームのこれだけ、しかもほぼ線形にスケール

0 bytes

1 フレームあたりの確保量、厳格なテストゲートで担保

いちばん安価な層。純粋なフォワードキネマティクスのドライブでゆれる群衆で、物理は一切ありません。なでるように横切ると突風が起こります。ソルバーではこれくらいの群衆がまるごと 1 回の Burst 呼び出しに収まります。

宣伝ではなく実測

性能ベースラインの全文を見る

フレームバジェットに占める割合、メモリ、計測方法の全文、そして手が触れているときに群れがどれだけかかるか。

静止した 8 体の群れでこれだけ速い

ワードローブのすべて

1 つのソルバーがヘア、衣服、そして柔らかいものすべてをカバーし、アバターの外、シーンにまで届きます。クロスは本物の Rigidbody を押し返しもするので、触れたカーテンがボールを小突けます。

ガーメントとヘア

ヘアストランドとグループ プロキシメッシュを使うメッシュクロス 両手でのつかみ 重なる衣服のドレープ セルフコリジョンの厚み プロップと指のコライダー ソフトボディ ソフトボディグラバー 形状メモリー復元 耳やしっぽ向けのアクティブストランド ロッドのねじれとトーション 単一ボーンのゆれスプリング アニメーションポーズ追従 頂点ごとの追従ウェイト

ソーシャルとネットワーク

ゾーンごとの同意 リアクションフック ゾーン別つつき感知 タッチメッセージ 共有クロス サウンドフック

スタイライズと手ざわり

フィールプリセット テンションのしわマップ 肌の締めつけふくらみ しずくと濡れ 異方性のフォールドヒンジ アンビエントウィンド 振り付けされた風

パフォーマンスとパイプライン

FK スウェイの群衆層 プロキシメッシュ間引き 落ち着いたらスリープ PMX 自動セットアップ ランタイムのスケルトン再バインド IK ヒントで手足が追従 独自スキニングの持ち込み スフィアパックのコライダー 編集モードのライブプレビュー クリップから剛性フィット URP と HDRP 頑丈なメッシュインポート

アバターの先へ

草や葉のゆれ バナーと旗 プレイヤーに反応する植栽 吊り下げの小物と看板 クロスから Rigidbody への反力
実験的、オプトイン

決定性の先にあるレーン

Weft は既定で決定的です。ビット単位の再生よりも生の物理への反応を選びたいワールドのために、その保証と引き換えに動いているシーンへ手を伸ばすオプトインのレーンがあります。今日から使え、既定ではオフで、オフのままのワールドは、それを一度も持たなかったワールドとバイト単位で同一です。

双方向の Rigidbody 連成

動いている Rigidbody の生の速度と質量をソルブへ直接読み込み、触れた布へ本物の運動量を渡し、布も押し返します。布が Rigidbody を小突けても動きを感じ取れない、決定的な経路の片方向リアクションの一歩先です。

ライブなシーンクエリ

割り当てたコライダーだけでなく、衣服に重なる Unity コライダーとも衝突させられます。教えていないテーブルや棚、床の上にも載せられます。

どちらも Unity の物理から生の状態を読みます。それは同一に再生される保証がないため、どちらかをオンにするとそのワールドだけビット単位の再生を手放し、それ以外は何も変わりません。シミュレーションはそのまま動きます。このトレードオフは実測で安定しており、未完成ではありません。ワールドごとに決定性かライブな反応かを、意図して選べます。

Weft は機能が出そろい、リリースへ向けた最終調整の段階です。近日公開なのは機能ではなくストアの掲載です。時期はまだ未定で、公開されたその日に購入リンクがここに掲載されます。

Weft は有料の Unity アセットになる予定です。買い切りで、価格は公開時に決まります。