Files
agame/world/ocean/island_mesa.tres
T
2026-09-23 17:37:07 +08:00

21 lines
1.1 KiB
Plaintext

[gd_resource type="ShaderMaterial" load_steps=2 format=3]
[ext_resource type="Shader" path="res://world/ocean/island.gdshader" id="1_island"]
; 主场景用的「台地岛」材质:与 ocean_demo 那座锥形岛共用同一个着色器,只改形状参数。
;
; 关键的一组取值(相对水面 y=0,而节点本身摆在 y=-1.5,所以平顶落在世界 y=0):
; island_height = 1.5 平顶高出水面 1.5 米 —— 正好等于主场景 Ground 碰撞盒的顶面高度
; plateau = 0.72 平顶半径 = 40 * 0.72 ≈ 28.8 米。地面碰撞盒放大到 58×58(半宽 29)
; 就是为了和这个平顶对齐,否则人会走到平顶外面掉下去
; detail_strength = 0.25 起伏只有 ±12 厘米。碰撞是平板,起伏大了会看见脚陷进坡里
; dip_depth = 14 岛外裙边扎到水下 14 米,从侧面看不到平面边缘
[resource]
shader = ExtResource("1_island")
shader_parameter/island_radius = 40.0
shader_parameter/island_height = 1.5
shader_parameter/plateau = 0.72
shader_parameter/profile_power = 1.60
shader_parameter/dip_depth = 14.0
shader_parameter/detail_strength = 0.25