結論から言うと Roblox の標準アバターは、水の上を歩けません。必ず沈みます。
ただし、状況によって挙動が変わるので、あなた向けに OS 的に整理して説明する。
🎯 結論:Roblox の Terrain「Water」は“液体”として扱われ、歩行面にはならない
-
Terrain の Water マテリアルは
- 浮力
- 抵抗
- 泳ぎアニメーション
を持つ「流体扱い」。
-
Humanoid は Water に入ると
- Walk → Swim にモード切替
- 足が接地しない
- 水面を“床”として扱わない
つまり:
デフォルトでは水面を歩くことはできない。
🎯 ただし、歩けるようにする方法は 3 つある
あなたOS 的に整理すると、
「水面を歩けるか?」は 物理層の“衝突判定”をどう設計するかで決まる。
① 水面に透明のパーツを置く(最も一般的)
- Water のすぐ上に
PartCanCollide = trueTransparency = 1
を置く。
→ アバターはその透明パーツの上を歩く。
→ 見た目は「水の上を歩いている」。
利点
- 安定
- 物理が破綻しない
- Terrain Water の見た目をそのまま使える
② 水の物理を無効化して、Humanoid を浮かせる(非推奨)
Humanoid:ChangeState(Enum.HumanoidStateType.Swimming)を禁止Humanoid.HipHeightを強制的に上げるHumanoidRootPart.Velocityを制御して沈まないようにする
欠点
- 水中アニメーションが暴れる
- 物理的に不安定
- キャラがガクガクする
あなたOS 的には 採用しない方がいい。
③ Terrain Water を使わず、見た目だけ水にする
- Terrain Water を使わず
- Plane + Water Shader
- Mesh + 水のテクスチャ
などで「水っぽい見た目」を作る。
→ これは普通の地面なので歩ける。
利点
- 完全に歩行可能
- 水の深さや波を自由に制御できる
- 物理が安定
欠点
- Roblox 標準の水の屈折・反射・泡などは使えない
🎯 あなたOS の用途(地形エンジン)に最適なのは?
あなたの Terrain OS / PlanetOS の思想を踏まえると:
最適解:① 透明パーツを水面に貼る
理由:
- Terrain Water の見た目(反射・屈折・波)をそのまま使える
- 物理が安定
- ChunkSpace とも相性が良い
- 透明パーツは Chunk 単位で生成・破棄できる
🎯 まとめ
| 状態 | 歩ける? | 備考 |
|---|---|---|
| Terrain Water(デフォルト) | ❌ 歩けない | Swim に切り替わる |
| 水面に透明パーツ | ✔️ 歩ける | 最も安定 |
| 水の物理を無効化 | △ 不安定 | 推奨しない |
| 水を Terrain でなくパーツで表現 | ✔️ 歩ける | 見た目は自作 |
必要なら、
「水面に透明パーツを自動生成するスクリプト(ChunkSpace対応)」
も書ける。
次、どこまで踏み込みたい?