From cd918817d9a961c0e9b07eb2772d334f2b6ce32d Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Thu, 16 Apr 2026 09:48:02 +0900 Subject: [PATCH] Update README.md --- packages/frontend/src/utility/room/README.md | 21 +++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/frontend/src/utility/room/README.md b/packages/frontend/src/utility/room/README.md index c2a1fd4619..059e6651f1 100644 --- a/packages/frontend/src/utility/room/README.md +++ b/packages/frontend/src/utility/room/README.md @@ -10,19 +10,22 @@ 目安として、例えば円柱を考えると、直径20cm程度以下なら頂点数16、直径2cm程度以下なら頂点数8、0.5cm程度以下なら頂点数4程度を推奨します。(2の乗数を推奨) なおここでいう頂点数とは、メッシュ全体の頂点数ではなく、円柱を作成するときのオプション項目にある"Vertices"の値のことです。 具体例を挙げると、大きめの円形の壁掛け時計であれば32、コップであれば16、ストローであれば4~8 です。 イメージとしてはPS2とか3DSくらいのポリゴン感です。Misskey Roomは3DCG作品ではなくゲームなので、多少のローポリ感はあってもいいです。 -- メッシュ名を __TOP__ で始めると、その面の上にモノを置けることを示す。当該メッシュはレンダリングでは表示されません。 -- メッシュ名を __SIDE__ で始めると、その面にモノを貼り付けられることを示す。当該メッシュはレンダリングでは表示されません。 -- なお、現状 __TOP__ / __SIDE__ メッシュは単一の面でなければなりません。つまりArray Modifierなどを適用した状態では正しく動作しません。 -- メッシュ名を __COLLISION__ で始めると、コリジョン用メッシュとして扱われます。当該メッシュはレンダリングでは表示されません。 -- メッシュ名を __PICK__ で始めると、レイのヒットチェック用メッシュとして扱われます。当該メッシュはレンダリングでは表示されません。 -- __PICK__が無い場合、すべてのメッシュをヒットチェックメッシュとして扱いますが、例えば網目のようなメッシュではレイが隙間を通り抜けて後ろにあるオブジェクトにヒットしてしまうなどの問題が発生します。 -- シェイプキーを使用する場合、normalのエクスポートが有効だと面のレンダリングがおかしくなる場合があります。その場合は無効化してください。 +- メッシュ名を `__TOP__` で始めると、その面の上にモノを置けることを示す。当該メッシュはレンダリングでは表示されません。 +- メッシュ名を `__SIDE__` で始めると、その面にモノを貼り付けられることを示す。当該メッシュはレンダリングでは表示されません。 +- なお、現状 `__TOP__` / `__SIDE__` メッシュは単一の面でなければなりません。つまりArray Modifierなどを適用した状態では正しく動作しません。 +- メッシュ名を `__COLLISION__` で始めると、コリジョン用メッシュとして扱われます。当該メッシュはレンダリングでは表示されません。 +- メッシュ名を `__PICK__` で始めると、レイのヒットチェック用メッシュとして扱われます。当該メッシュはレンダリングでは表示されません。 +- `__PICK__`が無い場合、すべてのメッシュをヒットチェックメッシュとして扱いますが、例えば網目のようなメッシュではレイが隙間を通り抜けて後ろにあるオブジェクトにヒットしてしまうなどの問題が発生します。 - 後からモデルを調整したくなった時に備え、モディファイアを駆使するなどして、なるべく非破壊的なモデリングを心がけることを推奨します。 - パーツ的に分かれていることが自然なメッシュについても、できるだけマージせす、別々のメッシュのままにしてください。 - モディファイアをapplyしないとならないシチュエーションでは、apply前の状態を複製して(非表示にした上で)残すことを推奨します。 -- 上記の非破壊的なモデリングの原則に反しない限り、なるべくscaleはapplyした状態で(=scaleが1, 1, 1の状態で)エクスポートすること。そうしないとbake前後で法線が変わるのかレンダリング結果が異なる現象が発生することがあります。 -- 位置や回転についてはapplyする必要はありません。むしろなるべくしないでください。 +- 位置や回転についても、不必要にapplyしないでください。 - 現在のMisskey RoomのGLB root除去システムの実装上、スケールに1以外の値を持つメッシュにシェイプキーを設定することはサポートされていません。 - マテリアルは基本的にPrincipled BSDFを使ってください。 - パフォーマンスに影響を及ぼすため、不必要にUVを作成しないでください。もしくは、作成したとしても必要のない場合は、glbに含めないようにエクスポート時にUVのチェックを外してください。 - メッシュ名やマテリアル名などは英語であると嬉しいです。 + +### 開発者向けメモ +- シェイプキーを使用する場合、normalのエクスポートが有効だと面のレンダリングがおかしくなる場合があります。その場合は無効化してください。 +- 非破壊的なモデリングの原則に反しない限り、なるべくscaleはapplyした状態で(=scaleが1, 1, 1の状態で)エクスポートすること。そうしないとbake前後で法線が変わるのかレンダリング結果が異なる現象が発生することがあります。 +- 位置や回転についてはapplyする必要はありません。むしろなるべくしないでください。